1 điểm bởi GN⁺ 2024-10-11 | 1 bình luận | Chia sẻ qua WhatsApp
  • Asahi Linux cung cấp các trình điều khiển OpenGL, OpenCL và Vulkan tương thích duy nhất trên phần cứng M1. Công bố lần này là bản alpha, và game 'Control' chạy tốt.
  • Cách cài đặt: Cài Fedora Asahi Remix, cập nhật trình điều khiển mới nhất, sau đó cài Steam để chạy game. Hoạt động trên các hệ thống dòng M1/M2, và hầu hết game cần 16GB bộ nhớ do overhead của giả lập.

Ngăn xếp

  • Game thường được render bằng binary Windows x86 dùng DirectX, và mục tiêu là dùng Vulkan trên Arm Linux.
  • FEX giả lập x86 trên Arm.
  • Wine chuyển đổi Windows sang Linux.
  • DXVKvkd3d-proton chuyển đổi DirectX sang Vulkan.
  • Vấn đề kích thước trang: x86 kỳ vọng trang 4K nhưng hệ thống Apple dùng trang 16K. Để giải quyết việc này, họ dùng một máy ảo nhỏ để chạy game.

Vulkan

  • Việc chuyển đổi DirectX cần Vulkan 1.3 với nhiều extension. Honeykrisp là trình điều khiển Vulkan 1.3 duy nhất cho phần cứng Apple.
  • Tessellation: Tessellation trên phần cứng M1 bị hạn chế, nên họ dùng các compute shader phức tạp để thực hiện tessellation.
  • Geometry shader: M1 không có phần cứng geometry shader, nên được giả lập bằng compute.
  • Độ bền tăng cường: Để triển khai tính robust của DirectX, họ dùng extension VK_EXT_robustness2.

Các bước tiếp theo

  • Sparse texturing: Đã được thêm vào Honeykrisp, cho phép chạy thêm nhiều game DX12 hơn.
  • Nhiều game đã có thể chơi được, nhưng các tựa AAA mới nhất vẫn chưa đạt 60fps. Cải thiện hiệu năng là mục tiêu tiếp theo.
  • Ngoài game, họ cũng dự định bổ sung giả lập x86 thông thường.

Tóm tắt của GN⁺

  • Asahi Linux cung cấp các trình điều khiển duy nhất có thể chạy game trên phần cứng M1, mở ra những khả năng mới cho Linux gaming.
  • Dự án này cho thấy sức mạnh của mã nguồn mở và được hình thành từ đóng góp của nhiều nhà phát triển.
  • Có thể kỳ vọng vào việc cải thiện hiệu năng và hỗ trợ thêm nhiều game hơn, qua đó nâng cao trải nghiệm chơi game trên Linux.
  • Các dự án có chức năng tương tự gồm Proton và Wine.

1 bình luận

 
GN⁺ 2024-10-11
Ý kiến trên Hacker News
  • Tessellation được dùng để tạo hình học trong các trò chơi như The Witcher 3. Chip M1 hỗ trợ tessellation bằng phần cứng, nhưng bị hạn chế với DirectX, Vulkan và OpenGL. Thay vào đó phải thực hiện tessellation bằng các compute shader phức tạp

    • Geometry shader là phương pháp cũ để tạo hình học, và M1 thiếu phần cứng geometry shader nên phải giả lập bằng compute
    • Đây có thể là một trong những lý do Apple không hỗ trợ trực tiếp Vulkan. Có thể là vì họ không muốn triển khai các tính năng Vulkan phổ biến trên phần cứng
    • Điều đáng ngạc nhiên là hiệu năng vẫn rất nhanh
  • Đây là một thành tựu ấn tượng xét trên góc độ hiệu năng và kỹ thuật

  • Ước mơ là các nhà phát triển Asahi, Valve và Apple hợp tác để xây dựng Proton đa nền tảng có thể chạy game Windows trên phần cứng x86 và ARM

  • Thư viện game chạy trên Steam Deck và Proton, kết hợp với hiệu năng và hiệu quả điện năng của chip ARM dòng M, là một tổ hợp như trong mơ

  • Rất tuyệt vời

  • Điều này có nghĩa là chơi game trên Linux tốt hơn trên Mac sao?

  • Công việc thật đáng kinh ngạc. Tôi muốn hỏi liệu họ có quan tâm đến retrowin32 không. Đây là một nỗ lực nhằm giảm bớt các tầng dịch và ảo hóa

  • Chip dòng M của Apple có phần cứng đặc biệt để giả lập x86 với hiệu năng gần như native. Tôi tò mò liệu tính năng đó có được tận dụng hay không

  • Mọi thứ đều được giả lập nhưng vẫn có thể chạy game AAA, đây là một thành quả đáng kinh ngạc

  • Đây là một proof of concept tuyệt vời trên Linux. Trên Mac, nhiều game AAA đã chơi được thông qua Crossover, Parallels và VMWare Personal

  • Thật sốc khi cần nhiều nỗ lực đến vậy để có được trải nghiệm chơi game tốt trên máy tính Apple. Có vẻ như trong vài năm gần đây họ tỏ thái độ thù địch với game

  • Tôi tự hỏi có phải M3 không được hỗ trợ vì nó có những điểm khác biệt khá lớn so với M1 và M2 hay không

  • Tôi thấy họ dùng FEX, và tự hỏi liệu nó có thể so sánh về hiệu năng với box86 hay không

  • Tôi hy vọng NixOS, hoặc ít nhất là Arch, sẽ được hỗ trợ ở mức như Fedora