Windows API Çoğaltma: Wine 8.0, PE formatına geçişi tamamlıyor

Saberie

Active member


  1. Windows API Çoğaltma: Wine 8.0, PE formatına geçişi tamamlıyor

Wine 8.0’ın piyasaya sürülmesiyle Linux, macOS ve Android için Windows Uyumluluk Katmanı’nın arkasındaki geliştirme ekibi, Portable Executable Format’a (PE) geçiş yaparak dört yıllık çalışmayı tamamladı. Artık tüm modüller PE formatında oluşturulabilir. Bu, geliştiricilerin Windows uygulamalarını diğer işletim sistemi platformlarında genişletilmiş bir işlev yelpazesiyle çalıştırabilmelerinin yolunu açar. Windows mimarisinin 64-bit Windows’a (WoW64) karşılık gelen uyarlamaları, örneğin 32-bit PE modüllerinin 64-bit Unix kitaplıklarını da çağırabilmesini mümkün kılar.


Tüm modüller taşınabilir yürütülebilir biçimdedir


Yaklaşık bir yıl önce, sürüm 7.0 piyasaya sürüldüğünde, Wine ekibi, birkaç istisna dışında, tüm modüllerin Windows ikili formatına dönüştürüldüğünü duyurmuştu: Wine 8.0’da, PE formatına geçiş süreci artık iş takımıydı. Bu, Windows uygulamalarını kopya koruması ve Windows Hata Ayıklayıcı gibi diğer işletim sistemlerinde çalıştırırken daha karmaşık gereksinimleri karşılamak için gereken temeli oluşturur. Gelecekte, geliştiriciler ayrıca 32 bit uygulamaları 64 bit ana bilgisayarlarda veya x86 uygulamalarını ARM sistemlerinde çalıştırabilmelidir.


Şarap ekibi, “daha karmaşık” NT sistem çağrılarından kaçınmayı amaçlayan, özellikle bir Unix sistemine geçiş için yeni bir sistem çağrı dağıtıcısı geliştirdi. Bunun amacı, özellikle OpenGL ve Vulkan kitaplıklarıyla ilgili olası performans darboğazlarını önlemektir. WoW64 değişiklikleri sayesinde 32-bit PE modülleri artık 64-bit Unix kitaplıklarını da çağırabilir, ancak 32-bit Windows uygulamaları hala 32-bit Unix kitaplıkları olmadan tam olarak çalışamaz.

Ancak, 32-bit Wine Loader eksikse, 32-bit uygulamalar, deneysel bir Windows benzeri (“Windows benzeri”) WoW64 modunda ve 32-bit kodun 64-bit bir dosyada saklandığı yerde başlatılabilir. ana bilgisayar işlemi çalışıyor. Bu mod, oluşturma seçeneğiyle etkinleştirilebilir --enable-archs etkinleştirin. Ancak Wine ekibi, modu henüz genel kullanım için yayınlamadı.

PE geçişinin bir parçası olarak Wine ekibi, Winelib Yürütülebilir ve Bağlanabilir Format (ELF) uygulamalarında statik C++ oluşturucularını çalıştırma mekanizmasını yeniden çalışmak zorunda kaldı. Bundan etkilenen eski modüllerin şimdi Wine 8.0 ile yeniden oluşturulması gerekir, aksi takdirde yeni sürümde artık statik oluşturucuları çalıştırmayacaklardır.

D3D yapılandırması için ortam değişkeni



Sürümün diğer yeni özellikleri arasında Direct3D için yapılan iyileştirmelerden bahsetmekte fayda var. Şarap ekibi, uygulamaya bağlı olarak “önemli ölçüde” daha yüksek performansa katkıda bulunması gereken akış haritası hızlandırmasıyla ilgili bazı optimizasyonlar gerçekleştirdi. Daha önce HKEY_CURRENT_USERSoftwareWineDirect3D kayıt defteri anahtarında yapılan bireysel Direct3D ayarları, artık WINE_D3D_CONFIG ortam değişkeni kullanılarak ayarlanabilir. Değerler, virgülle veya noktalı virgülle ayrılmış listeler veya anahtar/değer çiftleri olarak belirtilebilir.

Wine 8.0’da yapılan tüm değişikliklerin tam listesi, proje sayfasındaki değişiklik günlüğünde bulunabilir. Çeşitli dağıtımlar için ikili paketler gibi kaynak kodu da indirilebilir.

Wine ve DXVK ile Linux’ta HDR oyunları


Linux altında oyun oynamakla ilgilenen herkes DXVK 2.1’in yeni sürümüne de göz atmalıdır. Wine için uyarlanmış program kitaplığı, Vulkan’ın Linux’ta 3B uygulamaları çalıştırabilmesi için Direct3D’nin 9, 10 ve 11 sürümlerini çevirir. Güncelleme, örneğin ortam değişkeni aracılığıyla ilk kez HDR 10 desteği sunar. DXVK_HDR=1 ayarlanabilir. Ancak, HDR henüz çoğu Linux masaüstü ortamında yerel olarak kullanılamadığından, HDR seçeneğinin etkinleştirildiği bir Gamescope oturumu gereklidir ve bu da AMDGPU sürücüsü ve ek çekirdek yamaları gerektirir. Daha fazla ayrıntı, GitHub’daki DXVK 2.1 sürüm notlarında mevcuttur.


(harita)



Haberin Sonu
 
Üst