Oyunlar giderek daha fazla görsel güce ihtiyaç duydukça, ekran kartlarının bellek (VRAM) kullanımı da kaçınılmaz bir sorun haline geliyor. Yüksek grafik detayları, VRAM'de daha fazla verinin depolanmasını gerektiriyor ve bu da 8 GB veya daha az belleğe sahip kartların oyunları akıcı bir şekilde çalıştırmasını zorlaştırıyor. Ancak Linux kullanıcıları için bu duruma çözüm getirecek yeni bir gelişme yaşandı. Yapılan bir yenilik, VRAM kullanımını optimize ederek oyunlarda dikkat çekici bir performans artışı sağlıyor.
Valve bünyesinde Linux grafik sürücüsü ekibinde yer alan bir mühendis tarafından geliştirilen bu çözüm, VRAM kullanım sorununu gidermek amacıyla yeni çekirdek yamaları ve iki özel yardımcı araç içeriyor. Bu yamalar, işletim sistemine hangi oyunun ön planda olduğunu ve dolayısıyla VRAM önceliğini hak ettiğini bildiriyor. Eğer VRAM dolmaya başlarsa, arka planda çalışan diğer görevlerin VRAM'i yerine sistem RAM'ini kullanması sağlanıyor.
Daha önce, bir oyun aşırı VRAM tükettiğinde, Linux çökümleri önlemek için oyunun verilerini sistem belleğine taşıyabiliyordu. Bunun nedeni, Linux çekirdeğinin hangi programı önceliklendirmesi gerektiği konusunda net bir fikrinin olmamasıydı; bu durum, VRAM'i arka planda çalışan bir tarayıcı penceresine tahsis etmek için oyunu sistem belleğine taşıyabilirdi. Bu olduğunda, oyunlarda tutarsız kare hızları ve takılmalar yaşanabiliyordu.
Yapılan testlerde, 8 GB VRAM'e sahip bir ekran kartıyla Cyberpunk 2077 oynanırken yaklaşık 1.37 GB veri Grafik Çeviri Tablosu'na (GTT - Graphics Translation Table) taşmıştı. GTT, GPU'nun sistem RAM'inde bir şey araması gerektiğini belirten bileşendir. Oyun aslında sadece 6 GB civarında VRAM kullanıyordu ve 8 GB'lık bir bellek havuzuna sahip olmasına rağmen, bu kapasite tam olarak kullanılamıyordu. Geliştirilen bu yeni yamalar, Linux çekirdeğine önerilen değişikliklerle tam da bu sorunu hedef alıyor.
Geliştirilen ana çözümün adı dmemcg-booster (Device Memory Control Groups). Bu araç, Linux'a hangi programın o an için korunması gerektiğini, yani VRAM'den atılamayacağını ve GTT'ye gönderilemeyeceğini söylüyor. Eğer arka planda çalışan bir görev VRAM'e ihtiyaç duyarsa, oyunun kesintisiz çalışmasını sağlamak için daha yavaş olan sistem belleğine taşınan o görev olacaktır.
Bu yenilik, VRAM kullanımını tamamen azaltmaktan çok, onu optimize etmeye odaklanıyor. Örneğin, 12 GB'lık bir ekran kartınız olsaydı, yetersiz önceliklendirilen arka plan programları için yeterli tampon alan olduğundan 8 GB VRAM'in dezavantajlarını fark etmezdiniz. Şimdi ise daha az VRAM'e sahip GPU'lar bile tam potansiyellerinde çalışabilir hale geliyor. Örneğin, bu yamalar uygulandıktan sonra Cyberpunk 2077 yaklaşık 7.4 GB VRAM kullanmaya başladı ve GTT kullanımı sadece 650 MB'a düştü.
Diğer bileşen ise plasma-foreground-booster olarak adlandırılıyor. Bu araç, KDE'ye hangi pencerenin ön planda olduğunu otomatik olarak bildirebiliyor, böylece o pencere için VRAM kullanımı önceliklendirilebiliyor. Bu yamalar şu anda belirli Linux dağıtımlarına entegre ediliyor ve ana Linux çekirdeğine dahil edilmeyi bekliyor. Bu yamaları herhangi bir dağıtımda kendiniz indirip kullanabilirsiniz, ancak yalnızca AMD GPU'larda çalışacağını unutmayın, çünkü Nvidia sürücülerinin kapalı kaynak bellek yönetimi nedeniyle bu yamalar onlarla uyumlu değil.