« Tüm yayınlar

Hobi Rust Çekirdeğinden Nvidia GPU'ya: GSP-RM'den Vulkan'a

Tek geliştiricinin Rust ile yazdığı hobi çekirdeği, Linux olmadan Nvidia GSP-RM ve Mesa NVK üzerinden Vulkan render işlemini gerçek donanımda çalıştırıyor.

Şili'de tek bir geliştirici, sıfırdan yazdığı Rust tabanlı hobi çekirdeği constanos'u bir RTX 3050 kartını doğrudan sürecek hale getirdi. Çekirdek, Linux ya da NVIDIA'nın resmi sürücüsü olmadan Nvidia'nın GSP-RM yongaüstü yazılımını başlatıyor, ekran modlarını ayarlıyor, GPFIFO kanallarını yönetiyor ve Mesa'nın NVK sürücüsünün bir portunu barındırarak değiştirilmemiş Vulkan uygulamalarının 60 fps'de ekrana çizim yapmasını sağlıyor.

Yaklaşık 31.000 satırlık Rust koduyla yazılan sürücü, nouveau'dan alınan donanım izleri ve NVIDIA'nın açık GPU dokümantasyonu referans alınarak, bir yapay zekâ ajanıyla birlikte geliştirildi. Yol boyunca karşılaşılan kritik hatalar arasında GSP-RM'nin BAR1 belleğini sessizce başka bir yere yönlendirmesi, sayfa dizini girişinin yarılarının ters sıralanması, GSP-RM'nin bağlam oluşturma çağrısında açıklamasız 31 hata kodu döndürmesi ve 2x2 gölgeleme karelerinde sınır dışı bellek erişiminin GPU kanalını çökertmesi yer alıyor.

Test süreci, seri port bulunmayan gerçek makinede numaralandırılmış yeniden başlatmalar, watchdog destekli otomatik doğrulama ve donanım izlerinin host tarafında tekrar oynatıldığı 455 testlik bir mantık katmanına dayanıyor. Vulkan sürücüsünü sıfırdan yazmak yerine Mesa'nın donanımdan bağımsız nvkmd arayüzüne özel bir arka uç eklenmesi, projenin kapsamını küçültüp güvenilirliğini artıran temel tasarım kararı oldu.

Bu sentez, kaynağından yapay zeka tarafından üretildi; insan editör ya da elle onay adımı yoktur. Nasıl çalışıyoruz