อัปเดตไดรเวอร์ GPU ของ Apple M1/M2
- ไดรเวอร์กราฟิกระดับเคอร์เนลสำหรับ GPU Apple M1 และ M2 เขียนด้วย Rust และได้รับความสนใจจากการบรรลุความสอดคล้องตามมาตรฐานกราฟิกหลายแบบ
- ในงาน X.Org Developers Conference (XDC) 2024 Alyssa Rosenzweig ได้นำเสนออัปเดตเกี่ยวกับสถานะของไดรเวอร์และประเภทของเกมที่รองรับได้
- Rosenzweig ยังคงสานต่อธรรมเนียมการขึ้นบรรยายใน XDC โดยแต่งชุดแม่มดมาตั้งแต่ปี 2019
อัปเดตและเทสเซลเลชัน
- ใน XDC ของปีที่แล้ว มีรายงานว่าไดรเวอร์บรรลุความสอดคล้องกับ OpenGL ES 3.1 แล้ว
- ขณะนี้ไดรเวอร์บรรลุความสอดคล้องกับ OpenGL 4.6 แล้ว และมีการพูดถึงเทสเซลเลชันเชดเดอร์ต่อ
- ฮาร์ดแวร์เทสเซลเลเตอร์ของ Apple GPU มีความสามารถไม่เพียงพอสำหรับการทำตามมาตรฐาน OpenGL, Vulkan และ Direct3D จึงใช้งานได้ยาก
- ไดรเวอร์จึงติดตั้งเทสเซลเลชันด้วยซอฟต์แวร์ โดยนำโค้ด reference tessellator ของ Microsoft มาแปลงเป็น OpenCL C แล้วใช้งาน
Vulkan และเกม
- ไดรเวอร์ Honeykrisp สำหรับ GPU M1/M2 บรรลุความสอดคล้องกับ Vulkan 1.3 แล้ว
- เพื่อความเข้ากันได้กับ DirectX, Windows และ CPU แบบ x86 จึงใช้ไดรเวอร์ DXVK และ Wine เพื่อแปลงไปเป็น Vulkan
- ใช้ FEX-Emu สำหรับแปลงจาก x86 ไปเป็น Arm64 และใช้เครื่องเสมือนเพื่อแก้ปัญหาความต่างของขนาดเพจ
ประสิทธิภาพและการรันเกม
- ไดรเวอร์สามารถรันเกมได้หลากหลาย และแม้ประสิทธิภาพจะด้อยกว่าการเร่งด้วยฮาร์ดแวร์เล็กน้อย แต่ก็อยู่ในระดับใช้งานได้จริง
- เกมสเปกสูงต้องการ RAM 16GB ขึ้นไป ขณะที่บางเกมสามารถรันได้แม้บนระบบ 8GB
- การรองรับ ray tracing ยังมีลำดับความสำคัญต่ำในตอนนี้ และมีแผนจะเริ่มทำงานกับ GPU M3
สรุปโดย GN⁺
- ไดรเวอร์ GPU สำหรับ Apple M1/M2 เขียนด้วย Rust จึงมอบทั้งความเสถียรและประสิทธิภาพในระดับสูง
- ไดรเวอร์รองรับมาตรฐานกราฟิกหลากหลายแบบ และการติดตั้งเทสเซลเลชันด้วย OpenCL ก็น่าสนใจ
- ด้วยความเข้ากันได้กับ Vulkan และ DirectX จึงสามารถรันเกมได้หลายแบบ และการใช้เครื่องเสมือนเพื่อแก้ปัญหาขนาดเพจก็เป็นแนวทางที่สร้างสรรค์
- บทความนี้มีประโยชน์ต่อการทำความเข้าใจความท้าทายและแนวทางแก้ไขในการพัฒนาไดรเวอร์ GPU สมัยใหม่ และโปรเจ็กต์ที่มีคุณสมบัติคล้ายกันซึ่งแนะนำคือ DXVK และ Wine
1 ความคิดเห็น
ความเห็นบน Hacker News