Chơi game AAA trên Asahi Linux
(rosenzweig.io)- 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.
- DXVK và vkd3d-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
Ý 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
Đâ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