Wine 8.0'ın kararlı sürümü

Bir yıllık geliştirme ve 28 deneysel sürümün ardından, 32'den fazla değişiklik içeren Win8.0 API - Wine 8600'ın açık uygulamasının kararlı bir sürümü sunuldu. Yeni sürümdeki önemli başarı, Wine modüllerinin formata dönüştürülmesi çalışmasının tamamlandığını gösteriyor.

Wine, Windows için 5266 (bir yıl önce 5156, iki yıl önce 5049) programın tam çalışmasını doğruladı; başka bir 4370 (bir yıl önce 4312, iki yıl önce 4227) program, ek ayarlar ve harici DLL'lerle mükemmel şekilde çalışıyor. 3888 programda (bir yıl önce 3813, iki yıl önce 3703) uygulamaların ana işlevlerinin kullanımını etkilemeyen küçük operasyonel sorunlar var.

Wine 8.0'daki önemli yenilikler:

  • PE formatındaki modüller
    • Dört yıllık çalışmanın ardından tüm DLL kütüphanelerinin PE (Windows'ta kullanılan Portable Executable) çalıştırılabilir dosya formatını kullanacak şekilde dönüştürülmesi tamamlandı. PE'nin kullanımı, Windows için mevcut olan hata ayıklayıcıların kullanılmasına olanak tanır ve diskteki ve bellekteki sistem modüllerinin kimliğini doğrulayan çeşitli kopya koruma şemalarının desteklenmesiyle ilgili sorunları çözer. 32 bit ana bilgisayarlarda 64 bit uygulamaların ve ARM sistemlerinde x86 uygulamaların çalıştırılmasıyla ilgili sorunlar da çözüldü. Wine 8.x'in sonraki deneysel sürümlerinde çözülmesi planlanan geri kalan görevler arasında, PE ve Unix katmanları arasında doğrudan çağrı yapmak yerine modüllerin NT sistem çağrı arayüzüne geçişi yer alıyor.
    • Tam bir NT sistem çağrısı yürütme yükünü azaltmak amacıyla çağrıları PE'den Unix kitaplıklarına çevirmek için kullanılan özel bir sistem çağrı yöneticisi uygulanmıştır. Örneğin optimizasyon, OpenGL ve Vulkan kitaplıklarını kullanırken performans düşüşünü azaltmayı mümkün kıldı.
    • Winelib uygulamaları, ELF (.dll.so) kitaplıklarının karma Windows/Unix derlemelerini kullanma yeteneğini korur, ancak 32 bit kitaplıkları olmayan bu tür uygulamalar, WoW64 gibi NT sistem çağrısı arayüzü aracılığıyla kullanılabilen işlevleri desteklemez.
  • WoW64
    • Tüm Unix kitaplıkları için WoW64 (64 bit Windows-on-Windows) katmanları sağlanmıştır; PE formatındaki 32 bit modüllerin, doğrudan PE/Unix çağrılarından kurtulduktan sonra 64 bit Unix kitaplıklarına erişmesine olanak tanır. 32-bit Unix kütüphanelerini kurmadan 32-bit Windows uygulamalarını çalıştırmak mümkündür.
    • 32 bitlik bir Wine yükleyicinin yokluğunda, 32 bitlik uygulamalar, 64 bitlik kodun 32 bitlik bir işlem içinde çalıştığı yeni deneysel Windows benzeri WoW64 modunda çalışabilir. Mod, Wine'ı '-enable-archs' seçeneğiyle oluştururken etkinleştirilir.
  • Grafik alt sistemi
    • Varsayılan yapılandırma ışık temasını (“Işık”) kullanır. WineCfg yardımcı programını kullanarak temayı değiştirebilirsiniz.
      Wine 8.0'ın kararlı sürümü
    • Grafik sürücüleri (winex11.drv, winemac.drv, wineandroid.drv), sistem çağrılarını Unix düzeyinde yürütmek ve sürücülere Win32u kitaplığı aracılığıyla erişmek için dönüştürülür.
      Wine 8.0'ın kararlı sürümü
    • Yazdırma İşlemcisi mimarisi uygulanmıştır ve yazıcı sürücüsündeki PE ve Unix düzeyleri arasındaki doğrudan çağrıları ortadan kaldırmak için kullanılır.
    • Direct2D API artık efektleri destekliyor.
    • Direct2D API, komut listelerini kaydetme ve oynatma özelliğini ekledi.
    • Vulkan grafik API'si sürücüsü, Vulkan 1.3.237 spesifikasyonu için destek ekledi (Vulkan 7, Wine 1.2'de destekleniyordu).
  • Direct3D
    • HLSL (Yüksek Düzey Gölgelendirici Dili) için vkd3d-shader kitaplığına dayalı olarak uygulanan yeni bir gölgelendirici derleyicisi eklendi. Ayrıca vkd3d-shader'a dayanarak bir HLSL sökücü ve bir HLSL ön işlemcisi hazırlandı.
    • D3DX 10'da tanıtılan İplik Pompası arayüzü uygulandı.
    • Direct3D 10 efektleri birçok yeni ifade için destek sağlar.
    • D3DX 9 destek kitaplığı artık Cubemap doku projeksiyonunu destekliyor.
  • Ses ve video
    • GStreamer çerçevesine dayanarak, MPEG-1 formatında sesin kodunu çözmek için filtre desteği uygulandı.
    • ASF (Gelişmiş Sistem Formatı) formatında ses ve video akışını okumak için bir filtre eklendi.
    • OpenAL32.dll ara kitaplık katmanı kaldırılmıştır, bunun yerine artık uygulamalarla birlikte sağlanan yerel Windows kitaplığı OpenAL32.dll kullanılmaktadır.
    • Media Foundation Player, içerik türü algılamayı geliştirmiştir.
    • Veri aktarım hızını kontrol etme yeteneği (Hız kontrolü) uygulanmıştır.
    • Geliştirilmiş Video İşleyicide (EVR) varsayılan karıştırıcı ve sunum yapan kişi için iyileştirilmiş destek.
    • Writer Encoding API'nin ilk uygulaması eklendi.
    • Geliştirilmiş topoloji yükleyici desteği.
  • Giriş Aygıtları
    • Denetleyicilerin çalışırken takılmasına yönelik önemli ölçüde geliştirilmiş destek.
    • SDL kitaplığı temelinde oluşturulan oyun direksiyonlarını belirleme kodunun geliştirilmiş bir uygulaması önerilmektedir.
    • Oyun tekerleklerini kullanırken Güç geri bildirimi efekti için geliştirilmiş destek.
    • HID Haptic spesifikasyonunu kullanarak sol ve sağ titreşim motorlarını kontrol etme yeteneği uygulanmıştır.
    • Kumanda kolu kontrol panelinin tasarımı değiştirildi.
    • Sony DualShock ve DualSense denetleyicilerine yönelik destek, hidraw arka ucunun kullanılmasıyla sağlanır.
    • WinRT modülü Windows.Gaming.Input, gamepad'lere, joystick'lere ve oyun tekerleklerine erişim için bir yazılım arayüzünün uygulanmasıyla önerilmektedir. Yeni API için, diğer şeylerin yanı sıra, cihazların çalışırken takılmasına ilişkin bildirim, dokunma ve titreşim efektleri desteği uygulandı.
  • İstisnasızlık
    • Unicode CLDR (Unicode Ortak Yerel Veri Havuzu) deposundan locale.nls formatında doğru yerel ayar veritabanının oluşturulması sağlanır.
    • Unicode dize karşılaştırma işlevleri, Unicode Harmanlama algoritması yerine veritabanını ve Windows Sıralama Anahtarı algoritmasını kullanacak şekilde taşınarak davranışı Windows'a yaklaştırıldı.
    • Çoğu özellik, üst Unicode kod aralıkları (düzlemler) için destek ekledi.
    • ANSI kodlaması olarak UTF-8'i kullanmak mümkündür.
    • Karakter tabloları Unicode 15.0.0 spesifikasyonuna göre güncellendi.
  • Metin ve yazı tipleri
    • Çoğu sistem yazı tipi için yazı tipi bağlama etkinleştirildi ve Çince, Korece ve Japonca yerel ayarlara sahip sistemlerde eksik glifler sorunu çözüldü.
    • DirectWrite'da geri dönüş yazı tipi yeniden çalışıldı.
  • Çekirdek (Windows Çekirdek Arayüzleri)
    • api-ms-* modüllerinin yerini alan ve disk ve adres alanı tüketimini azaltan ApiSetSchema veritabanı uygulandı.
    • DOS dosya öznitelikleri, genişletilmiş FS öznitelikleri kullanılarak Samba uyumlu bir biçimde diske kaydedilir.
  • Ağ fırsatları
    • İptal edilen sertifikaları kontrol etmek için kullanılan OCSP (Çevrimiçi Sertifika Durum Protokolü) desteği eklendi.
    • JavaScript standartları uyumluluk modunda kullanılabilen EcmaScript özelliklerinin kapsamı genişletildi.
    • JavaScript için bir çöp toplayıcı uygulandı.
    • Gecko motor paketi engelli kişilere yönelik özellikler içerir.
    • MSHTML, Web Depolama API'si, Performans nesnesi ve olay işlemeye yönelik ek nesneler için destek ekler.
  • Gömülü Uygulamalar
    • Tüm yerleşik uygulamalar, tasarım temaları desteği ve yüksek piksel yoğunluğuna sahip ekranlar dikkate alınarak görüntü oluşturma desteğiyle Common Controls 6 kitaplığını kullanacak şekilde dönüştürüldü.
    • Wine Debugger'da (winedbg) iş parçacıklarında hata ayıklamaya yönelik geliştirilmiş yetenekler.
    • Kayıt defteri yardımcı programları (REGEDIT ve REG) artık QWORD türünü desteklemektedir.
    • Not Defteri, imleç konumu hakkında bilgi içeren bir durum çubuğu ve belirli bir satır numarasına gitmek için Satıra Git işlevini ekledi
    • Yerleşik konsol, OEM kod sayfasında veri çıkışı sağlar.
    • Sc.exe (Servis Kontrolü) yardımcı programına 'sorgu' komutu eklendi.
  • Montaj sistemi
    • Çeşitli mimariler için PE formatında yürütülebilir dosyalar oluşturma yeteneği sağlanmıştır (örneğin, '—enable-archs=i386,x86_64').
    • 32 bit long tipine sahip tüm platformlarda, Windows'ta long olarak tanımlanan veri türleri artık Wine'da 'int' yerine 'long' olarak yeniden tanımlanıyor. Winelib'de bu davranış WINE_NO_LONG_TYPES tanımı aracılığıyla devre dışı bırakılabilir.
    • Dlltool kullanmadan kitaplıklar oluşturma yeteneği eklendi (winebuild'de '-dlltool olmadan' seçeneği ayarlanarak etkinleştirildi).
    • Yükleme verimliliğini artırmak ve kodsuz, yalnızca kaynak kitaplıklarının boyutunu azaltmak için winegcc '--data-only' seçeneğini uygular.
  • Çeşitli
    • Yerleşik kitaplıkların Faudio 22.11, LCMS2 2.14, LibJPEG 9e, LibMPG123 1.31.1, LibPng 1.6.39, LibTiff 4.4.0, LibXml2 2.10.3, LibXslt 1.1.37, Zlib 1.2.13 sürümleri güncellendi.
    • .NET platformunun uygulanmasıyla Wine Mono motoru 7.4'ü yayınlayacak şekilde güncellendi.
    • RSA algoritmasına ve RSA-PSS dijital imzalarına dayalı şifreleme desteği uygulandı.
    • UI Otomasyon API'sinin ilk sürümü eklendi.
    • Kaynak ağacı, PE formatında derlenen LDAP ve vkd3d kitaplıklarını içerir ve bu kitaplıkların Unix derlemelerini sağlama ihtiyacını ortadan kaldırır.
    • OpenAL kütüphanesi kullanımdan kaldırıldı.

Kaynak: opennet.ru

Yorum ekle