หลังจากสองเดือนของการพัฒนา Linus Torvalds
เวอร์ชันใหม่ประกอบด้วยการแก้ไข 13702 รายการจากนักพัฒนา 1810 ราย
ขนาดแพตช์ - 40 MB (การเปลี่ยนแปลงที่ได้รับผลกระทบ 11577 ไฟล์, เพิ่มโค้ด 610012 บรรทัด,
ลบ 294828 แถวแล้ว) ประมาณ 45% ของทั้งหมดนำเสนอใน 5.6
การเปลี่ยนแปลงเกี่ยวข้องกับไดรเวอร์อุปกรณ์ ประมาณ 15% ของการเปลี่ยนแปลงคือ
ทัศนคติต่อการอัปเดตโค้ดเฉพาะสำหรับสถาปัตยกรรมฮาร์ดแวร์ 12%
เกี่ยวข้องกับสแต็กเครือข่าย 4% เป็นระบบไฟล์ และ 3% เป็นระบบภายใน
ระบบย่อยเคอร์เนล
- ระบบย่อยของเครือข่าย
-
เพิ่ม การใช้อินเทอร์เฟซ VPNWireGuard ซึ่งดำเนินการตามวิธีการเข้ารหัสที่ทันสมัย (ChaCha20, Poly1305, Curve25519, BLAKE2s) ใช้งานง่าย ปราศจากความยุ่งยาก ได้พิสูจน์ตัวเองแล้วในการใช้งานขนาดใหญ่จำนวนมากและให้ประสิทธิภาพสูงมาก (เร็วกว่า OpenVPN 3,9 เท่าในแง่ ของปริมาณงาน) WireGuard ใช้แนวคิดของการกำหนดเส้นทางคีย์เข้ารหัส ซึ่งเกี่ยวข้องกับการแนบคีย์ส่วนตัวกับแต่ละอินเทอร์เฟซเครือข่าย และใช้เพื่อผูกคีย์สาธารณะ มีการแลกเปลี่ยนกุญแจสาธารณะเพื่อสร้างการเชื่อมต่อในลักษณะเดียวกันกับ SSH การเข้ารหัสแบบดั้งเดิมที่จำเป็นสำหรับ WireGuard ในการทำงานมันเป็น ยกไป จากห้องสมุดสังกะสี เป็นส่วนหนึ่งของ Crypto API มาตรฐานและรวมอยู่ด้วย เข้าสู่แกนกลาง5.5 . -
เริ่ม การรวมส่วนประกอบที่จำเป็นเพื่อรองรับ MPTCP (MultiPath TCP) ซึ่งเป็นส่วนขยายของโปรโตคอล TCP สำหรับการจัดระเบียบการทำงานของการเชื่อมต่อ TCP พร้อมการส่งแพ็กเก็ตพร้อมกันไปตามหลายเส้นทางผ่านอินเทอร์เฟซเครือข่ายที่แตกต่างกันที่เกี่ยวข้องกับที่อยู่ IP ที่แตกต่างกัน สำหรับแอปพลิเคชันเครือข่าย การเชื่อมต่อแบบรวมดังกล่าวดูเหมือนการเชื่อมต่อ TCP ปกติ และ MPTCP ตรรกะการแยกโฟลว์ทั้งหมดจะดำเนินการ Multipath TCP สามารถใช้เพื่อเพิ่มปริมาณงานและเพิ่มความน่าเชื่อถือ ตัวอย่างเช่น MPTCP สามารถใช้เพื่อจัดระเบียบการรับส่งข้อมูลบนสมาร์ทโฟนโดยใช้ลิงก์ WiFi และ 4G พร้อมกัน หรือเพื่อลดต้นทุนโดยการเชื่อมต่อเซิร์ฟเวอร์โดยใช้ลิงก์ราคาถูกหลายลิงก์แทนที่จะเป็นลิงก์ราคาแพงเพียงลิงก์เดียว -
เพิ่ม รองรับระเบียบวินัยในการประมวลผลคิวเครือข่าย sch_ets (การเลือกระบบส่งกำลังที่ได้รับการปรับปรุง , IEEE 802.1Qaz) ซึ่งให้ความสามารถในการกระจายแบนด์วิธระหว่างการรับส่งข้อมูลประเภทต่างๆ หากโหลดบนคลาสการรับส่งข้อมูลต่ำกว่าแบนด์วิดท์ที่จัดสรร ETS จะอนุญาตให้คลาสการรับส่งข้อมูลอื่นใช้แบนด์วิดท์ที่มีอยู่ (ไม่ได้ใช้) Qdisc sch_ets ได้รับการกำหนดค่าเป็น PRIO และใช้คลาสการรับส่งข้อมูลเพื่อกำหนดขีดจำกัดแบนด์วิดท์ที่เข้มงวดและแชร์ ETS ทำงานเป็นการผสมผสานระหว่างสาขาวิชาพรีโอ иDRR — หากมีคลาสการรับส่งข้อมูลที่จำกัดอย่างเคร่งครัด PRIO จะถูกใช้ แต่หากไม่มีการรับส่งข้อมูลในคิว จะทำงานเหมือนกับ DRR - เพิ่มโปรแกรม BPF ประเภทใหม่
BPF_PROG_TYPE_STRUCT_OPS ซึ่งอนุญาตให้คุณใช้ตัวจัดการฟังก์ชันเคอร์เนลผ่าน BPF ปัจจุบัน คุณลักษณะนี้สามารถใช้เพื่อนำอัลกอริธึมควบคุมความแออัดของ TCP ไปใช้ในรูปแบบของโปรแกรม BPF ได้แล้ว ตัวอย่างเช่นเสนอ โปรแกรม BPF พร้อมการนำอัลกอริทึมไปใช้ดีซีทีซีพี . - ได้รับการยอมรับเข้าสู่แกนกลาง
การเปลี่ยนแปลง ,เครื่องมือแปลเอททูล ด้วย ioctl() ที่จะใช้อินเตอร์เฟซเน็ตลิงค์ . อินเทอร์เฟซใหม่ช่วยให้เพิ่มส่วนขยายได้ง่ายขึ้น ปรับปรุงการจัดการข้อผิดพลาด ช่วยให้สามารถส่งการแจ้งเตือนเมื่อสถานะเปลี่ยนแปลง ลดความซับซ้อนของการโต้ตอบระหว่างเคอร์เนลและพื้นที่ผู้ใช้ และลดจำนวนรายการที่มีชื่อที่ต้องซิงโครไนซ์ - เพิ่มการใช้งานอัลกอริธึมการจัดการคิวเครือข่าย FQ-PIE (Flow Queue PIE) โดยมีวัตถุประสงค์เพื่อลดผลกระทบด้านลบของการบัฟเฟอร์แพ็กเก็ตระดับกลางบนอุปกรณ์เครือข่าย Edge (bufferbloat) FQ-PIE แสดงให้เห็นประสิทธิภาพสูงเมื่อใช้ในระบบที่มีเคเบิลโมเด็ม
-
- ระบบย่อยของดิสก์ I/O และระบบไฟล์
- สำหรับระบบไฟล์ Btrfs
เพิ่ม การใช้งานแบบอะซิงโครนัสของการดำเนินการ DISCARD (ทำเครื่องหมายบล็อกที่ว่างซึ่งไม่จำเป็นต้องจัดเก็บทางกายภาพอีกต่อไป) เริ่มแรก การดำเนินการ DISCARD จะดำเนินการพร้อมกัน ซึ่งอาจส่งผลให้ประสิทธิภาพลดลงเนื่องจากไดรฟ์รอให้คำสั่งที่เกี่ยวข้องดำเนินการเสร็จสิ้น การใช้งานแบบอะซิงโครนัสช่วยให้คุณไม่ต้องรอให้ไดรฟ์เสร็จสิ้นการยกเลิกและดำเนินการนี้ในเบื้องหลัง - ในเอ็กซ์เอฟเอส
ดำเนินการ การล้างโค้ดที่ใช้ตัวนับเวลาแบบ 32 บิตแบบเก่า (ประเภท time_t ถูกแทนที่ด้วย time64_t) นำไปสู่ปัญหา 2038 แก้ไขข้อผิดพลาดและความเสียหายของหน่วยความจำที่เกิดขึ้นบนแพลตฟอร์ม 32 บิต รหัสได้รับการออกแบบใหม่เพื่อทำงานกับแอตทริบิวต์เพิ่มเติม - ไปยังระบบไฟล์ ext4
เข้ามา การเพิ่มประสิทธิภาพประสิทธิภาพที่เกี่ยวข้องกับการจัดการการล็อกไอโหนดระหว่างการอ่านและเขียน ปรับปรุงประสิทธิภาพการเขียนใหม่ในโหมด Direct I/O เพื่อให้การวินิจฉัยปัญหาง่ายขึ้น รหัสข้อผิดพลาดแรกและสุดท้ายจะถูกจัดเก็บไว้ในซุปเปอร์บล็อก - บนระบบไฟล์ F2FS
นำไปใช้ ความสามารถในการจัดเก็บข้อมูลในรูปแบบบีบอัด สำหรับแต่ละไฟล์หรือไดเร็กทอรี การบีบอัดสามารถเปิดใช้งานได้โดยใช้คำสั่ง "chattr +c file" หรือ "chattr +c dir; แตะ dir/ไฟล์" หากต้องการบีบอัดพาร์ติชันทั้งหมด คุณสามารถใช้ตัวเลือก "-o compress_extension=ext" ในยูทิลิตี้เมานท์ได้ - เคอร์เนลมีระบบไฟล์
โซนFS ซึ่งช่วยลดความยุ่งยากในการทำงานในระดับต่ำด้วยอุปกรณ์จัดเก็บข้อมูลแบบแบ่งโซน ไดรฟ์แบบแบ่งเขตหมายถึงอุปกรณ์บนฮาร์ดดิสก์แม่เหล็กหรือ NVMe SSD ซึ่งเป็นพื้นที่จัดเก็บข้อมูลที่แบ่งออกเป็นโซนที่ประกอบขึ้นเป็นกลุ่มของบล็อกหรือเซกเตอร์ ซึ่งอนุญาตให้เพิ่มข้อมูลตามลำดับเท่านั้น เพื่ออัปเดตกลุ่มของบล็อกทั้งหมด FS ZoneFS ได้รับการพัฒนาโดย Western Digital และเชื่อมโยงแต่ละโซนในไดรฟ์ด้วยไฟล์แยกต่างหากที่สามารถใช้เพื่อจัดเก็บข้อมูลในโหมด Raw โดยไม่ต้องมีการจัดการที่เซกเตอร์และระดับบล็อก เช่น อนุญาตให้แอปพลิเคชันใช้ไฟล์ API แทนการเข้าถึงอุปกรณ์บล็อกโดยตรงโดยใช้ ioctl - ใน NFS การเมาท์พาร์ติชันบน UDP จะถูกปิดใช้งานตามค่าดีฟอลต์ เพิ่มการรองรับสำหรับความสามารถในการคัดลอกไฟล์ระหว่างเซิร์ฟเวอร์โดยตรง ซึ่งกำหนดไว้ในข้อกำหนด NFS 4.2 เพิ่มตัวเลือกการเมานต์ใหม่ "softreval" ซึ่งอนุญาตให้ใช้ค่าแอตทริบิวต์แคชในกรณีที่เซิร์ฟเวอร์ล้มเหลว ตัวอย่างเช่น เมื่อระบุตัวเลือกนี้ หลังจากที่เซิร์ฟเวอร์ไม่พร้อมใช้งาน ก็ยังสามารถเลื่อนไปตามพาธในพาร์ติชัน NFS และเข้าถึงข้อมูลที่จัดเก็บไว้ในแคชได้
-
ดำเนินการ การเพิ่มประสิทธิภาพการทำงานของกลไก fs-verity ซึ่งใช้ในการตรวจสอบความสมบูรณ์และการรับรองความถูกต้องของแต่ละไฟล์ เพิ่มความเร็วในการอ่านตามลำดับด้วยการใช้ Merkle hash tree ประสิทธิภาพของ FS_IOC_ENABLE_VERITY ได้รับการปรับให้เหมาะสมเมื่อไม่มีข้อมูลในแคช (มีการใช้การอ่านหน้าเว็บที่มีข้อมูลล่วงหน้า)
- สำหรับระบบไฟล์ Btrfs
- การจำลองเสมือนและความปลอดภัย
- ความสามารถในการปิดการใช้งานโมดูล SELinux ในขณะที่ทำงานนั้นเลิกใช้แล้ว และการยกเลิกการโหลด SELinux ที่เปิดใช้งานแล้วจะถูกห้ามในอนาคต หากต้องการปิดใช้งาน SELinux คุณจะต้องส่งพารามิเตอร์ "selinux=0" บนบรรทัดคำสั่งเคอร์เนล
-
เพิ่ม รองรับเนมสเปซเวลา (เนมสเปซเวลา) ช่วยให้คุณสามารถผูกสถานะของนาฬิการะบบกับคอนเทนเนอร์ (CLOCK_REALTIME,
CLOCK_MONOTONIC, CLOCK_BOOTTIME) ใช้เวลาของคุณเองในคอนเทนเนอร์ และเมื่อย้ายคอนเทนเนอร์ไปยังโฮสต์อื่น ตรวจสอบให้แน่ใจว่าการอ่าน CLOCK_MONOTONIC และ CLOCK_BOOTTIME ยังคงไม่เปลี่ยนแปลง (คำนึงถึงเวลาหลังจากโหลด โดยมีหรือไม่มีการคำนึงถึงว่าอยู่ในโหมดสลีปหรือไม่ ). - พูลการบล็อก /dev/random ถูกลบออกแล้ว ลักษณะการทำงานของ /dev/random คล้ายกับ /dev/urandom ในแง่ของการป้องกันการบล็อกเอนโทรปีหลังจากการเตรียมใช้งานพูล
- เคอร์เนลหลักมีไดรเวอร์ที่อนุญาตให้ระบบเกสต์ที่ใช้ VirtualBox ติดตั้งไดเร็กทอรีที่ส่งออกโดยสภาพแวดล้อมโฮสต์ (VirtualBox Shared Folder)
- มีการเพิ่มชุดแพตช์ลงในระบบย่อย BPF (
ผู้มอบหมายงาน BPF ) เมื่อใช้กลไก Retpoline เพื่อป้องกันการโจมตีคลาส Spectre V2 จะช่วยให้คุณเพิ่มประสิทธิภาพในการเรียกโปรแกรม BPF เมื่อมีเหตุการณ์ที่เกี่ยวข้องกับโปรแกรมเหล่านั้นเกิดขึ้น (ตัวอย่างเช่น ทำให้สามารถเร่งความเร็วการเรียกตัวจัดการ XDP เมื่อ แพ็กเก็ตเครือข่ายมาถึงแล้ว) - เพิ่มไดรเวอร์เพื่อรองรับ TEE (Trusted Execution Environment) ที่สร้างไว้ใน AMD APU
- บริการหน่วยความจำและระบบ
- BPF ได้เพิ่มการสนับสนุนสำหรับฟังก์ชันทั่วโลก การพัฒนากำลังดำเนินการโดยเป็นส่วนหนึ่งของความคิดริเริ่มในการเพิ่มการรองรับไลบรารีของฟังก์ชันต่างๆ ที่สามารถรวมไว้ในโปรแกรม BPF ขั้นตอนต่อไปคือการสนับสนุนส่วนขยายแบบไดนามิกที่อนุญาตให้โหลดฟังก์ชันโกลบอล รวมถึงการแทนที่ฟังก์ชันโกลบอลที่มีอยู่ในขณะที่ใช้งานอยู่ ระบบย่อย BPF ยังเพิ่มการรองรับการดำเนินการแผนที่ในรูปแบบต่างๆ (ใช้เพื่อจัดเก็บข้อมูลถาวร) ซึ่งรองรับการดำเนินการในโหมดแบตช์
-
เพิ่มโดย อุปกรณ์ “cpu_cooling” ช่วยให้คุณระบายความร้อน CPU ที่ร้อนจัดโดยการวาง CPU ไว้ในสถานะไม่ได้ใช้งานในช่วงเวลาสั้นๆ - เพิ่มการเรียกของระบบ
openat2() ซึ่งมีชุดแฟล็กเพิ่มเติมเพื่อจำกัดความละเอียดของพาธของไฟล์ (ห้ามข้ามจุดเมานท์, ลิงก์สัญลักษณ์, ลิงก์เวทย์มนตร์ (/proc/PID/fd), ส่วนประกอบ “../”) - สำหรับระบบที่ต่างกันซึ่งใช้สถาปัตยกรรม big.LITTLE ซึ่งรวมคอร์ CPU ที่ทรงพลังและประหยัดพลังงานน้อยกว่าไว้ในชิปตัวเดียว พารามิเตอร์ uclamp_min จะถูกตั้งค่าเมื่อดำเนินการงานแบบเรียลไทม์ (
โผล่ออกมา ในเคอร์เนล 5.3 มีกลไกในการรักษาความปลอดภัยของโหลด) พารามิเตอร์นี้ช่วยให้แน่ใจว่างานจะถูกวางโดยตัวกำหนดเวลาบนแกน CPU ที่มีประสิทธิภาพเพียงพอ - เคอร์เนลได้รับการปลดปล่อยจาก
ปัญหาของปี 2038 . แทนที่ตัวจัดการสุดท้ายที่เหลือ ซึ่งใช้ประเภท 32 บิต (signed int) time_t สำหรับตัวนับเวลายุค ซึ่งเมื่อคำนึงถึงรายงานจากปี 1970 ควรจะล้นในปี 2038 - การปรับปรุงอินเทอร์เฟซ I/O แบบอะซิงโครนัสอย่างต่อเนื่อง
io_ing ซึ่งในที่ให้ไว้ รองรับการดำเนินงานใหม่: IORING_OP_FALLOCATE (การจองพื้นที่ว่าง), IORING_OP_OPENAT,
IORING_OP_OPENAT2,
IORING_OP_CLOSE (การเปิดและปิดไฟล์)
IORING_OP_FILES_UPDATE (การเพิ่มและลบไฟล์ออกจากรายการเข้าถึงด่วน)
IORING_OP_STATX (คำขอข้อมูลไฟล์)
IORING_OP_READ,
IORING_OP_WRITE (อะนาล็อกแบบง่ายของ IORING_OP_READV และ IORING_OP_WRITEV)
IORING_OP_FADVISE,
IORING_OP_MADVISE (รูปแบบอะซิงโครนัสของการเรียก posix_fadvise และ madvise), IORING_OP_SEND
IORING_OP_RECV (การส่งและรับข้อมูลเครือข่าย)
IORING_OP_EPOLL_CTL (ดำเนินการกับตัวอธิบายไฟล์ epoll) - เพิ่มการเรียกของระบบ
pidfd_getfd() อนุญาตให้กระบวนการดึงข้อมูลคำอธิบายไฟล์สำหรับไฟล์ที่เปิดจากกระบวนการอื่น -
ดำเนินการแล้ว กลไก "bootconfig" ซึ่งอนุญาตให้นอกเหนือจากตัวเลือกบรรทัดคำสั่งเพื่อกำหนดพารามิเตอร์ของเคอร์เนลผ่านไฟล์การตั้งค่า หากต้องการเพิ่มไฟล์ดังกล่าวลงในอิมเมจ initramfs จะมีการเสนอยูทิลิตี้ bootconfig คุณลักษณะนี้สามารถใช้เพื่อกำหนดค่า kprobes ในเวลาบูตได้ เป็นต้น -
ออกแบบใหม่ กลไกในการรอการเขียนและอ่านข้อมูลในไปป์ที่ไม่มีชื่อ การเปลี่ยนแปลงทำให้สามารถเร่งงานต่างๆ เช่น การประกอบโครงการขนาดใหญ่แบบขนานได้ อย่างไรก็ตาม การเพิ่มประสิทธิภาพอาจนำไปสู่สภาวะการแข่งขันใน GNU เนื่องจากข้อบกพร่องในรุ่น 4.2.1 ซึ่งได้รับการแก้ไขในเวอร์ชัน 4.3 - เพิ่มแฟล็ก PR_SET_IO_FLUSHER ให้กับ prctl() ซึ่งสามารถใช้เพื่อทำเครื่องหมายกระบวนการที่ไม่มีหน่วยความจำซึ่งไม่ควรถูกจำกัดเมื่อระบบมีหน่วยความจำเหลือน้อย
- ตามระบบกระจายหน่วยความจำ ION ที่ใช้ใน Android ได้มีการนำระบบย่อยไปใช้
ฮีป dma-buf ซึ่งช่วยให้คุณควบคุมการจัดสรรบัฟเฟอร์ DMA สำหรับการแชร์พื้นที่หน่วยความจำระหว่างไดรเวอร์ แอปพลิเคชัน และระบบย่อยต่างๆ
- สถาปัตยกรรมฮาร์ดแวร์
- เพิ่มการรองรับสำหรับส่วนขยาย E0PD ซึ่งปรากฏใน ARMv8.5 และช่วยป้องกันการโจมตีที่เกี่ยวข้องกับการดำเนินการตามคำสั่งแบบคาดเดาบน CPU การป้องกันที่ใช้ E0PD ส่งผลให้มีค่าใช้จ่ายต่ำกว่าการป้องกัน KPTI (Kernel Page Table Isolation)
- สำหรับระบบที่ใช้สถาปัตยกรรม ARMv8.5 มีการเพิ่มการรองรับคำสั่ง RNG ซึ่งช่วยให้สามารถเข้าถึงเครื่องกำเนิดตัวเลขสุ่มเทียมด้วยฮาร์ดแวร์ ในเคอร์เนล คำสั่ง RNG ใช้เพื่อสร้างเอนโทรปีเมื่อเริ่มต้นตัวสร้างตัวเลขสุ่มหลอกที่เคอร์เนลจัดเตรียมไว้ให้
- ลบการรองรับ MPX (Memory Protection Extensions) ที่เพิ่มในเคอร์เนล
3.19 และช่วยให้คุณสามารถจัดระเบียบการตรวจสอบพอยน์เตอร์เพื่อให้แน่ใจว่าขอบเขตของพื้นที่หน่วยความจำได้รับการเคารพ เทคโนโลยีนี้ไม่ได้ใช้กันอย่างแพร่หลายในคอมไพเลอร์และถูกลบออกจาก GCC - สำหรับสถาปัตยกรรม RISC-V ได้มีการนำการสนับสนุนเครื่องมือดีบัก KASan (Kernel address sanitizer) มาใช้ ซึ่งจะช่วยระบุข้อผิดพลาดเมื่อทำงานกับหน่วยความจำ
- Оборудование
- มีการใช้การสนับสนุนข้อกำหนดแล้ว
4.0 USB ซึ่งใช้โปรโตคอล Thunderbolt 3 และให้ความเร็วสูงสุด 40 Gbps ในขณะที่ยังคงความเข้ากันได้แบบย้อนหลังกับ USB 2.0 และ USB 3.2 โดยการเปรียบเทียบกับสายฟ้า อินเทอร์เฟซ USB 4.0 ช่วยให้คุณสามารถรองรับโปรโตคอลที่แตกต่างกันผ่านสายเคเบิลเส้นเดียวที่มีขั้วต่อType-C รวมถึง PCIe, Display Port และ USB 3.x ตลอดจนการใช้งานซอฟต์แวร์ของโปรโตคอล เช่น เพื่อจัดระเบียบการเชื่อมโยงเครือข่ายระหว่างโฮสต์ การใช้งานนี้สร้างขึ้นจากไดรเวอร์ Thunderbolt ที่รวมอยู่ในเคอร์เนล Linux แล้ว และปรับให้ทำงานกับโฮสต์และอุปกรณ์ที่รองรับ USB4 ได้ การเปลี่ยนแปลงยังเพิ่มการรองรับอุปกรณ์ Thunderbolt 3 ในการใช้งานซอฟต์แวร์ของ Connection Manager ซึ่งมีหน้าที่สร้างช่องสัญญาณสำหรับเชื่อมต่ออุปกรณ์หลายเครื่องผ่านตัวเชื่อมต่อเดียว - ในไดรเวอร์ amdgpu
เพิ่ม การสนับสนุนเบื้องต้นสำหรับเทคโนโลยีป้องกันการคัดลอก HDCP 2.x (High-bandwidth Digital Content Protection) เพิ่มการรองรับชิป AMD Pollock ASIC ที่ใช้ Raven 2 ใช้ความสามารถในการรีเซ็ต GPU สำหรับตระกูล Renoir และ Navi - ไดรเวอร์ DRM สำหรับการ์ดแสดงผล Intel
เพิ่ม การรองรับ DSI VDSC สำหรับชิปที่ใช้สถาปัตยกรรมไมโคร Ice Lake และ Tiger Lake, มีการใช้ LMEM mmap (หน่วยความจำภายในของอุปกรณ์), การแยกวิเคราะห์ VBT (Video BIOS Table) ได้รับการปรับปรุงแล้ว, รองรับ HDCP 2.2 สำหรับชิป Coffee Lake - งานยังคงดำเนินต่อไปในการรวมโค้ดไดรเวอร์ amdkfd (สำหรับ GPU แบบแยก เช่น ฟิจิ ตองกา และโพลาริส) เข้ากับไดรเวอร์ amdgpu
- ไดรเวอร์ k10temp ได้รับการปรับปรุงใหม่ โดยเพิ่มการรองรับสำหรับการแสดงพารามิเตอร์แรงดันไฟฟ้าและกระแสสำหรับ CPU AMD Zen รวมถึงข้อมูลเพิ่มเติมจากเซ็นเซอร์อุณหภูมิที่ใช้ใน CPU Zen และ Zen 2
- ในการขับขี่แบบนูโว
เพิ่ม รองรับโหมดการโหลดเฟิร์มแวร์ที่ตรวจสอบแล้วสำหรับ NVIDIA GPU ที่ใช้สถาปัตยกรรมไมโครทัวริง (GeForce RTX 2000) ซึ่งทำให้สามารถเปิดใช้งานการรองรับการเร่งความเร็ว 3 มิติสำหรับการ์ดเหล่านี้ได้ (จำเป็นต้องดาวน์โหลดเฟิร์มแวร์อย่างเป็นทางการด้วยลายเซ็นดิจิทัล NVIDIA) เพิ่มการรองรับเอ็นจิ้นกราฟิก TU10x ปัญหาเกี่ยวกับ HD Audio ได้รับการแก้ไขแล้ว - เพิ่มการรองรับการบีบอัดข้อมูลเมื่อส่งผ่าน DisplayPort MST (Multi-Stream Transport)
- เพิ่มไดรเวอร์ใหม่ "
th11k » สำหรับชิปไร้สาย Qualcomm ที่รองรับ 802.11ax
ไดรเวอร์นี้ใช้สแต็ก mac80211 และรองรับโหมดจุดเข้าใช้งาน เวิร์กสเตชัน และโหนดเครือข่ายแบบตาข่าย - การเข้าถึงการอ่านเซ็นเซอร์อุณหภูมิที่อ่านได้ซึ่งใช้กับฮาร์ดไดรฟ์และ SSD สมัยใหม่ผ่าน sysfs
-
มีส่วนร่วม การเปลี่ยนแปลงที่สำคัญต่อระบบเสียง ALSA โดยมีวัตถุประสงค์เพื่อกำจัดโค้ดของปัญหาของปี 2038 (หลีกเลี่ยงการใช้ประเภท time_t 32 บิตในอินเทอร์เฟซ snd_pcm_mmap_status และ snd_pcm_mmap_control) เพิ่มการรองรับตัวแปลงสัญญาณเสียงใหม่
วอลคอมม์ WCD9340/WCD9341, Realtek RT700, RT711, RT715, RT1308, JZ4770 ดั้งเดิม -
เพิ่ม ไดรเวอร์สำหรับแผง LCD Logic PD 28, Jimax8729d MIPI-DSI, igenic JZ4770, Sony acx424AKP, Leadtek LTK500HD1829, Xinpeng XPP055C272, AUO B116XAK01, GiantPlus GPM940B0,
โบอี NV140FHM-N49,
ซาโตซ SAT050AT40H12R2,
ชาร์ป LS020B1DD01D. -
เพิ่ม รองรับบอร์ด ARM และแพลตฟอร์ม Gen1 Amazon Echo (ที่ใช้ OMAP3630), Samsung Galaxy S III mini (GT-I8190), Allwinner Emlid Neutis, คอมพิวเตอร์ Libre ALL-H3-IT, PineH64 Model B, Aibretech Amlogic GX PC,
กองเรือ SolidRun Clearfog GTR, NXPGateworks GW59xx,
เครื่องอ่าน eBook ของ Tolino Shine 3
ศิลปินฝังตัว COM (i.MX7ULP), SolidRun Clearfog CX/ITX และ HoneyComb (LX2160A), Google Coral Edge TPU (i.MX8MQ)
ผู้ให้บริการ Rockchip Radxa Dalang, Radxa Rock Pi N10, VMARC RK3399Pro SOM
ST Ericsson HREF520, Inforce 6640, SC7180 IDP, Atmel/ไมโครชิป AM9X60 (ARM926 SoC, Kizboxmini), ST stm32mp15, AM3703/AM3715/DM3725, ST Ericsson ab8505, Unisoc SC9863A, Qualcomm SC7180 เพิ่มการรองรับคอนโทรลเลอร์ PCIe ที่ใช้ใน Raspberry Pi 4
- มีการใช้การสนับสนุนข้อกำหนดแล้ว
ในเวลาเดียวกัน มูลนิธิซอฟต์แวร์เสรีลาตินอเมริกา
การเลือก
ที่มา: opennet.ru