PlayStation 5 oyunlarını Windows ve Linux bilgisayarlarda çalıştırmak için geliştirilen AnyPS5 projesi önemli bir aşamayı geçti. Klasik bir PS5 emülatörü olmayan açık kaynaklı yazılım, konsol oyunlarının çalıştırılabilir dosyalarını PC ortamına uyarlıyor ve PlayStation’a özel sistem çağrılarını yeniden oluşturuyor. Son geliştirmelerle birlikte gerçek bir PS5 oyunu logo ve ana menüyü geçerek oynanış bölümüne kadar ulaşmayı başardı.
AnyPS5 klasik bir PS5 emülatörü değil
PlayStation 5 oyunlarını bilgisayarda çalıştırmaya yönelik projelerin büyük bölümü emülasyon yöntemini kullanıyor. Bu sistemlerde konsolun donanımı, işletim sistemi servisleri ve farklı bileşenleri yazılım üzerinden taklit ediliyor. AnyPS5 ise PS5 ile modern bilgisayarlar arasındaki ortak işlemci mimarisinden yararlanarak farklı bir yol izliyor.

PlayStation 5, AMD tarafından geliştirilen x86-64 tabanlı Zen 2 işlemci kullanıyor. Windows ve Linux çalıştıran masaüstü bilgisayarların büyük bölümü de x86-64 mimarisine sahip olduğu için PS5 oyunlarının işlemci komutlarının tamamen farklı bir mimariye çevrilmesine gerek kalmıyor.
AnyPS5 bu avantajı kullanarak PS5 çalıştırılabilir dosyalarını doğrudan PC’de kullanılabilecek hale getiren bir relinker sistemi geliştiriyor. Oyun kodunun önemli bölümü böylece işlemci üzerinde doğal şekilde çalıştırılabiliyor.
Asıl sorun PS5 oyunlarının yalnızca x86-64 işlemci komutlarından oluşmaması. Oyunlar Sony’nin konsola özel işletim sistemi servislerine, PRX kütüphanelerine, grafik altyapısına, ses sistemine ve çeşitli donanım işlevlerine erişiyor.
AnyPS5 bu çağrıların PC tarafındaki karşılıklarını yeniden geliştiriyor. Oyun belirli bir PlayStation sistem fonksiyonunu çağırdığında uyumluluk katmanı isteği Windows veya Linux üzerinde kullanılabilecek bir işleme yönlendiriyor.
Bu çalışma biçimi genel yaklaşım olarak Wine ve Proton’a daha yakın duruyor. Wine, Windows programlarının sistem çağrılarını Linux üzerinde karşılayarak uygulamaların çalışmasını sağlıyor. AnyPS5 ise benzer mantığı PlayStation 5 yazılımlarına uygulamaya çalışıyor.
Projenin en zor bölümlerinden biri grafik tarafında bulunuyor. PS5, AMD RDNA 2 mimarisi temelinde hazırlanmış özel bir GPU kullanıyor ancak grafik işlemleri standart PC API’leri üzerinden yürütülmüyor.
PS5 için hazırlanmış grafik komutlarının Windows veya Linux sürücülerine doğrudan gönderilmesi mümkün olmadığı için AnyPS5 bu işlemleri Vulkan’a uyarlıyor. Shader kodlarının da PC ekran kartlarının işleyebileceği biçime dönüştürülmesi gerekiyor.
Geliştirilen shader recompiler, PS5 tarafındaki shader kodlarını Vulkan ekosisteminde kullanılan SPIR-V formatına dönüştürüyor. Projenin son sürümlerinde oluşturulan SPIR-V kodlarının doğrulama araçlarından başarıyla geçebildiği belirtiliyor.
Grafik altyapısındaki ilerleme gerçek oyun testlerine de yansıdı. AnyPS5 ile başlatılan bir PS5 oyunu artık ilk yükleme aşamalarını geçebiliyor ve oyunun ana fonksiyonlarına ulaşabiliyor.
Daha sonraki geliştirmelerde logo ekranı ve ana menü de görüntülenmeye başladı. Son testlerde aynı oyun oynanış bölümüne kadar ilerlerken ses çıkışı da çalışır hale geldi.
Bu aşama projenin gelişimi açısından önemli olsa da AnyPS5 henüz son kullanıcıya hazır durumda değil. Oyunun oynanış ekranına ulaşması tüm sistemlerin düzgün çalıştığı veya oyunun baştan sona sorunsuz oynanabildiği anlamına gelmiyor.
Eksik PlayStation sistem fonksiyonları, grafik hataları ve uyumluluk sorunları nedeniyle oyunlar halen çökebiliyor. Geliştirici de en az bir gerçek PS5 oyunu baştan sona çalıştırılmadan tamamlanmış bir sürüm yayımlamayı planlamıyor.
Projenin Windows tarafındaki derleme süreci de şu anda teknik bilgi gerektiriyor. Bazı kütüphaneler belirli derleyici özelliklerine bağlı olduğu için Windows üzerinde MinGW-w64 GCC 15.2 kullanılması gerekiyor. Linux tarafında ise GCC desteği bulunuyor.
İlerleyen aşamalarda farklı derleyicilerin desteklenmesi planlanıyor. Ancak geliştirme ekibinin mevcut önceliği daha geniş araç desteği yerine oyun uyumluluğunu artırmak.
AnyPS5’in kullandığı yaklaşım performans açısından da dikkat çekici bir potansiyel taşıyor. İşlemci komutlarının başka bir mimariye çevrilmesine veya PS5 CPU’sunun ayrıntılı biçimde emüle edilmesine gerek kalmaması, klasik emülasyonun oluşturabileceği işlemci yükünün bir bölümünü ortadan kaldırabilir.
Bu durum PS5 oyunlarının her bilgisayarda kolayca çalışacağı anlamına gelmiyor. Konsolun GPU gücü, bellek sistemi, grafik özellikleri ve özel donanım davranışları PC tarafında yine karşılanmak zorunda.
Özellikle grafik açısından ağır PS5 oyunlarının güçlü ekran kartlarına ihtiyaç duyması bekleniyor. Uyumluluk katmanının kendisi de dönüştürme işlemleri ve sistem çağrıları nedeniyle belirli miktarda ek işlem yükü oluşturuyor.
Oyunlar arasındaki farklılıklar da projenin önündeki önemli sorunlardan biri. Her PS5 oyunu aynı sistem kütüphanelerini veya grafik özelliklerini kullanmıyor. Bir oyunun başarıyla çalıştırılması, diğer oyunların otomatik olarak uyumlu hale geleceği anlamına gelmiyor.
Bu nedenle AnyPS5’in uzun vadede oyun bazında farklı uyumluluk sorunlarıyla karşılaşması bekleniyor. Yeni sistem fonksiyonlarının ve grafik özelliklerinin desteklenmesiyle uyumlu oyun sayısının zaman içerisinde artması mümkün olacak.
Proje aynı zamanda Sony’ye ait oyunları, firmware dosyalarını veya şifreleme anahtarlarını kendi içerisinde dağıtmıyor. GitHub deposunda yalnızca uyumluluk katmanının geliştirilmesi için hazırlanan açık kaynak kodları bulunuyor.
Geliştirici, kullanılacak PS5 oyun dosyalarının ve gerekli diğer içeriklerin yasal şekilde elde edilmesinden kullanıcıların sorumlu olduğunu açıkça belirtiyor. AnyPS5 bu dosyaları sağlamıyor.
GPL 2.0 lisansıyla geliştirilen proje herkese açık durumda. Kod tabanı üzerinde grafik sistemi, sistem kütüphaneleri, ses desteği ve oyun uyumluluğu başta olmak üzere farklı alanlarda çalışmalar devam ediyor.
PlayStation 5 oyunlarını PC’de çalıştırmayı deneyen başka projeler de bulunuyor. AnyPS5’i bunlardan ayıran temel nokta, PS5 donanımının tamamını sanal olarak yeniden oluşturmaya çalışmak yerine oyun kodunu PC ortamına uyarlaması.
PS5 ile güncel masaüstü bilgisayarların aynı x86-64 ailesinden işlemciler kullanması bu yöntemin önünü açıyor. Konsola özel servisler ve grafik altyapısı ise projenin çözmesi gereken asıl teknik katmanı oluşturuyor.
AnyPS5’in gerçek bir oyunda oynanış ekranına ulaşması projenin bugüne kadarki en önemli adımlarından biri oldu. Ancak günlük kullanıma uygun ilk sürüm için oyunların daha uzun süre kararlı çalışması, grafik hatalarının azaltılması ve eksik sistem fonksiyonlarının tamamlanması gerekiyor.


