หลังจากสองเดือนของการพัฒนา Linus Torvalds
โหมด 'การหนีบการใช้งาน' ที่เพิ่มการโต้ตอบสำหรับ CPU ที่ไม่สมมาตร, การเรียกระบบ pidfd_open, ความสามารถในการใช้ที่อยู่ IPv4 จากซับเน็ต 0.0.0.0/8, ความเป็นไปได้ของการเร่งด้วยฮาร์ดแวร์ nftables, การสนับสนุน HDR ในระบบย่อย DRM, การรวม ACRN ไฮเปอร์ไวเซอร์
В
การปรับให้เหมาะสมที่สุดนำไปสู่ความจริงที่ว่า เนื่องจากกิจกรรมของดิสก์ลดลง เอนโทรปีสำหรับตัวสร้างตัวเลขสุ่ม getrandom() เริ่มสะสมช้าลง และในการกำหนดค่าบางอย่าง ภายใต้สถานการณ์บางอย่าง อาจสังเกตเห็นการค้างระหว่างการโหลดจนกระทั่งพูลเอนโทรปีถูก เต็มไปด้วย เนื่องจากการปรับให้เหมาะสมนั้นมีประโยชน์จริง ๆ จึงมีการอภิปรายกันในหมู่นักพัฒนาโดยเสนอให้แก้ไขปัญหาโดยการปิดการใช้งานโหมดการบล็อกเริ่มต้นของการเรียก getrandom() และเพิ่มแฟล็กเผื่อเลือกเพื่อรอเอนโทรปี แต่การเปลี่ยนแปลงดังกล่าวจะส่งผลกระทบต่อ คุณภาพของตัวเลขสุ่มในระยะเริ่มต้นของการโหลด
เวอร์ชันใหม่ประกอบด้วยการแก้ไข 15794 รายการจากนักพัฒนา 1974 ราย
ขนาดแพตช์ - 92 MB (การเปลี่ยนแปลงที่ได้รับผลกระทบ 13986 ไฟล์, เพิ่มโค้ด 258419 บรรทัด,
ลบ 599137 แถวแล้ว) ประมาณ 39% ของทั้งหมดนำเสนอใน 5.3
การเปลี่ยนแปลงเกี่ยวข้องกับไดรเวอร์อุปกรณ์ ประมาณ 12% ของการเปลี่ยนแปลงคือ
ทัศนคติต่อการอัปเดตโค้ดเฉพาะสำหรับสถาปัตยกรรมฮาร์ดแวร์ 11%
เกี่ยวข้องกับสแต็กเครือข่าย 3% สำหรับระบบไฟล์ และ 3% สำหรับภายใน
ระบบย่อยเคอร์เนล
- บริการหน่วยความจำและระบบ
- การพัฒนาฟังก์ชัน 'pidfd' อย่างต่อเนื่องเพื่อช่วยจัดการกับสถานการณ์การนำ PID มาใช้ซ้ำ (pidfd เชื่อมโยงกับกระบวนการเฉพาะและไม่มีการเปลี่ยนแปลง ในขณะที่ PID สามารถเชื่อมโยงกับกระบวนการอื่นได้หลังจากที่กระบวนการปัจจุบันที่เกี่ยวข้องกับ PID นั้นสิ้นสุดลง) ก่อนหน้านี้มันถูกเพิ่มเข้าไปในเคอร์เนล
การเรียกของระบบ pidfd_send_signal() และแฟล็ก CLONE_PIDFD ในการเรียก clone() เพื่อรับ pidfd สำหรับใช้ใน idfd_send_signal() การใช้ clone() กับแฟล็ก CLONE_PIDFD อาจทำให้เกิดปัญหากับผู้จัดการฝ่ายบริการหรือระบบการยกเลิกกำลังหน่วยความจำไม่เพียงพอของแพลตฟอร์ม Android ในกรณีนี้ จะใช้การเรียก fork() หรือ clone() โดยไม่มี CLONE_PIDFD เพื่อเริ่มต้นKernel 5.3 แนะนำการเรียกของระบบ
pidfd_open() ซึ่งช่วยให้คุณได้รับ pidfd ที่ตรวจสอบได้สำหรับกระบวนการที่มีอยู่โดยพลการซึ่งไม่ได้สร้างขึ้นโดยการเรียก clone() ด้วยแฟล็ก CLONE_PIDFD เพิ่มการสนับสนุนสำหรับการสำรวจ pidfd โดยใช้ poll() และ epoll() ซึ่งช่วยให้ผู้จัดการกระบวนการติดตามการยุติกระบวนการตามอำเภอใจโดยไม่ต้องกลัวสภาพการแข่งขันหาก PID ถูกกำหนดให้กับกระบวนการใหม่ กลไกในการแจ้งเมื่อกระบวนการที่เกี่ยวข้องกับ pidfd สิ้นสุดลงจะคล้ายกับการแจ้งเตือนเมื่อกระบวนการย่อยสิ้นสุดลง - เพิ่มการรองรับกลไกการปักหมุดโหลดลงในตัวกำหนดเวลางาน (
การหนีบการใช้งาน ) ช่วยให้คุณสามารถยึดตามช่วงความถี่ต่ำสุดหรือสูงสุดได้ ขึ้นอยู่กับงานที่ใช้งานบน CPU กลไกที่นำเสนอจะเร่งความเร็วงานที่ส่งผลโดยตรงต่อคุณภาพของประสบการณ์ผู้ใช้โดยการรันงานเหล่านี้อย่างน้อยที่สุดที่ความถี่ล่างสุดของความถี่ "ที่ร้องขอ" งานที่มีลำดับความสำคัญต่ำที่ไม่ส่งผลกระทบต่องานของผู้ใช้จะเริ่มขึ้นโดยใช้ขีดจำกัดบนของความถี่ "อนุญาต" ขีดจำกัดถูกตั้งค่าผ่านแอ็ตทริบิวต์ sched_uclamp_util_min และ sched_uclamp_util_max ในการเรียกระบบ sched_setattr() - เพิ่มการรองรับเทคโนโลยีการจัดการพลังงาน
เลือกความเร็วของ Intel มีอยู่ในเซิร์ฟเวอร์บางรุ่นที่ใช้โปรเซสเซอร์ Intel Xeon เทคโนโลยีนี้ช่วยให้คุณสามารถตั้งค่าประสิทธิภาพและการตั้งค่าทรูพุตของพาร์ติชันสำหรับคอร์ CPU ที่แตกต่างกัน ซึ่งช่วยให้คุณจัดลำดับความสำคัญของประสิทธิภาพสำหรับงานที่ทำบนคอร์บางตัว โดยเสียสละประสิทธิภาพบนคอร์อื่น ๆ - กระบวนการในพื้นที่ผู้ใช้
ได้รับ ความสามารถในการรอช่วงเวลาสั้น ๆ โดยไม่ต้องใช้ลูปโดยใช้คำสั่ง umwait คำสั่งนี้พร้อมกับคำสั่ง umonitor และ tpause จะมีให้ในชิป "Tremont" ที่กำลังจะมาถึงของ Intel และจะช่วยให้เกิดความล่าช้าที่ประหยัดพลังงานและไม่ส่งผลกระทบต่อประสิทธิภาพของเธรดอื่นเมื่อใช้ Hyper Threading - สำหรับสถาปัตยกรรม RISC-V มีการเพิ่มการรองรับเพจหน่วยความจำขนาดใหญ่
- กลไกการติดตาม kprobes ได้เพิ่มความสามารถในการยกเลิกการอ้างอิงตัวชี้เคอร์เนลไปยังพื้นที่ผู้ใช้ ซึ่งสามารถใช้เพื่อ เช่น เพื่อประเมินเนื้อหาของโครงสร้างที่ส่งไปยังการเรียกของระบบ เพิ่มความสามารถในการติดตั้งการตรวจสอบที่ขั้นตอนการบูตแล้ว
- เพิ่มตัวเลือก PREEMPT_RT ให้กับไฟล์กำหนดค่าสำหรับการทำงานแบบเรียลไทม์ ยังไม่ได้เพิ่มโค้ดเพื่อรองรับโหมดเรียลไทม์ลงในเคอร์เนล แต่การปรากฏตัวของตัวเลือกถือเป็นสัญญาณที่ดีว่ามหากาพย์ในระยะยาว
บูรณาการ แพตช์ยึดตามเวลาจริงใกล้จะเสร็จสมบูรณ์แล้ว - เพิ่มการเรียกระบบ clone3() พร้อมการใช้งานอินเทอร์เฟซ clone() เวอร์ชันที่ขยายได้มากขึ้น ซึ่งช่วยให้ระบุจำนวนแฟล็กได้มากขึ้น
- เพิ่มตัวจัดการ bpf_send_signal() ซึ่งช่วยให้โปรแกรม BPF สามารถส่งสัญญาณไปยังกระบวนการที่กำหนดเองได้
- สำหรับเหตุการณ์ที่สมบูรณ์แบบในสภาพแวดล้อมไฮเปอร์ไวเซอร์ KVM มีการเพิ่มกลไกการกรองเหตุการณ์ใหม่ ช่วยให้ผู้ดูแลระบบสามารถกำหนดประเภทของเหตุการณ์ที่ได้รับอนุญาตหรือไม่ได้รับอนุญาตสำหรับการตรวจสอบบนฝั่งระบบแขก
- เพิ่มความสามารถในการประมวลผลโปรแกรมด้วยลูปลงในกลไกการตรวจสอบแอปพลิเคชัน eBPF หากการดำเนินการของลูปถูกจำกัดและไม่สามารถนำไปสู่การเกินขีดจำกัดจำนวนคำสั่งสูงสุดได้
- การพัฒนาฟังก์ชัน 'pidfd' อย่างต่อเนื่องเพื่อช่วยจัดการกับสถานการณ์การนำ PID มาใช้ซ้ำ (pidfd เชื่อมโยงกับกระบวนการเฉพาะและไม่มีการเปลี่ยนแปลง ในขณะที่ PID สามารถเชื่อมโยงกับกระบวนการอื่นได้หลังจากที่กระบวนการปัจจุบันที่เกี่ยวข้องกับ PID นั้นสิ้นสุดลง) ก่อนหน้านี้มันถูกเพิ่มเข้าไปในเคอร์เนล
- ระบบย่อยของดิสก์ I/O และระบบไฟล์
- ขณะนี้ระบบไฟล์ XFS รองรับการบายพาสไอโหนดแบบมัลติเธรด (เช่น เมื่อตรวจสอบโควต้า) มีการเพิ่ม ioctls BULKSTAT และ INUMBERS ใหม่ ซึ่งให้การเข้าถึงคุณลักษณะที่ปรากฏในรูปแบบ FS รุ่นที่ห้า เช่น เวลาเกิดของไอโหนด และความสามารถในการตั้งค่าพารามิเตอร์ BULKSTAT และ INUMBERS สำหรับแต่ละกลุ่ม AG (กลุ่มการจัดสรร)
- ใน Ext4
เพิ่มการสนับสนุน ช่องว่างในไดเร็กทอรี (บล็อกที่ไม่ได้เชื่อมโยง)
มีการประมวลผลให้ ตั้งค่าสถานะ "i" (ไม่เปลี่ยนรูป) สำหรับไฟล์ที่เปิดอยู่ (ห้ามเขียนในสถานการณ์หากตั้งค่าสถานะในเวลาที่ไฟล์เปิดอยู่แล้ว) - Btrfs ให้คำจำกัดความของการใช้งาน crc32c อย่างรวดเร็วบนสถาปัตยกรรมทั้งหมด
- ใน CIFS รหัสสำหรับการสนับสนุน smbdirect ได้ถูกลบออกเนื่องจากเป็นการพัฒนาแบบทดลอง SMB3 เพิ่มความสามารถในการใช้อัลกอริธึมการเข้ารหัสในโหมด GCM เพิ่มตัวเลือกการเมานต์ใหม่เพื่อแยกพารามิเตอร์โหมดจากรายการ ACE (Access Control Entry) เพิ่มประสิทธิภาพของการโทร open();
- เพิ่มตัวเลือกให้กับ F2FS เพื่อจำกัดตัวรวบรวมขยะเมื่อทำงานในโหมด Checkpoint=disable เพิ่ม ioctl เพื่อลบช่วงบล็อกออกจาก F2FS ช่วยให้สามารถปรับขนาดพาร์ติชันได้ทันที เพิ่มความสามารถในการวางไฟล์สลับใน F2FS เพื่อให้ I/O โดยตรง เพิ่มการสนับสนุนสำหรับการปักหมุดไฟล์และการจัดสรรบล็อกสำหรับไฟล์ที่คล้ายกันสำหรับผู้ใช้ทุกคน
- เพิ่มการสนับสนุนสำหรับการดำเนินการแบบอะซิงโครนัส sendmsg() และ recvmsg() ไปยังอินเทอร์เฟซสำหรับอินพุต/เอาท์พุตแบบอะซิงโครนัส io_uring;
- เพิ่มการสนับสนุนการบีบอัดโดยใช้อัลกอริธึม zstd และความสามารถในการตรวจสอบอิมเมจ FS ที่ลงนามแล้วลงในระบบไฟล์ UBIFS
- ตอนนี้ Ceph FS รองรับป้ายกำกับความปลอดภัย SELinux สำหรับไฟล์แล้ว
- สำหรับ NFSv4 มีการใช้ตัวเลือกการเมาต์ใหม่ “nconnect=” ซึ่งกำหนดจำนวนการเชื่อมต่อที่สร้างกับเซิร์ฟเวอร์ การรับส่งข้อมูลระหว่างการเชื่อมต่อเหล่านี้จะถูกกระจายโดยใช้การทำโหลดบาลานซ์ นอกจากนี้ เซิร์ฟเวอร์ NFSv4 จะสร้างไดเร็กทอรี /proc/fs/nfsd/clients พร้อมข้อมูลเกี่ยวกับไคลเอ็นต์ปัจจุบัน รวมถึงข้อมูลเกี่ยวกับไฟล์ที่พวกเขาเปิด
- การจำลองเสมือนและความปลอดภัย
- เคอร์เนลมีไฮเปอร์ไวเซอร์สำหรับอุปกรณ์ฝังตัว
ศอ.บต ซึ่งเขียนขึ้นโดยคำนึงถึงความพร้อมสำหรับงานแบบเรียลไทม์และความเหมาะสมสำหรับการใช้งานในระบบที่มีความสำคัญต่อภารกิจ ACRN ให้ค่าใช้จ่ายน้อยที่สุด รับประกันเวลาแฝงต่ำ และการตอบสนองที่เพียงพอเมื่อโต้ตอบกับอุปกรณ์ รองรับการจำลองเสมือนของทรัพยากร CPU, I/O, ระบบย่อยเครือข่าย, การทำงานของกราฟิกและเสียง ACRN สามารถใช้รันเครื่องเสมือนแบบแยกหลายเครื่องในหน่วยควบคุมอิเล็กทรอนิกส์ แดชบอร์ด ระบบข้อมูลยานยนต์ อุปกรณ์ IoT สำหรับผู้บริโภค และเทคโนโลยีฝังตัวอื่นๆ - ในโหมดผู้ใช้ Linux
เพิ่ม โหมดการเดินทางข้ามเวลา ซึ่งช่วยให้คุณชะลอหรือเร่งความเร็วเวลาในสภาพแวดล้อม UML เสมือน เพื่อให้แก้ไขข้อบกพร่องโค้ดที่เกี่ยวข้องกับเวลาได้ง่ายขึ้น นอกจากนี้ยังเพิ่มพารามิเตอร์อีกด้วย
การเดินทางข้ามเวลาเริ่มต้น ซึ่งอนุญาตให้นาฬิกาของระบบเริ่มต้นจากช่วงเวลาที่ระบุในรูปแบบยุค - เมื่อระบุตัวเลือกบรรทัดคำสั่งเคอร์เนลใหม่ “init_on_alloc” และ “init_on_free” จะถูกเปิดใช้งาน การทำให้เป็นศูนย์ของพื้นที่หน่วยความจำที่จัดสรรและว่างจะถูกเปิดใช้งาน (เติมด้วยศูนย์สำหรับ malloc และว่าง) ซึ่งช่วยให้มีความปลอดภัยเพิ่มขึ้นเนื่องจากค่าใช้จ่ายในการเริ่มต้นเพิ่มเติม
- เพิ่มไดรเวอร์ใหม่แล้ว
virtio-iommu ด้วยการใช้งานอุปกรณ์พาราเวอร์ชวลไลซ์ที่ช่วยให้คุณสามารถส่งคำขอ IOMMU เช่น ATTACH, DETACH, MAP และ UNMAP ผ่านการขนส่ง virtio โดยไม่ต้องจำลองตารางเพจหน่วยความจำ - เพิ่มไดรเวอร์ใหม่แล้ว
virtio-pmem แสดงถึงการเข้าถึงอุปกรณ์จัดเก็บข้อมูลที่แมปกับพื้นที่ที่อยู่ทางกายภาพ เช่น NVDIMM - ใช้ความสามารถในการแนบคีย์การเข้ารหัสกับผู้ใช้หรือเนมสเปซเครือข่าย (คีย์ไม่สามารถเข้าถึงได้ภายนอกเนมสเปซที่เลือก) รวมถึงปกป้องคีย์โดยใช้ ACL
- ไปยังระบบย่อยการเข้ารหัสลับ
เพิ่ม รองรับอัลกอริธึมการแฮชแบบไม่เข้ารหัสที่รวดเร็วมากxxhash ความเร็วซึ่งขึ้นอยู่กับประสิทธิภาพของหน่วยความจำ
- เคอร์เนลมีไฮเปอร์ไวเซอร์สำหรับอุปกรณ์ฝังตัว
- ระบบย่อยของเครือข่าย
- เปิดใช้งานการประมวลผลที่อยู่ IPv4 ในช่วง 0.0.0.0/8 ซึ่งก่อนหน้านี้ไม่สามารถใช้งานได้ การแนะนำเครือข่ายย่อยนี้
จะอนุญาต แจกจ่ายที่อยู่ IPv16 อีก 4 ล้านที่อยู่ - ใน Netfilter สำหรับ nftables
เพิ่ม รองรับกลไกการเร่งความเร็วด้วยฮาร์ดแวร์สำหรับการกรองแพ็กเก็ตผ่านการใช้ไดรเวอร์ที่เพิ่มเข้ามาAPI บล็อกการไหล . ตารางกฎทั้งหมดที่มีเชนทั้งหมดสามารถวางได้ที่ด้านข้างของอะแดปเตอร์เครือข่าย การเปิดใช้งานทำได้โดยการผูกแฟล็ก NFT_TABLE_F_HW เข้ากับตาราง รองรับเมตาดาต้าโปรโตคอลเลเยอร์ 3 และเลเยอร์ 4 แบบง่าย การยอมรับ/ปฏิเสธการดำเนินการ การแมปตาม IP และพอร์ตเครือข่ายผู้ส่ง/ผู้รับ และประเภทโปรโตคอล -
เพิ่ม รองรับการติดตามการเชื่อมต่อในตัวสำหรับบริดจ์เครือข่ายซึ่งไม่จำเป็นต้องใช้เลเยอร์จำลอง br_netfilter - ใน nf_tables
เพิ่ม รองรับโมดูล SYNPROXY ซึ่งจำลองการทำงานที่คล้ายกันจาก iptables และยังมีการนำความสามารถในการตรวจสอบกฎสำหรับตัวเลือกแต่ละตัวในส่วนหัว IPv4 มาใช้ด้วย - เพิ่มความสามารถในการแนบโปรแกรม BPF เข้ากับการเรียกของระบบ setsockopt() และ getsockopt() ซึ่งตัวอย่างเช่น อนุญาตให้คุณแนบตัวจัดการการเข้าถึงของคุณเองเข้ากับการโทรเหล่านี้ นอกจากนี้ยังมีการเพิ่มจุดโทรใหม่ (ขอสาย) ซึ่งคุณสามารถจัดระเบียบการโทรไปยังโปรแกรม BPF ได้หนึ่งครั้งสำหรับแต่ละช่วงเวลา RTT (เวลาไปกลับ เวลา ping)
- สำหรับ IPv4 และ IPv6
เพิ่ม กลไกการจัดเก็บข้อมูลการกำหนดเส้นทาง Nexthop ใหม่ที่มีจุดมุ่งหมายเพื่อเพิ่มความสามารถในการปรับขนาดของตารางเส้นทาง การทดสอบแสดงให้เห็นว่าเมื่อใช้ระบบใหม่ ชุดเส้นทาง 743 เส้นทางถูกโหลดเข้าสู่เคอร์เนลในเวลาเพียง 4.3 วินาที - สำหรับบลูทูธ
นำไปใช้ ฟังก์ชั่นที่จำเป็นเพื่อรองรับ LE ping;
- เปิดใช้งานการประมวลผลที่อยู่ IPv4 ในช่วง 0.0.0.0/8 ซึ่งก่อนหน้านี้ไม่สามารถใช้งานได้ การแนะนำเครือข่ายย่อยนี้
- Оборудование
-
เพิ่ม รองรับโปรเซสเซอร์ที่รองรับ x86 ของบริษัทจ้าวซิน ซึ่งพัฒนาขึ้นจากโครงการร่วมระหว่าง VIA Technologies และเทศบาลนครเซี่ยงไฮ้ ตระกูล CPU ZX สร้างขึ้นบนสถาปัตยกรรม x86-64 Isaiah เพื่อพัฒนาเทคโนโลยีอย่างต่อเนื่องเวีย เซนทอร์ ; - ระบบย่อย DRM (Direct Rendering Manager) รวมถึงไดรเวอร์กราฟิก amdgpu และ i915 ได้เพิ่มการรองรับสำหรับการแยกวิเคราะห์ ประมวลผล และส่งข้อมูลเมตา HDR (ช่วงไดนามิกสูง) ผ่านทางพอร์ต HDMI ทำให้สามารถใช้แผง HDR และหน้าจอที่มีความสามารถในการ แสดงช่วงความสว่างเพิ่มเติม ;
- ไดรเวอร์ amdgpu ได้เพิ่มการรองรับเบื้องต้นสำหรับ AMD NAVI GPU (RX5700) ซึ่งรวมถึงไดรเวอร์พื้นฐาน, รหัสการโต้ตอบหน้าจอ (DCN2), GFX และการสนับสนุนการคำนวณ (GFX10)
SDMA 5 (System DMA0), การจัดการพลังงานและตัวเข้ารหัส/ตัวถอดรหัสมัลติมีเดีย (VCN2) amdgpu ยังปรับปรุงการรองรับการ์ดที่ใช้ GPU Vega12 และ Vega20 ซึ่งมีการเพิ่มหน่วยความจำและความสามารถในการจัดการพลังงานเพิ่มเติม - เพิ่มการรองรับการ์ดที่ใช้ VegaM GPU ให้กับไดรเวอร์ amdkfd (สำหรับ GPU แยก เช่น Fiji, Tonga, Polaris)
- ในไดรเวอร์ DRM สำหรับการ์ดวิดีโอ Intel สำหรับชิป Icelake
ดำเนินการ โหมดแก้ไขแกมมาแบบหลายส่วนใหม่ เพิ่มความสามารถในการส่งออกผ่าน DisplayPort ในรูปแบบ YCbCr4:2:0 เพิ่มเฟิร์มแวร์ใหม่แล้วกูซี สำหรับ SKL, BXT, KBL, GLK และ ICL ความสามารถในการปิดหน้าจอในโหมดอะซิงโครนัสได้ถูกนำมาใช้แล้วเพิ่ม รองรับการบันทึกและกู้คืนบริบทการเรนเดอร์สำหรับชิป Ironlake (gen5) และ gen4 (Broadwater - Cantiga) ซึ่งช่วยให้คุณกู้คืนสถานะ GPU จากพื้นที่ผู้ใช้เมื่อย้ายจากการดำเนินการชุดหนึ่งไปยังอีกชุดหนึ่ง - ไดรเวอร์ Nouveau ให้การตรวจจับชิปเซ็ต NVIDIA Turing TU116
- ความสามารถของไดรเวอร์ DRM/KMS สำหรับตัวเร่งความเร็วหน้าจอ ARM Komeda (Mali D71) ได้รับการขยาย รองรับการปรับขนาด การแยก/รวมเลเยอร์ การหมุน การเขียนแบบเลื่อนออกไป AFBC, SMMU และรูปแบบการเข้ารหัสสี Y0L2, P010, YUV420_8/10BIT มี ถูกเพิ่ม;
- ไดรเวอร์ MSM เพิ่มการรองรับซีรีส์ A540 GPU Adreno ที่ใช้ในโปรเซสเซอร์ Qualcomm รวมถึงการรองรับคอนโทรลเลอร์ MSM8998 DSI สำหรับ Snapdragon 835
- เพิ่มไดรเวอร์สำหรับแผง LCD Samsung S6E63M0, Armadeus ST0700, EDT ETM0430G0DH6, OSD101T2045-53TS,
Evervision VGG804821, FriendlyELEC HD702E, KOE tx14d24vm1bpa, TFC S9700RTWV43TR-01B, EDT ET035012DM6 และ VXT VL050-8048NT-C01; -
เพิ่ม ไดรเวอร์สำหรับเปิดใช้งานเครื่องมือเร่งความเร็วการถอดรหัส
วิดีโอที่มีอยู่ใน Amlogic Meson SoC; - ในไดรเวอร์ v3d (สำหรับ Broadcom Video Core V GPU ที่ใช้ใน Raspberry Pi) ปรากฏขึ้น
สนับสนุน การส่งเชเดอร์คอมพิวเตอร์ -
เพิ่ม ไดรเวอร์สำหรับคีย์บอร์ด SPI และแทร็กแพดที่ใช้ในแล็ปท็อป Apple MacBook และ MacBookPro รุ่นทันสมัย -
เพิ่ม การป้องกันเพิ่มเติมสำหรับการเรียก ioctl ที่เกี่ยวข้องกับฟล็อปปี้ดิสก์ไดรเวอร์ และตัวไดรเวอร์เองถูกทำเครื่องหมายว่าไม่มีการบำรุงรักษา
(“กำพร้า”) ซึ่งหมายถึงการยุติการทดสอบ ไดรเวอร์ยังคงถูกจัดเก็บไว้ในเคอร์เนล แต่ไม่รับประกันการทำงานที่ถูกต้อง ไดรเวอร์ถือว่าล้าสมัยเนื่องจากเป็นการยากที่จะหาอุปกรณ์ใช้งานสำหรับการทดสอบ - ตามกฎแล้วไดรฟ์ภายนอกทั้งหมดในปัจจุบันจะใช้อินเทอร์เฟซ USB -
เพิ่ม ไดรเวอร์ cpufreq สำหรับบอร์ด Raspberry Pi ซึ่งช่วยให้คุณควบคุมการเปลี่ยนแปลงความถี่ของโปรเซสเซอร์แบบไดนามิก - เพิ่มการรองรับ ARM SoC ใหม่ Mediatek mt8183 (4x Cortex-A73 + 4x Cortex-A53), TI J721E (2x Cortex-A72 + 3x Cortex-R5F + 3 DSPs + MMA) และ Amlogic G12B (4x Cortex-A73 + 2x Cortex- A53 ) เช่นเดียวกับบอร์ด:
-
ความพิถีพิถัน Librem5 , - เอสปีด บีเอ็มซี,
- ไมโครซอฟต์ โอลิมปัส BMC,
- คอนตรอน สมาร์ก,
- โนฟเทคเมียร์แคท96 (i.MX7),
- เอสที ไมโคร อเวนเจอร์96,
- Google Cheza (วอลคอมม์ SDM845)
- วอลคอมม์ Dragonboard 845c (วอลคอมม์ SDM845),
- กล่องทีวี Hugsun X99 (Rockchip RK3399),
- Khadas Edge/Edge-V/กัปตัน (Rockchip RK3399)
- ไฮโฮป RZ/G2M,
- NXP LS1021A-TSN.
-
-
ในเวลาเดียวกัน มูลนิธิซอฟต์แวร์เสรีลาตินอเมริกา
การเลือก
อัปเดตโค้ดการทำความสะอาด blob ในไดรเวอร์และระบบย่อย amdgpu, i915, netx, r8169, brcmfmac, rtl8188eu, adreno, si2157, pvrusb2, touchscreen_dmi, ไดรเวอร์เสียงสำหรับ skylake รวมถึงในเอกสารประกอบไมโครโค้ด
ที่มา: opennet.ru