- Asahi Linux projesi, Apple M1 ve M2 Mac'lerde Linux çalıştırmayı mümkün kılıyor ve kablosuz, ses, grafik hızlandırma dahil olmak üzere donanım desteğinin büyük bölümünü tamamladı
- Proje Aralık 2020'de Hector Martin tarafından başlatıldı; Alyssa Rosenzweig ise M1 GPU'nun shader komut kümesini tersine mühendislikle analiz ederek projeye katıldı
- Aralık 2022'de Asahi Linux, OpenGL sürücüsü ile çekirdek sürücüsünü birleştirerek grafik hızlandırmayı hayata geçirdi ve 3D oyunların çalışmasını sağladı
- 2023~2024 döneminde Rosenzweig, OpenGL 4.6 ve Vulkan 1.4 standartlarını karşılayan sürücüler geliştirdi; Proton üzerinden Windows oyunlarını çalıştırma desteği sundu
- Bu açık kaynak proje, Apple'ın standart dışı sürücülerinin ötesine geçerek endüstri standardı düzeyine ulaştı ve macOS'e Vulkan getirilmesinin önünü açtı
Açık kaynak projenin önemi ve avantajları
- Asahi Linux, Apple M1 ve M2 çiplerinde Linux çalıştırmayı mümkün kılan bir açık kaynak proje olarak, kapalı kaynak yazılıma bağımlı olmadan eksiksiz donanım desteği sunuyor
- Apple'ın kapalı sürücüleri OpenGL ve Vulkan standartlarına uymarken sorunlu bir tablo çizerken, Asahi Linux endüstri standardına uyumu hedefleyerek güvenilirlik ve uyumluluğu artırıyor
- Panfrost gibi diğer açık kaynak grafik sürücüsü projeleriyle karşılaştırıldığında, Asahi Linux tersine mühendislik sayesinde hızla ilerlemesi ve Proton tabanlı oyun performansı optimizasyonuyla ayrışıyor
Projenin başlangıcı ve ilk çalışmalar
- Aralık 2020'de Hector Martin, Asahi Linux projesini başlatarak Apple M1 GPU'nun tersine mühendisliğini ilerletmeye başladı
- Alyssa Rosenzweig, Collabora'da Panfrost (açık kaynak Arm Mali GPU sürücüsü) üzerinde çalışırken projeye katıldı
- İlk başta yalnızca basit tavsiyeler vermeyi düşünüyordu; ancak bir M1 Mac satın alıp shader komutlarını analiz etmeye başladı
- 2021'in başlarında Rosenzweig, birkaç hafta içinde üçgen render etme başarısını elde ederek 3D grafiklerin temelini attı
- Üçgen render etme, 3D grafikte tüm çalışmaların başlangıç noktasıdır ve sonrasında daha karmaşık grafiklerin uygulanmasını mümkün kılar
- Ardından shader derleyicisi geliştirildi; dönem sonu sınavlarından sonra OpenGL sürücüsü uygulanarak dönen dişli gösterimi yapıldı
Sürücü geliştirme ve elde edilen sonuçlar
- 2021~2022 döneminde Rosenzweig, tersine mühendislik çalışmalarını sürdürerek OpenGL sürücüsünü geliştirdi ve macOS üzerinde 3D oyunları çalıştırılabilir hale getirdi
- Asahi Lina, Apple GPU için çekirdek sürücüsü yazdı ve bunu kullanıcı alanındaki OpenGL sürücüsüyle birleştirdi
- Aralık 2022'de Asahi Linux, grafik hızlandırma desteği sunmaya başladı ve tam grafik yığını tamamlandı
- 2023'te Rosenzweig, Toronto Üniversitesi'nde bilgisayar bilimi son dönemini geçirirken sürücü geliştirmeyi de sürdürdü
- Panfrost projesindeki başarının ardından, M1 GPU sürücüsünü yeni bir meydan okuma olarak ele aldı
- Hedefler: OpenGL 4.6, Vulkan ve Proton ile oyun desteği
OpenGL ve Vulkan standartlarına uyum
- 2023'te OpenGL 3.1 uygulandı ve OpenGL ES 3.1 standart sertifikası alındı
- OpenGL ES 3.2 geometri shader'ı gerektiriyor; ancak Apple donanımı bunu desteklemediği için compute shader ile emüle edildi
- Mesa sürücüsünün ortak kodu kullanılarak hızlı geliştirme yapıldı; geometri/tessellation emülasyonu uygulandı
- Ocak 2024'te OpenGL 4.6 standart sertifikası alındı ve Apple'ın standart dışı sürücülerinin önüne geçildi
- Vulkan sürücüsü geliştirmesi, birkaç ay içinde Vulkan 1.3 sertifikası alınmasını sağladı
- Geometri/tessellation emülasyonu Vulkan'a entegre edilerek Direct3D ve Proton oyun desteği sağlandı
- Vulkan 1.4 spesifikasyonunun açıklandığı gün standart sertifikası uygulanıp hemen dağıtıma sunuldu
- Karol Herbst, Rosenzweig'in derleyicisi ve rusticl frontend'ini kullanarak OpenCL 3.0 sertifikası aldı
- Sparse texture desteği eklenerek Direct3D 12 ve Proton üzerinden gelişmiş oyunların çalıştırılması mümkün oldu
Proje çıktıları ve etkisi
- Asahi Linux, OpenGL 4.6, OpenGL ES 3.2, OpenCL 3.0 ve Vulkan 1.4 desteği sunarak tüm hedeflerine ulaştı
- Sürücüler Mesa'ya tamamen entegre edildi ve performans optimizasyonu tamamlandı
- Proton ile oyun sayesinde Windows oyunları Linux'ta akıcı şekilde çalıştırılabildi; Steam Deck'in teknik birikiminden yararlanıldı
- Apple donanımında Vulkan'ın uygun olmadığı yönündeki yanlış kanı kırıldı ve LunarG'nin KosmicKrisp projesi aracılığıyla macOS'e Vulkan getirildi
- Rosenzweig, projenin başarısının ardından Apple ekosisteminden ayrılırken Asahi Linux ekibi çalışmayı sürdürdü
- Bir sonraki meydan okuma olarak Intel'in Xe HPG mimarisine geçmeyi planlıyor
Sonuç
- Asahi Linux, Apple M1 GPU'nun tersine mühendisliği yoluyla açık kaynak bir grafik sürücüsünü başarıyla geliştirdi
- Endüstri standardına uyum ve Proton desteği sayesinde Apple donanımında Linux oyun olanakları genişledi
- Bu proje, açık kaynak topluluğunun iş birliğini ve tersine mühendislik tekniklerinin gücünü gösterirken, kapalı sistemlere karşı bir alternatif sundu
4 yorum
Asahi Lina’ya aboneyim; yayında bir ara M1 GPU tersine mühendisliği ve çekirdek geliştirme yaptığını görmüştüm ama şimdi arşivlendi mi bilmiyorum, görünmüyor…
Vay.....................................................................................................................................canavar gibi
Hacker News görüşleri
Bu başarı, yalnızca teknik derinliğiyle değil sembolik anlamıyla da son derece önemli, Alyssa'nın çalışması gerçekten ilham verici, Apple Silicon'a derin teknik içgörü ve uzun yıllara yayılan adanmışlığıyla açık kaynak grafik desteği kazandırması, tersine mühendisler ve açık kaynak geliştiriciler için büyük bir ilham kaynağı oldu, yeni nesle merak ve azimle engellerin aşılabileceğini gösterdi, son birkaç yıldaki gelişimini izlemek gerçekten çok keyifliydi, kendisine ve bu projeyi mümkün kılan herkese büyük saygı duyuyorum, ayrıca Intel'deki yeni meydan okumasında da başarılar diliyorum
Gerçekten bir devrin sonu gibi hissettiriyor, bu yolculuğa 18 yaşında başlayıp 5 yıl içinde tamamlamış olması şaşırtıcı, Asahi Linux'ta GPU'nun çalıştırılabileceğine inanan pek fazla kişi yoktu, “Onto the next challenge!” bağlantısında sözünü ettiği sonraki meydan okumanın ne anlama geldiğini merak ediyorum, acaba Intel Xe-HPG üzerinde mi çalışacak diye düşünüyorum
Evet, özgeçmişinde de bu aydan itibaren Intel'de açık kaynak grafik sürücüleriyle ilgili çalışmaya başladığı yazıyor
“Üçgen çizmek” ile başlayıp şimdi M1 üzerinde Vulkan'ı upstream etmeye kadar gelmiş olması gerçekten etkileyici, pratikte bu sayede Apple Silicon misafir ortamlarında Venus/virtio yolu mümkün hale geldi ve birçok kişinin tam da bu özelliğe ihtiyacı var
"Linux grafiklerini denetleyen komitedeyim, bunun yarısı trans, eğer yalnızca Linux'u önemsiyorsanız bile translara yönelik saldırılara direnmelisiniz, azıcık vicdanınız varsa buna karşı savaşmanız gerektiğini düşünüyorum" (blog bağlantısı)
Tamamen meraktan soruyorum ama oransal olarak inanılmaz derecede yetenekli çok sayıda trans programcı varmış gibi geliyor, trans nüfus genel toplum içinde çok küçük bir oran olmasına rağmen herhangi bir grubun yarısının trans olması gerçekten nadir bir durum, ayrıca “programcı çorapları” gibi memler de var, ben de bizzat yetkin birkaç trans programcı tanıyorum
Bu yorumun bağlamının ne olduğunu pek anlayamadım, aynı yazarın yazısı olsa da M1 GPU ile doğrudan bir ilgisi yok gibi görünüyor
Yazarın, 'imkansız' denilen bir donanım üzerinde modern bir grafik API'sini hızla hayata geçirip ardından hiç arkasına bakmadan ayrılması gerçekten çok güçlü bir etki bırakıyor, tam anlamıyla kusursuz bir ‘mic drop’
Bunların üçünü aynı anda nasıl yapabildiğini gerçekten merak ediyorum, ben bir tanesini bile doğru düzgün yapmakta zorlanıyorum
Gerçekten olağanüstü kapasiteye sahip ender insanlardan biri olduğunu düşünüyorum, tabii iş yaparken anlamsız çabalara zaman harcamaması ve yeterli karşılık alması da bu sonucu mümkün kılmış olmalı, bu düzeyde öz disiplin ve hedef odaklılık gerçekten çok nadir, muhtemelen aile, sosyal hayat ya da başka hobiler için neredeyse hiç zamanı yoktur diye düşünüyorum
Efsanelerde anlatılan 10x üretken mühendis gibi geliyor
Gerçekten harika bir başarı olduğunu düşünüyorum, onun 23 yaşında başardıkları benim sektörde 10 yıldan uzun sürede biriktirdiklerimden daha fazla, gerçekten çok yetenekli bir mühendis
Asahi ekibine, özellikle de GPU çalışmaları için gerçekten teşekkür etmek istiyorum, OpenGL geliştirmeye bir gün geri dönmek uzun zamandır yapılacaklar listemdeydi ve son dönemde fedora-asahi remix'i günlük makinem olarak kullanmaya başlayınca bilgisayarıma yeniden gerçekten sahipmişim gibi hissediyorum, onların çalışması benim Zig PinePhone koduyla uğraşmayı sürdürmem için ilham veriyor, GPU'yu poke'd framebuffer seviyesinin ötesine taşıyacak beceriye sahip olmasam da, Asahi'nin desteklediği API kontrol listesi gerçekten ezici ve bunu bu kadar kısa sürede başarmış olmaları inanması güç, tekrar teşekkürler ve Intel'de de bol şans diliyorum
Intel'de ağustosta çalışmaya başladı ama sadece birkaç ay içinde çoğu kişinin bir yılda başaracağı kadar işi şimdiden tamamladı, gerçekten inanılmaz (özgeçmiş bağlantısı)
Özellikle söyleyecek çok şeyim yok ama gerçekten sadece "Aferin!" demek istiyorum, ayrıca bundan sonra ne yapacağını görmek için sabırsızlanıyorum
Alyssa gerçekten ilham verici biri, ilgi duyduğu alanda çalışma fırsatı bulmasına sevindim
Bunu tek bir kişinin başardığı bir iş olarak görünce hikâye fazla dramatik gibi dursa da gerçekten etkileyici.
Bloga girip özgeçmişini de okudum; tam bir canavar.
Adamın hayatının kendisi grafik sürücüsü resmen;;