Cập nhật trình điều khiển GPU Apple M1/M2
- Trình điều khiển đồ họa nhân cho GPU Apple M1 và M2 được viết bằng Rust, và đang thu hút chú ý vì đã đạt tính tương thích với nhiều tiêu chuẩn đồ họa khác nhau.
- Tại X.Org Developers Conference (XDC) 2024, Alyssa Rosenzweig đã công bố bản cập nhật về tình trạng của trình điều khiển và các loại trò chơi mà nó có thể hỗ trợ.
- Rosenzweig tiếp tục duy trì truyền thống thuyết trình tại XDC trong trang phục phù thủy kể từ năm 2019.
Cập nhật và tessellation
- Tại XDC năm ngoái, đã có báo cáo rằng trình điều khiển đạt tính tương thích với OpenGL ES 3.1.
- Hiện tại, trình điều khiển đã đạt tính tương thích với OpenGL 4.6, và phần thảo luận tiếp tục xoay quanh tessellation shader.
- Bộ tessellator phần cứng của GPU Apple thiếu một số tính năng cần thiết để triển khai các tiêu chuẩn OpenGL, Vulkan và Direct3D, nên khó sử dụng.
- Trình điều khiển triển khai tessellation bằng phần mềm, sử dụng mã tessellator tham chiếu của Microsoft sau khi chuyển đổi sang OpenCL C.
Vulkan và trò chơi
- Trình điều khiển GPU Honeykrisp M1/M2 đã đạt tính tương thích với Vulkan 1.3.
- Để tương thích với DirectX, Windows và CPU x86, hệ thống sử dụng trình điều khiển DXVK và Wine để chuyển đổi sang Vulkan.
- Sử dụng FEX-Emu để chuyển đổi từ x86 sang Arm64, và dùng máy ảo để giải quyết khác biệt về kích thước trang bộ nhớ.
Hiệu năng và chạy trò chơi
- Trình điều khiển có thể chạy nhiều trò chơi khác nhau; hiệu năng có phần kém hơn một chút so với tăng tốc phần cứng, nhưng vẫn ở mức thực dụng.
- Các trò chơi cấu hình cao cần RAM từ 16GB trở lên, trong khi một số trò chơi vẫn có thể chạy trên hệ thống 8GB.
- Hỗ trợ ray tracing hiện có mức ưu tiên thấp, và có kế hoạch bắt đầu làm việc với GPU M3.
Tóm tắt của GN⁺
- Trình điều khiển GPU Apple M1/M2 được viết bằng Rust, mang lại độ ổn định và hiệu năng cao.
- Trình điều khiển tương thích với nhiều tiêu chuẩn đồ họa, và cách triển khai tessellation bằng OpenCL là một điểm thú vị.
- Nhờ khả năng tương thích với Vulkan và DirectX, có thể chạy nhiều trò chơi khác nhau; cách giải quyết vấn đề kích thước trang bộ nhớ bằng máy ảo cũng rất độc đáo.
- Bài viết này hữu ích để hiểu các thách thức và giải pháp trong phát triển trình điều khiển GPU hiện đại; những dự án có chức năng tương tự được gợi ý là DXVK và Wine.
1 bình luận
Ý kiến trên Hacker News