Linux kurulu bilgisayarınızda oyun çalıştırmak için Steam'in uyumluluk
özelliklerini kullandığınızda, oyunu iki yardımcı programdan biriyle
çalıştırma seçeneğiniz var: Proton ve Steam Linux Runtime.
Steam Linux Runtime Nedir?
Steam Linux Runtime seçeneği, oyunun stüdyo tarafından sağlanan
Linux'ta yerel bir bağlantı noktasını çalıştırır. Ancak herhangi bir dağıtımda
çalışmasını sağlamak için bir kapsayıcı içinde çalışır. Yani, Steam Linux
Runtime seçeneğini seçerseniz oynayacağınız sürüm bu yerel sürüm olacaktır.
Oyun ile işletim sisteminiz arasında Steam'in konteyner sistemi dışında
herhangi bir uyumluluk katmanı çalıştırılmayacaktır.
Genellikle
Steam Linux Runtime olarak anılan Steam konteyner çalışma zamanı çerçevesi,
Linux'ta Steam oyunlarını bir konteyner ortamında çalıştırmak için
kullanılabilen bir konteyner ortamları koleksiyonudur.
Bu yeni
çalışma zamanları, ana işletim sisteminin paylaşılan kitaplıklarını Valve
tarafından sağlanan paylaşılan kitaplıklarla birleştiren bir LD_LIBRARY_PATH
oluşturmak yerine, daha öngörülebilir bir ortam oluşturmak için Linux ad alanı
(konteyner) teknolojisini kullanır. Steam Play uyumluluk araçlarının bir
koleksiyonu olarak uygulanır.
Tüm bu uyumluluk araçlarının özü,
Steam Çalışma Zamanı'ndaki uygulama düzeyindeki kitaplıkları ana bilgisayar
işletim sistemindeki grafik sürücüleriyle birleştiren pressure-vessel’dır. Bu
sayede Steam Runtime ile mümkün olduğu kadar uyumlu olan ve aynı zamanda
güncel GPU donanımıyla çalışmak için gerekli tüm grafik sürücülerine sahip
olan bir sistem ortaya çıkıyor.
Steam Play uyumluluk araçları
gerektiğinde pressure-vessel’ı otomatik olarak çalıştırır.
Konteyner Çalışma Zamanları Neden Gereklidir?
Geleneksel LD_LIBRARY_PATH çalışma zamanı yalnızca modern ana
bilgisayar işletim sistemlerinin ondan daha yeni olması nedeniyle çalışır.
LD_LIBRARY_PATH tabanlı bir çalışma zamanını güvenilir kılmak zordur.
Özellikle de çalışma zamanından daha eski bazı paketlere sahip ana işletim
sistemlerinde çalıştırılabilir olmasını ve eski LTS dağıtımlarının
kullanıcılarının en yeni oyunları çalıştırmasına izin vermesini istediğimiz
için zordur.
Bazı kitaplıklar teknik nedenlerden dolayı (özellikle
glibc ve grafik sürücüleri) LD_LIBRARY_PATH'de paketlenemez. Bir
LD_LIBRARY_PATH çalışma zamanının bunları ana bilgisayar sisteminden alması
gerekir ve bunların en azından derlendiği sürüm olması gerekir. Bu, çok eski
olan scout sürümü için iyidir, ancak (örneğin) Ubuntu 18.04'te çalışmayan
Debian 10 tabanlı bir çalışma zamanı için uygun olmayacaktır.
Bazı
kitaplıklar bir araya getirilebilir, ancak eklentileri farklı yerlerde
(çalışma zamanının kendisinde veya dağıtıma bağımlı birden çok yerde) aramak
için yamalanmaları gerekir ki bu gerçekten sürdürülebilir değildir. Bu
kitaplıklara yama uygulama ihtiyacını ortadan kaldırmak, bunları güncellemek
için gereken süreyi büyük ölçüde azaltır ve gerektiğinde güvenlik ve hata
düzeltme güncellemelerinin uygulanabilmesini sağlar.
/usr dosyasını
çalışma zamanının kitaplıklarıyla değiştirmek için ad alanı (kapsayıcı)
teknolojisini kullanmak, bu iki sorunu da ortadan kaldırır.
Steam Linux Runtime 1.0 (scout)
Steam çok sayıda eski yerel Linux oyunu sunmaktadır. Bu
oyunlardan bazıları, (örneğin Team Fortress 2), sıkı bir scout ortamında
dikkatlice derlendi. Böylece scout LD_LIBRARY_PATH çalışma zamanında veya
scout ile en azından aynı kütüphaneleri sağlayan herhangi bir ortamda
çalışabilirler.
Ne yazık ki, birçok yerel Linux oyunu daha yeni bir
ortamda derlendi ve LD_LIBRARY_PATH çalışma zamanında yalnızca ana işletim
sisteminin scout'takilerden daha yeni kitaplıklar sağlaması ve yine de oyunun
varsayımlarıyla uyumlu olması durumunda çalışacaktır. Bu istikrarlı bir durum
değil: Ubuntu 20.04'te çalışan bir oyun, Ubuntu 22.04'e rutin bir yükseltme
ile kolayca bozulabilir.
Steam Linux Runtime 1.0 (scout) uyumluluk
aracı, uygulama kimliği 1070560, bu sorunu azaltmak için soldier ile aynı
konteyner teknolojisini kullanıyor. Belirli bir oyunu çalıştırmak için
seçilirse veya bir oyun gerektiriyorsa Steam kitaplığınıza
steamapps/common/SteamLinuxRuntime olarak otomatik olarak indirilecektir.
Aşağıdaki komutu çalıştırarak da kurulabilir:
steam
steam://install/1070560
Soldier ve sniper konteyner çalışma
zamanlarından farklı olarak, bir soldier konteynerına girilerek ve ardından bu
konteynerin içinde bir keşif LD_LIBRARY_PATH çalışma zamanı kurularak
uygulanır.
Steam Deck, birçok yerel Linux oyunu için otomatik
olarak Steam Linux Runtime 1.0 (scout) kapsayıcısını kullanır. Geçmişte, Ocak
2022 güncellemesi ile 2023 ortası arasında Dota 2 gibi bazı oyunlar varsayılan
olarak Linux masaüstü sistemlerinde bu kapsayıcıda çalıştırılıyordu. Bu
mekanizma şu anda masaüstü Linux'taki üçüncü taraf oyunlar için mevcut değil.
Ancak kullanıcılar bu kapsayıcıda çalıştırılabilir.
Eylül 2023'ten önce bu
uyumluluk aracı Steam Linux Çalışma Zamanı olarak adlandırılıyordu. Eski ad
hala bazı bağlamlarda görünebilir.
Steam Linux Runtime 2.0 (soldier)
Steam Runtime 2, Debian 10'u (2019'da piyasaya sürüldü) temel
alan scout'tan daha yeni bir çalışma zamanıdır. Kütüphanelerinin çoğu doğrudan
Debian'dan alınmıştır ve Debian'ın uzun vadeli güvenlik desteğinden
yararlanabilirler. SDL ve Vulkan-Loader gibi oyunlar için özellikle önemli
olan seçili kütüphaneler, Debian'ın daha yeni şubelerinden desteklenen daha
yeni sürümlere yükseltildi.
Soldier, pressure-vessel için konteyner
çalışma zamanı olarak kullanılmak üzere tasarlanmıştır ve LD_LIBRARY_PATH
çalışma zamanı olarak kullanılamaz.
Soldier, daha yeni kütüphane yığınına
göre derlenen ve scout ile uyumlu olmayan Proton 5.13 ila 7.0 sürümleri için
çalışma zamanı ortamı olarak kullanılır. Proton'un daha yeni sürümleri daha
yeni bir çalışma zamanı kullanır.
Soldier gerektiren yerel Linux
oyunları şu anda Steam'de yayınlanamıyor. Yerel Linux oyunları için yeni nesil
çalışma zamanının Steam Runtime 3 Sniper olması amaçlanmaktadır.
Steam
Linux Çalışma Zamanı 2.0 (soldier) uyumluluk aracı, uygulama kimliği 1391110,
gerektiren bir Proton sürümünü veya bunu gerektiren Steam Linux Çalışma Zamanı
uyumluluk aracını seçtiğinizde Steam kitaplığınıza
steamapps/common/SteamLinuxRuntime_soldier olarak otomatik olarak indirilir
Aşağıdaki
komutu çalıştırarak da kurulabilir:
steam steam://install/1391110
Eylül 2023'ten önce bu uyumluluk aracı
Steam Linux Runtime - soldier olarak etiketlendi.
Steam Linux Runtime 3.0 (sniper)
Steam Runtime 3, Debian 11'i (2021'de piyasaya sürüldü) temel
alan başka bir yeni çalışma zamanıdır. Temel dağıtımının 2 yıl daha yeni
olması dışında soldier’a çok benzer. Bu, çekirdek kütüphanelerinin ve
derleyicisinin de yaklaşık 2 yıl daha yeni olduğu anlamına gelir. Proton 8.0,
bunun avantajlarından yararlanmak için soldier’dan sniper’a geçti.
Sniper
gerektiren yerel Linux oyunları Steam'de yayınlanabilir. Amaç, bunun
Steamworks iş ortağı web arayüzü aracılığıyla, daha yeni bir kütüphane
yığınından yararlanan herhangi bir oyun tarafından kullanılabilecek bir "self
servis" özelliği olarak sunulmasıdır. Ancak 2023'ün başlarında bu mekanizma
henüz hazır değil, bu nedenle bir oyunu sniper’da çalışacak şekilde
yapılandırmak için Valve geliştiricisinin manuel kurulumu gerekiyor.
Bu
mekanizmayı ilk benimseyenler arasında Ağustos 2022'den bu yana Retroarch,
2023 başı/ortası itibarıyla Endless Sky ve 2023 ortasından bu yana Dota 2
bulunmaktadır.
Steam Linux Runtime 3.0 - sniper uyumluluk aracı,
uygulama kimliği 1628350, bir oyun gerektiriyorsa Steam kitaplığınıza
steamapps/common/SteamLinuxRuntime_sniper olarak otomatik olarak
indirilecektir.
Aşağıdaki komutu çalıştırarak da kurulabilir:
steam steam://install/1628350
Eylül 2023'ten önce bu uyumluluk aracı
Steam Linux Runtime - sniper olarak etiketlendi.
Steam Linux Runtime 4 (medic)
Steam Runtime 4, şu anda Debian 12'yi (2023'te piyasaya sürüldü)
temel alan bir prototip çalışma zamanıdır. Sniper gibi, yapısal olarak
Soldier’a benziyor, ancak daha yeni bir üs dağıtımına sahiptir.
Medic
için henüz bir uyumluluk aracı mevcut değil. İçeriği, test sonuçlarına ve oyun
gereksinimlerine bağlı olarak değişebilir.
Steam Linux Runtime 5
Steam Runtime 5, şu anda Debian 13'ü temel alan bir prototip
çalışma zamanıdır 2025'in ortasında piyasaya sürülmesi bekleniyor. Sniper
gibi, yapısal olarak Soldier’a benziyor, ancak daha yeni bir üs dağıtımına
sahiptir.
Steamrt5 için henüz bir uyumluluk aracı mevcut değil.
İçeriği, test sonuçlarına ve oyun gereksinimlerine bağlı olarak değişebilir.