- Proyek Asahi Linux memungkinkan Linux berjalan di Mac Apple M1 dan M2, dan telah menyelesaikan dukungan untuk sebagian besar perangkat keras termasuk nirkabel, audio, dan akselerasi grafis
- Proyek ini dimulai pada Desember 2020 oleh Hector Martin, lalu Alyssa Rosenzweig bergabung dengan melakukan rekayasa balik set instruksi shader M1 GPU
- Pada Desember 2022, Asahi Linux mewujudkan akselerasi grafis dengan menggabungkan driver OpenGL dan driver kernel, sehingga game 3D dapat dijalankan
- Pada 2023~2024, Rosenzweig mengembangkan driver yang memenuhi spesifikasi OpenGL 4.6 dan Vulkan 1.4, serta mendukung menjalankan game Windows melalui Proton
- Proyek open source ini melampaui driver nonstandar Apple dan mencapai standar industri, sekaligus membuka jalan bagi hadirnya Vulkan di macOS
Pentingnya dan keunggulan proyek open source
- Asahi Linux adalah proyek open source yang memungkinkan Linux berjalan pada chip Apple M1 dan M2, serta menyediakan dukungan perangkat keras penuh tanpa bergantung pada perangkat lunak tertutup
- Sementara driver tertutup Apple tidak mematuhi spesifikasi OpenGL dan Vulkan, Asahi Linux menargetkan kepatuhan terhadap standar industri untuk meningkatkan keandalan dan kompatibilitas
- Dibandingkan proyek driver grafis open source lain seperti Panfrost, Asahi Linux berkembang cepat melalui rekayasa balik dan menonjol lewat optimalisasi performa gaming dengan memanfaatkan Proton
Awal proyek dan pekerjaan tahap awal
- Pada Desember 2020, Hector Martin memulai Asahi Linux dan mendorong rekayasa balik GPU Apple M1
- Alyssa Rosenzweig ikut bergabung saat bekerja pada Panfrost (driver GPU Arm Mali open source) di Collabora
- Awalnya ia hanya berniat memberi saran sederhana, namun kemudian membeli M1 Mac dan mulai menganalisis instruksi shader
- Pada awal 2021, Rosenzweig berhasil melakukan rendering segitiga hanya dalam beberapa minggu, membangun fondasi grafis 3D
- Rendering segitiga adalah titik awal bagi semua pekerjaan dalam grafis 3D, yang kemudian memungkinkan implementasi grafis yang lebih kompleks
- Setelah itu ia mengembangkan kompiler shader, lalu seusai ujian akhir semester mengimplementasikan driver OpenGL dan mendemonstrasikan roda gigi yang berputar
Pengembangan driver dan pencapaian
- Pada 2021~2022, Rosenzweig terus melakukan rekayasa balik dan meningkatkan driver OpenGL, sehingga game 3D dapat dijalankan di macOS
- Asahi Lina menulis driver kernel untuk GPU Apple, lalu menggabungkannya dengan driver OpenGL di ruang pengguna
- Pada Desember 2022, Asahi Linux mulai mendukung akselerasi grafis, melengkapi seluruh stack grafis
- Pada 2023, Rosenzweig menjalani semester terakhir ilmu komputer di University of Toronto sambil tetap mengembangkan driver
- Setelah keberhasilan proyek Panfrost, ia menjadikan driver GPU M1 sebagai tantangan baru
- Target: OpenGL 4.6, Vulkan, dan dukungan gaming Proton
Kepatuhan terhadap spesifikasi OpenGL dan Vulkan
- Pada 2023, ia mengimplementasikan OpenGL 3.1 dan memperoleh sertifikasi spesifikasi OpenGL ES 3.1
- OpenGL ES 3.2 memerlukan geometry shader, tetapi perangkat keras Apple tidak mendukungnya sehingga diemulasikan dengan compute shader
- Dengan memanfaatkan kode bersama pada driver Mesa, pengembangan dapat dipercepat dan emulasi geometry/tessellation pun diimplementasikan
- Pada Januari 2024, driver ini memperoleh sertifikasi spesifikasi OpenGL 4.6, melampaui driver nonstandar milik Apple
- Pengembangan driver Vulkan meraih sertifikasi Vulkan 1.3 hanya dalam beberapa bulan
- Emulasi geometry/tessellation diintegrasikan ke Vulkan untuk mendukung game Direct3D dan Proton
- Pada hari yang sama ketika spesifikasi Vulkan 1.4 diumumkan, implementasi sertifikasi spesifikasi langsung tersedia dan segera dirilis
- Karol Herbst memperoleh sertifikasi OpenCL 3.0 dengan memanfaatkan kompiler Rosenzweig dan frontend rusticl
- Dukungan sparse texture ditambahkan sehingga game tingkat lanjut dapat dijalankan melalui Direct3D 12 dan Proton
Hasil proyek dan dampaknya
- Asahi Linux mendukung OpenGL 4.6, OpenGL ES 3.2, OpenCL 3.0, dan Vulkan 1.4, sehingga seluruh target tercapai
- Driver telah terintegrasi sepenuhnya ke Mesa dan optimasi performa pun selesai
- Dengan gaming Proton, game Windows dapat berjalan mulus di Linux dengan memanfaatkan teknologi Steam Deck
- Proyek ini mematahkan anggapan bahwa Vulkan tidak cocok untuk perangkat keras Apple, dan menghadirkan Vulkan ke macOS melalui proyek KosmicKrisp dari LunarG
- Setelah proyek ini sukses, Rosenzweig meninggalkan ekosistem Apple, sementara tim Asahi Linux melanjutkan pekerjaannya
- Tantangan berikutnya adalah rencana beralih ke arsitektur Xe HPG milik Intel
Kesimpulan
- Asahi Linux berhasil mengembangkan driver grafis open source melalui rekayasa balik GPU Apple M1
- Kepatuhan pada standar industri dan dukungan Proton memperluas kemungkinan gaming Linux di perangkat keras Apple
- Proyek ini menunjukkan kekuatan kolaborasi komunitas open source dan teknik rekayasa balik, sekaligus menawarkan alternatif terhadap sistem tertutup
4 komentar
Saya berlangganan Asahi Lina, jadi saya pernah melihat siaran yang membahas reverse engineering GPU M1 dan pengembangan kernel, tetapi sekarang sepertinya sudah diarsipkan sehingga tidak terlihat lagi…
Wow.....................................................................................................................................benar-benar monster
Komentar Hacker News
Pencapaian ini sangat besar maknanya bukan hanya dari kedalaman teknisnya, tetapi juga dari sisi simbolisnya; pekerjaan Alyssa benar-benar menginspirasi. Dengan wawasan teknis yang mendalam dan dedikasi bertahun-tahun, ia menghadirkan grafis open source ke Apple Silicon, memberi dorongan besar bagi para reverse engineer dan pengembang open source. Ia menunjukkan kepada generasi baru bahwa rasa ingin tahu dan kegigihan bisa menembus batas. Sangat menyenangkan melihat perkembangannya selama beberapa tahun terakhir. Rasa hormat yang besar untuknya dan semua orang yang memungkinkan proyek ini, dan semoga sukses juga untuk tantangan barunya di Intel
Rasanya benar-benar seperti akhir dari sebuah era. Sulit dipercaya bahwa ia memulai perjalanan ini saat berusia 18 tahun dan menuntaskannya dalam 5 tahun. Tidak banyak yang percaya GPU bisa dibuat berjalan di Asahi linux. Aku penasaran apa yang dimaksud dengan tantangan berikutnya yang ia sebut di tautan “Onto the next challenge!”. Mungkin ia akan mengerjakan Intel Xe-HPG
Betul, di resuménya juga tertulis bahwa mulai bulan ini ia mulai bekerja di Intel pada driver grafis open source
Memulai dari “menggambar segitiga” lalu sekarang berhasil meng-upstream Vulkan di M1 itu benar-benar luar biasa. Secara praktis, ini membuat jalur Venus/virtio menjadi mungkin di lingkungan guest Apple Silicon, dan banyak orang memang membutuhkan fitur itu
"Saya berada di komite yang mengawasi Linux graphics, dan setengah dari anggotanya adalah transgender. Jika Anda hanya peduli pada Linux, Anda harus menolak serangan terhadap transgender. Jika Anda punya sedikit saja hati nurani, saya rasa Anda harus melawannya" (tautan blog)
Aku bertanya murni karena penasaran, tapi rasanya jumlah programmer transgender yang sangat berbakat itu secara proporsional sangat banyak. Populasi transgender sendiri sangat kecil dalam keseluruhan populasi, jadi kasus di mana setengah dari suatu kelompok adalah transgender terasa sangat langka. Ditambah lagi ada meme seperti “programmer socks”, dan aku sendiri juga mengenal langsung beberapa programmer transgender yang sangat mahir
Aku kurang paham konteks komentar ini. Memang ditulis oleh penulis yang sama, tapi tampaknya tidak ada hubungan langsung dengan M1 GPU
Sangat mengesankan melihat penulis dengan cepat mengimplementasikan API grafis modern pada perangkat keras yang 'mustahil', lalu pergi begitu saja tanpa menoleh ke belakang. Benar-benar sebuah ‘mic drop’ yang sempurna
Aku benar-benar penasaran bagaimana tiga hal ini bisa dijalankan sekaligus. Aku saja kesulitan melakukan satu pun dengan baik
Menurutku dia memang salah satu dari segelintir orang yang benar-benar punya kemampuan luar biasa. Tentu saja, hasil seperti ini juga mungkin karena saat bekerja ia tidak membuang waktu untuk upaya yang tidak bermakna dan mendapat kompensasi yang layak. Tingkat manajemen diri dan orientasi tujuan seperti ini benar-benar langka. Mungkin saja ia hampir tidak punya keluarga, kehidupan sosial, atau hobi lain
Kedengarannya seperti kisah insinyur legendaris dengan produktivitas 10x
Menurutku ini pencapaian yang sangat keren. Apa yang ia capai di usia 23 tahun lebih banyak daripada yang berhasil kukumpulkan setelah lebih dari 10 tahun bekerja di industri. Ia benar-benar insinyur yang berbakat
Aku ingin benar-benar berterima kasih kepada tim Asahi, khususnya untuk pekerjaan GPU mereka. Salah satu hal dalam wish list-ku adalah suatu hari kembali mengerjakan pengembangan OpenGL, dan sejak belakangan memakai fedora-asahi remix sebagai mesin harian, rasanya aku benar-benar memiliki komputerkku lagi. Pekerjaan mereka menginspirasiku untuk terus mencoba kode Zig PinePhone milikku, walaupun aku mungkin tidak punya kemampuan untuk menjalankan GPU lebih dari sekadar poke'd framebuffer. Checklist API yang didukung Asahi benar-benar terasa luar biasa, dan apa yang mereka capai dalam waktu sesingkat ini nyaris sulit dipercaya. Sekali lagi terima kasih, dan semoga beruntung di Intel
Ia mulai bekerja di Intel pada bulan Agustus, dan hanya dalam beberapa bulan sudah mencapai hasil yang biasanya bagi kebanyakan orang memerlukan setahun. Benar-benar menakjubkan (tautan resume)
Tidak banyak yang ingin kukatakan secara khusus, tapi aku benar-benar ingin bilang "kerja bagus!", dan aku menantikan akan mengerjakan apa dia berikutnya
Alyssa benar-benar sosok yang menginspirasi, dan aku senang ia bisa bekerja di bidang yang menurutnya menarik
Rasanya seperti cerita yang terlalu dramatis untuk dipercaya sebagai pencapaian satu orang saja, dan sangat mengesankan.
Saya juga masuk ke blognya dan membaca resume-nya, benar-benar monster.
Hidupnya sendiri benar-benar seperti graphic driver;;