1 điểm bởi GN⁺ 2024-11-01 | 1 bình luận | Chia sẻ qua WhatsApp

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

 
GN⁺ 2024-11-01
Ý kiến trên Hacker News
  • Có ý kiến nhấn mạnh rằng cô ấy là một phù thủy
  • Có ý kiến bày tỏ sự ngạc nhiên khi phần cứng còn thiếu khá nhiều thành phần và việc mô phỏng được dùng rất nhiều
  • Có ý kiến cho rằng họ đã được rèn để kỳ vọng những bài viết kiểu như "ngừng hỗ trợ và mua lại"
  • Có ý kiến tò mò liệu M3/M4 có cần một trình điều khiển hoàn toàn khác hay không
  • Có ý kiến thắc mắc liệu việc chia sẻ liên kết /SubscriberLink/ có phi đạo đức hay không
  • Có ý kiến nói rằng mở đầu bằng tiếng Pháp sẽ rất thú vị, đồng thời cho rằng điều này thực sự rất ấn tượng
    • Có ý kiến cho rằng tệp tessellator.cl là tệp gây bối rối nhất trong sự nghiệp của họ
    • Có ý kiến bày tỏ sự ngạc nhiên trước việc người thuyết trình mới 23 tuổi, đồng thời nói rằng sự hỗn loạn trong sự nghiệp không giảm đi theo thời gian
    • Có ý kiến cho rằng công việc của cô ấy rất ấn tượng và cần lưu ý câu nói của cô ấy rằng 2.000 dòng mã C++ rất khó hiểu
  • Có ý kiến cho rằng công việc của Alyssa R và Asahi Lina thật tuyệt vời
    • Có ý kiến cho rằng nếu không quen xử lý mã trình điều khiển thì sẽ có nhiều chỗ khó hiểu
    • Có ý kiến hy vọng công việc phần cứng vốn rất đặc thù này có thể được viết theo cách dễ hơn
    • Có ý kiến thích thú với kiểu vui nhộn cổ điển như trang phục phù thủy
  • Có ý kiến cho rằng Alyssa là một con người đáng kinh ngạc và họ còn nhớ bài viết đầu tiên về việc cô ấy bắt đầu làm GPU khi 17 tuổi
    • Có ý kiến cho rằng thật đáng kinh ngạc khi có người có thể làm được những gì cô ấy đã làm
  • Có ý kiến tìm liên kết về việc trình điều khiển được viết bằng Rust