- Dự án Asahi Linux giúp chạy Linux trên các máy Mac dùng Apple M1 và M2, đồng thời đã hoàn tất hỗ trợ cho phần lớn phần cứng, bao gồm không dây, âm thanh và tăng tốc đồ họa
- Dự án được Hector Martin khởi xướng vào tháng 12 năm 2020, với sự tham gia của Alyssa Rosenzweig trong việc đảo ngược kỹ thuật tập lệnh shader của GPU M1
- Tháng 12 năm 2022, Asahi Linux đã hiện thực hóa tăng tốc đồ họa bằng cách kết hợp trình điều khiển OpenGL với trình điều khiển kernel, cho phép chạy game 3D
- Trong giai đoạn 2023~2024, Rosenzweig đã phát triển trình điều khiển đáp ứng chuẩn OpenGL 4.6 và Vulkan 1.4, hỗ trợ chạy game Windows thông qua Proton
- Dự án mã nguồn mở này không chỉ vượt qua các trình điều khiển phi tiêu chuẩn của Apple mà còn đạt tới tiêu chuẩn công nghiệp, đồng thời tạo động lực để đưa Vulkan lên macOS
Tầm quan trọng và lợi thế của dự án mã nguồn mở
- Asahi Linux là một dự án mã nguồn mở cho phép chạy Linux trên chip Apple M1 và M2, cung cấp hỗ trợ phần cứng đầy đủ mà không phụ thuộc vào phần mềm độc quyền
- Trong khi các trình điều khiển độc quyền của Apple không tuân thủ chuẩn OpenGL và Vulkan, Asahi Linux hướng tới tuân thủ tiêu chuẩn công nghiệp, từ đó nâng cao độ tin cậy và khả năng tương thích
- So với các dự án trình điều khiển đồ họa mã nguồn mở khác như Panfrost, Asahi Linux phát triển nhanh nhờ đảo ngược kỹ thuật, đồng thời tạo khác biệt bằng việc tối ưu hiệu năng chơi game với Proton
Khởi đầu dự án và công việc ban đầu
- Tháng 12 năm 2020, Hector Martin khởi động Asahi Linux và thúc đẩy quá trình đảo ngược kỹ thuật GPU Apple M1
- Alyssa Rosenzweig tham gia khi đang làm việc tại Collabora trên Panfrost (trình điều khiển GPU Arm Mali mã nguồn mở)
- Ban đầu cô chỉ định đưa ra vài lời khuyên đơn giản, nhưng rồi đã mua một máy M1 Mac và bắt đầu phân tích lệnh shader
- Đầu năm 2021, chỉ sau vài tuần, Rosenzweig đã thành công trong việc render tam giác, đặt nền móng cho đồ họa 3D
- Render tam giác là điểm khởi đầu cho mọi tác vụ trong đồ họa 3D, từ đó mới có thể hiện thực các đồ họa phức tạp hơn
- Sau đó, cô phát triển trình biên dịch shader, rồi sau kỳ thi cuối học kỳ đã hiện thực trình điều khiển OpenGL để trình diễn bánh răng quay
Phát triển trình điều khiển và thành tựu
- Trong giai đoạn 2021~2022, Rosenzweig tiếp tục đảo ngược kỹ thuật và cải thiện trình điều khiển OpenGL, cho phép chạy game 3D trên macOS
- Asahi Lina đã viết trình điều khiển kernel cho GPU Apple, rồi kết hợp với trình điều khiển OpenGL ở không gian người dùng
- Tháng 12 năm 2022, Asahi Linux hỗ trợ tăng tốc đồ họa, hoàn thiện toàn bộ ngăn xếp đồ họa
- Năm 2023, Rosenzweig vừa trải qua học kỳ cuối ngành khoa học máy tính tại Đại học Toronto vừa song song phát triển trình điều khiển
- Sau thành công của dự án Panfrost, cô chọn trình điều khiển GPU M1 làm thử thách mới
- Mục tiêu: hỗ trợ OpenGL 4.6, Vulkan và chơi game qua Proton
Tuân thủ chuẩn OpenGL và Vulkan
- Năm 2023, cô hiện thực OpenGL 3.1 và giành chứng nhận tuân thủ chuẩn OpenGL ES 3.1
- OpenGL ES 3.2 yêu cầu geometry shader, nhưng phần cứng Apple không hỗ trợ, nên đã được mô phỏng bằng compute shader
- Nhờ tận dụng mã dùng chung của trình điều khiển Mesa, việc phát triển được đẩy nhanh, đồng thời hiện thực mô phỏng geometry/tessellation
- Tháng 1 năm 2024, dự án đạt chứng nhận chuẩn OpenGL 4.6, vượt qua các trình điều khiển phi tiêu chuẩn của Apple
- Việc phát triển trình điều khiển Vulkan chỉ trong vài tháng đã đạt chứng nhận Vulkan 1.3
- Tích hợp mô phỏng geometry/tessellation vào Vulkan để hỗ trợ game Direct3D và Proton
- Ngay trong ngày công bố đặc tả Vulkan 1.4, dự án đã hiện thực chứng nhận tuân chuẩn và phát hành ngay lập tức
- Karol Herbst đã đạt chứng nhận OpenCL 3.0, tận dụng trình biên dịch của Rosenzweig và frontend rusticl
- Việc bổ sung hỗ trợ sparse texture giúp chạy các game cao cấp thông qua Direct3D 12 và Proton
Thành quả và tác động của dự án
- Asahi Linux hỗ trợ OpenGL 4.6, OpenGL ES 3.2, OpenCL 3.0 và Vulkan 1.4, hoàn thành mọi mục tiêu
- Trình điều khiển đã được tích hợp hoàn toàn vào Mesa và tối ưu hiệu năng xong
- Với Proton gaming, các game Windows có thể chạy mượt trên Linux, tận dụng công nghệ từ Steam Deck
- Dự án đã phá bỏ quan niệm rằng Vulkan không phù hợp với phần cứng Apple, đồng thời thông qua dự án KosmicKrisp của LunarG để đưa Vulkan lên macOS
- Sau thành công của dự án, Rosenzweig rời khỏi hệ sinh thái Apple, còn nhóm Asahi Linux tiếp tục công việc
- Thử thách tiếp theo được lên kế hoạch là chuyển sang kiến trúc Xe HPG của Intel
Kết luận
- Asahi Linux đã phát triển thành công trình điều khiển đồ họa mã nguồn mở thông qua đảo ngược kỹ thuật GPU Apple M1
- Việc tuân thủ tiêu chuẩn công nghiệp và hỗ trợ Proton đã mở rộng khả năng chơi game Linux trên phần cứng Apple
- Dự án này cho thấy sức mạnh của sự hợp tác trong cộng đồng mã nguồn mở và kỹ thuật đảo ngược, đồng thời đưa ra một lựa chọn thay thế cho các hệ thống độc quyền
4 bình luận
Tôi có theo dõi Asahi Lina nên đã từng thấy trên livestream cảnh cô ấy reverse-engineer GPU M1 và phát triển kernel, nhưng giờ có vẻ đã thành archive nên không còn thấy nữa…
Wow.....................................................................................................................................đúng là quái vật.
Ý kiến trên Hacker News
Thành quả này có ý nghĩa to lớn không chỉ về chiều sâu kỹ thuật mà còn về mặt biểu tượng; công việc của Alyssa thực sự rất truyền cảm hứng. Bằng sự thấu hiểu kỹ thuật sâu sắc và nhiều năm cống hiến, cô ấy đã mang đồ họa mã nguồn mở lên Apple Silicon, qua đó tạo động lực lớn cho các kỹ sư reverse engineering và các nhà phát triển mã nguồn mở. Điều đó cho thế hệ mới thấy rằng có thể vượt qua rào cản bằng sự tò mò và kiên trì. Thật sự rất vui khi được chứng kiến sự phát triển ấy trong vài năm qua. Xin bày tỏ sự kính trọng lớn tới cô ấy và tất cả những người đã giúp dự án này thành hiện thực, đồng thời chúc cô ấy may mắn với thử thách mới tại Intel
Thực sự có cảm giác như là hồi kết của cả một thời đại. Thật đáng kinh ngạc khi cô ấy bắt đầu hành trình này từ năm 18 tuổi và hoàn thành nó sau 5 năm. Khi đó không nhiều người tin rằng GPU có thể chạy được trên Asahi linux. Tôi tò mò không biết “Onto the next challenge!” trong liên kết kia ám chỉ thử thách tiếp theo nào. Có lẽ là sẽ làm việc trên Intel Xe-HPG chăng
Đúng vậy, trong CV của cô ấy cũng có ghi rằng từ tháng này cô ấy đã bắt đầu làm việc tại Intel về driver đồ họa mã nguồn mở
Bắt đầu từ “vẽ tam giác” mà giờ đã upstream được cả Vulkan trên M1 thì thực sự quá ấn tượng. Trên thực tế nhờ vậy mà đường Venus/virtio trong môi trường guest trên Apple Silicon đã trở nên khả thi, và đây chính là tính năng mà rất nhiều người đang cần
"Tôi thuộc một ủy ban giám sát Linux graphics, một nửa trong số đó là người chuyển giới. Nếu bạn coi Linux là điều quan trọng thì bạn phải chống lại các cuộc tấn công nhắm vào người chuyển giới. Nếu còn chút lương tâm nào, tôi nghĩ bạn nên đứng lên phản kháng" (liên kết blog)
Tôi hỏi hoàn toàn vì tò mò thôi, nhưng cảm giác như số lập trình viên chuyển giới cực kỳ tài năng nhiều một cách không tương xứng. Tỷ lệ người chuyển giới trong dân số nói chung là rất nhỏ, nên việc một nhóm nào đó có đến một nửa là người chuyển giới thực sự là điều rất hiếm. Hơn nữa còn có cả meme như “programmer socks”, và bản thân tôi cũng trực tiếp biết vài lập trình viên chuyển giới rất giỏi
Tôi không rõ ngữ cảnh của bình luận này là gì. Dù đúng là cùng một tác giả viết, nhưng có vẻ chẳng liên quan trực tiếp gì đến M1 GPU cả
Việc tác giả nhanh chóng hiện thực hóa các graphics API hiện đại trên một phần cứng từng bị coi là 'bất khả thi', rồi sau đó rời đi đầy dứt khoát, thật sự tạo ấn tượng rất mạnh. Đúng là một màn “mic drop” hoàn hảo
Không hiểu sao có thể làm được cả ba việc đó cùng lúc, trong khi tôi đến một việc còn thấy chật vật để làm cho ra hồn
Tôi nghĩ cô ấy đúng là một trong số rất ít người có năng lực vượt trội thực sự. Dĩ nhiên, việc không phải lãng phí thời gian cho những nỗ lực vô nghĩa khi đi làm và được đền đáp xứng đáng cũng góp phần tạo nên kết quả này. Mức độ tự quản lý và định hướng mục tiêu như vậy thật sự là trường hợp rất hiếm. Có lẽ cô ấy hầu như không có gia đình, đời sống xã hội hay sở thích nào khác
Nghe đúng kiểu câu chuyện về kỹ sư năng suất gấp 10 lần trong truyền thuyết
Tôi nghĩ đây là một thành tựu thật sự tuyệt vời. Những gì cô ấy đạt được ở tuổi 23 còn nhiều hơn những gì tôi tích lũy sau hơn 10 năm làm việc trong ngành. Đúng là một kỹ sư có tài năng xuất chúng
Tôi thực sự muốn gửi lời cảm ơn đến đội Asahi, đặc biệt là phần công việc về GPU. Việc quay lại phát triển OpenGL luôn nằm trong wishlist của tôi, và từ khi bắt đầu dùng fedora-asahi remix làm máy chính hằng ngày, tôi có cảm giác như cuối cùng mình lại thực sự sở hữu chiếc máy tính của mình. Công việc của họ truyền cảm hứng để tôi tiếp tục mày mò với mã Zig PinePhone, dù tôi không có đủ trình độ để đưa GPU vượt xa mức poke'd framebuffer. Checklist API mà Asahi hỗ trợ thật sự choáng ngợp, và những gì họ làm được trong thời gian ngắn như vậy gần như khó tin. Một lần nữa xin cảm ơn, và chúc may mắn tại Intel
Cô ấy bắt đầu làm việc tại Intel vào tháng 8, và chỉ trong vài tháng đã đạt được phần lớn những gì người khác phải mất cả năm mới làm xong. Thật đáng kinh ngạc (liên kết CV)
Tôi không có gì đặc biệt để nói, chỉ thật sự muốn khen một câu "Làm tốt lắm!", và rất mong chờ xem cô ấy sẽ làm gì tiếp theo
Alyssa thực sự là một người truyền cảm hứng, và tôi rất vui khi cô ấy được làm việc trong lĩnh vực mà mình thấy hứng thú
Thật sự ấn tượng, đến mức nghe như một câu chuyện quá kịch tính để tin rằng đây là thành quả của một người duy nhất.
Tôi vào blog đọc cả
resumenữa thì đúng là quái vật thật.Đời anh ấy đúng kiểu bản thân cuộc đời chính là driver đồ họa vậy;;