Timur Kristóf ผู้รับเหมาช่วงของ Valve ได้นำเสนอแผนการปรับปรุงการรองรับ Linux สำหรับการ์ดกราฟิก AMD GCN 1.0 "Southern Island" และ 1.1 "Sea Islands" เมื่อปีที่แล้ว ไดรเวอร์ AMDGPU ได้รับการปรับปรุงให้เทียบเท่ากับไดรเวอร์ Radeon สำหรับการ์ดกราฟิก GCN 1.x และเปิดใช้งานโดยค่าเริ่มต้นในโค้ดเบสเคอร์เนล Linux 6.19 ซึ่งมีกำหนดวางจำหน่ายในเดือนกุมภาพันธ์ การ์ด GCN 1.x วางจำหน่ายระหว่างปี 2012 ถึง 2019 และครอบคลุมรุ่นต่างๆ เช่น Radeon HD 77xx/78xx/79xx/87xx/88xx/89xx, Radeon R9 280, FirePro W4000-W9000, Radeon Sky 700/900, Radeon R9 265/270/370, Radeon R9 290/390, HD 7790/8870 และการ์ดวิดีโออื่นๆ ในตระกูล Radeon Rx 200/Rx 300
แผนการนี้รวมถึงการพัฒนาการสนับสนุน GCN 1.x ใน Linux เพิ่มเติม ซึ่งบางส่วนจะมีประโยชน์สำหรับ GPU อื่นๆ เช่น ตระกูล Polaris ด้วย
- การพัฒนาระบบรองรับตัวแก้ไขรูปแบบ (ตัวแก้ไขรูปแบบ DRM) สำหรับ GPU ตระกูล SI, CIK, VI และ Polaris ซึ่งจะช่วยให้สามารถใช้งานตัวจัดการคอมโพสิตแบบ Vulkan, ไดรเวอร์ Zink OpenGL และส่วนประกอบอื่นๆ ได้
- เพิ่มการรองรับตัวควบคุมบริดจ์จอแสดงผล TRAVIS และ NUTMEG ซึ่งจะช่วยให้สามารถใช้ AMDGPU เป็นค่าเริ่มต้นในการกำหนดค่าที่มี APU ตระกูล CIK ได้
- การปรับปรุงโครงสร้างการจัดการพลังงาน การ์ดจอเก่าใช้โค้ดการจัดการพลังงานแยกต่างหากที่เรียกว่า "DPM" ซึ่งแตกต่างจากโค้ดหลักของ AMDGPU การรวมโค้ดสำหรับการ์ดจอเก่าเข้ากับการ์ดจออื่นๆ จะช่วยขจัดปัญหาการแยกโค้ดสำหรับ GPU เหล่านั้น ลดขนาดโค้ด และทำให้การบำรุงรักษาไดรเวอร์ง่ายขึ้น
- เมื่อพิจารณาถึงการปรับปรุงการรองรับ GCN 1.x ในโค้ด DC (Display Core) เช่น ความสามารถในการใช้เอาต์พุตวิดีโอแบบอนาล็อก จึงเป็นเรื่องสมเหตุสมผลที่จะลบโค้ดเก่าสำหรับ GPU เหล่านี้ที่ไม่ใช้ DC ซึ่งจะช่วยลดความซับซ้อนในการบำรุงรักษาไดรเวอร์และลดขนาดโค้ดลง
- แก้ไขข้อบกพร่องที่เหลืออยู่ เช่น การจำกัดพลังงานที่ไม่ถูกต้องบน GPU Radeon 430, หน้าจอดำบนขั้วต่ออนาล็อก Radeon HD 7790 และข้อผิดพลาดในการเข้าถึงหน่วยความจำบน GPU SI/CIK
- รองรับพื้นผิวแบบฝังตัวบางส่วน (PRT) มีการเตรียมแพทช์สำหรับเคอร์เนล Linux และคำขอรวมโค้ดสำหรับ MESA เพื่อเปิดใช้งานคุณสมบัตินี้แล้ว
- ไดรเวอร์ RADV รองรับการจัดการคิวการถ่ายโอนข้อมูลสำหรับ GPU รุ่นเก่า
ที่มา: opennet.ru
