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

Bir yıllık geliştirme ve 28 deneysel versiyondan sonra gönderilen Win32 API'nin açık uygulamasının kararlı sürümü - Şarap 5.07400'den fazla değişiklik içeriyordu. Yeni sürümün temel başarıları arasında yerleşik Wine modüllerinin PE formatında sunulması, çoklu monitör yapılandırmaları desteği, XAudio2 ses API'sinin yeni uygulaması ve Vulkan 1.1 grafik API'si desteği yer alıyor.

Şarapta tarafından onaylandı Windows için 4869 (bir yıl önce 4737) programın tam çalışması, başka bir 4136 (bir yıl önce 4045) program, ek ayarlar ve harici DLL'lerle mükemmel çalışır. 3635 programda temel uygulama işlevlerinin kullanımını etkilemeyen küçük performans sorunları var.

Anahtar yenilikler Şarap 5.0:

  • PE formatındaki modüller
    • MinGW derleyicisiyle, çoğu Wine modülü artık ELF yerine PE (Windows'ta kullanılan Taşınabilir Yürütülebilir) yürütülebilir dosya biçiminde yerleşiktir. PE kullanımı, diskteki ve bellekteki sistem modüllerinin kimliğini doğrulayan çeşitli kopya koruma şemalarının desteklenmesiyle ilgili sorunları çözer;
    • PE yürütülebilir dosyaları artık sahte DLL dosyaları kullanmak yerine ~/.wine ($WINEPREFIX) dizinine kopyalanıyor, bu da ek disk alanı tüketme pahasına işleri gerçek Windows kurulumlarına daha benzer hale getiriyor;
    • PE formatına dönüştürülen modüller standart kullanabilir ne karakter Unicode'lu C işlevleri ve sabitleri (örneğin, L"abc");
    • Wine C çalışma zamanı, MinGW'de yerleşik ikili dosyalara bağlanma desteği ekledi; bu, DLL'leri oluştururken MinGW çalışma zamanı yerine varsayılan olarak kullanılır;
  • Grafik alt sistemi
    • Ayarları dinamik olarak değiştirme yeteneği de dahil olmak üzere birden fazla monitör ve grafik bağdaştırıcısıyla çalışma desteği eklendi;
    • Vulkan grafik API'sinin sürücüsü, Vulkan 1.1.126 spesifikasyonuna uyacak şekilde güncellendi;
    • WindowsCodecs kitaplığı, indekslenmiş palete sahip formatlar da dahil olmak üzere ek raster formatlarını dönüştürme yeteneği sağlar;
  • Direct3D
    • Tam ekran Direct3D uygulamalarını çalıştırırken ekran koruyucu çağrısı engellenir;
    • DXGI (DirectX Grafik Altyapısı), bir uygulamayı penceresi simge durumuna küçültüldüğünde bilgilendirmek için destek ekledi; bu, uygulamanın pencereyi küçültürken kaynak yoğun işlemlerin performansını azaltmasına olanak tanır;
    • DXGI kullanan uygulamalar için artık Alt+Enter kombinasyonunu kullanarak tam ekran ve pencereli mod arasında geçiş yapmak mümkün;
    • Direct3D 12 uygulamasının yetenekleri genişletildi; örneğin, artık tam ekran ve pencereli modlar arasında geçiş yapma, ekran modlarını değiştirme, çıktıyı ölçeklendirme ve işleme arabelleği değiştirme aralığını (değiştirme aralığı) yönetme desteği var;
    • Şeffaflık ve derinlik testleri için aralık dışı giriş değerlerinin kullanılması, yansıtılan dokular ve arabelleklerle görüntü oluşturma ve hatalı DirectDraw nesnelerinin kullanılması gibi çeşitli sınır durumlarının iyileştirilmiş yönetimi kesme, yanlış pencereler için Direct3 aygıtları oluşturmak, minimum parametre değerleri maksimuma eşit olan görünür alanları kullanmak vb.
    • Direct3D 8 ve 9 daha doğru izleme sağlıyor "kirli» yüklü doku alanları;
    • S3TC yöntemi kullanılarak sıkıştırılmış 3B dokular yüklenirken gerekli adres alanının boyutu azaltıldı (dokular tamamen yüklemek yerine parçalar halinde yüklenir).
    • Arayüz uygulandı ID3D11Çok iş parçacığı çok iş parçacıklı uygulamalarda kritik bölümleri korumak için;
    • Eski DirectDraw uygulamaları için aydınlatma hesaplamalarıyla ilgili çeşitli iyileştirmeler ve düzeltmeler yapıldı;
    • API'deki gölgelendiriciler hakkında bilgi edinmek için ek çağrılar uygulandı GölgelendiriciYansıması;
    • wined3d artık destekliyor sert Sıkıştırılmış kaynakların işlenmesi için CPU tabanlı;
    • Direct3D'de tanınan grafik kartlarının veritabanı genişletildi;
    • Yeni kayıt anahtarları eklendi HKEY_CURRENT_USER\Software\Wine\Direct3D: “shader_backend” (gölgelendiricilerle çalışmak için arka uç: GLSL için “glsl”, ARB vertex/fragment için “arb” ve gölgelendirici desteğini devre dışı bırakmak için “none”), “strict_shader_math” ( 0x1 - etkinleştirin, 0x0 - Direct3D gölgelendirici dönüşümünü devre dışı bırakın). "UseGLSL" anahtarı kullanımdan kaldırıldı ("shader_backend" kullanılmalıdır);
  • D3DX
    • 3B doku sıkıştırma mekanizması S3TC (S3 Doku Sıkıştırma) desteği uygulandı;
    • Doku doldurma ve haritalanamayan yüzeyler gibi işlemlerin doğru uygulamaları eklendi;
    • Oluşturma çerçevesinde çeşitli iyileştirmeler ve düzeltmeler yapıldı görsel efektler;
  • Çekirdek (Windows Çekirdek Arayüzleri)
    • Kernel32'de kullanılan işlevlerin çoğu şuraya taşındı:
      KernelBase, Windows mimarisindeki değişiklikleri takiben;

    • Yükleme için kullanılan dizinlerde 32 ve 64 bit DLL'leri karıştırma yeteneği. Geçerli bit derinliğiyle eşleşmeyen kitaplıkların yok sayılmasını sağlar (32/64), yolun daha ilerisinde mevcut bit derinliği için doğru bir kitaplık bulmanın mümkün olması durumunda;
    • Aygıt sürücüleri için çekirdek nesnelerinin öykünmesi geliştirildi;
    • Döndürme kilitleri, hızlı muteksler ve bir kaynağa eklenen değişkenler gibi çekirdek düzeyinde çalışan uygulanan senkronizasyon nesneleri;
    • Uygulamaların pil durumu hakkında doğru şekilde bilgilendirilmesini sağlar;
  • Kullanıcı Arayüzü ve Masaüstü Entegrasyonu
    • Küçültülmüş pencereler artık Windows 3.1 stil simgesi yerine başlık çubuğu kullanılarak görüntüleniyor;
    • Yeni düğme stilleri eklendi Böl Düğmesi (açılır eylem listesini içeren düğme) ve Komut Bağlantıları (sonraki aşamaya geçmek için kullanılan iletişim kutularındaki bağlantılar);
    • 'İndirilenler' ve 'Şablonlar' klasörleri için Unix sistemlerindeki ilgili dizinlere işaret eden sembolik bağlantılar oluşturuldu;
  • Giriş Aygıtları
    • Başlangıçta gerekli Tak ve Çalıştır aygıt sürücüleri kurulur ve yüklenir;
    • Mini joystick (şapka anahtarı), direksiyon simidi, gaz ve fren pedalları da dahil olmak üzere oyun kumandaları için geliştirilmiş destek.
    • Sürüm 2.2'den önceki Linux çekirdeklerinde kullanılan eski Linux joystick API'sine yönelik destek durduruldu;
  • . NET
    • Mono motoru 4.9.4'ü yayınlayacak şekilde güncellendi ve artık Windows Sunum Vakfı (WPF) çerçevesinin bölümlerini içeriyor;
    • Mono ve Gecko ile eklentileri tek bir ortak dizine kurma, dosyaları yeni öneklere kopyalamak yerine /usr/share/wine hiyerarşisine yerleştirme yeteneği eklendi;
  • Ağ fırsatları
    • MSHTML kitaplığında kullanılan Wine Gecko tarayıcı motoru 2.47.1 sürümünü yayınlayacak şekilde güncellendi. Yeni HTML API'leri için destek uygulandı;
    • MSHTML artık SVG öğelerini destekliyor;
    • Birçok yeni VBScript işlevi eklendi (örneğin, hata ve istisna işleyicileri, Saat, Gün, Ay, String, LBound, RegExp.Replace, РScriptTypeInfo_* ve ScriptTypeComp_Bind* işlevleri, vb.);
    • VBScript ve JScript'te kod durumunun korunması sağlandı (kod kalıcılığı);
    • HTTP protokolünü kullanarak istek gönderen ve alan istemci ve sunucu uygulamaları için HTTP hizmetinin (WinHTTP) ve ilgili API'nin (HTTPAPI) ilk uygulaması eklendi;
    • DHCP aracılığıyla HTTP proxy ayarlarını alma yeteneği uygulandı;
    • Kimlik doğrulama isteklerinin Microsoft Passport hizmeti aracılığıyla yeniden yönlendirilmesi için destek eklendi;
  • kriptografi
    • GnuTLS kullanılırken eliptik eğri şifreleme anahtarları (ECC) için destek uygulandı;
    • PFX biçimindeki dosyalardan anahtarları ve sertifikaları içe aktarma yeteneği eklendi;
    • PBKDF2 şifresini temel alan anahtar oluşturma şeması için destek eklendi;
  • Metin ve yazı tipleri
    • DirectWrite API uygulaması, aşağıdakilerle ilgili OpenType özelliklerine destek ekledi: glif konumlandırmakarakter aralığı da dahil olmak üzere Latin stili için varsayılan olarak etkindir;
    • Kullanmadan önce çeşitli veri tablolarının doğruluğunu kontrol ederek yazı tipi verilerinin işlenmesine yönelik geliştirilmiş güvenlik;
    • DirectWrite arayüzleri en son SDK ile uyumlu hale getirildi;
  • Ses ve video
    • Ses API'sinin yeni bir uygulaması önerildi XAudio2proje bazında inşa edilen F Ses. FAudio'yu Wine'da kullanmak, oyunlarda daha yüksek ses kalitesi elde etmenize ve ses düzeyi karıştırma ve gelişmiş ses efektleri gibi özellikleri kullanmanıza olanak tanır;
    • Media Foundation çerçevesinin uygulanmasına, yerleşik ve özel eşzamansız kuyruklar, Kaynak Okuyucu API'si, Medya Oturumu vb. desteği de dahil olmak üzere çok sayıda yeni çağrı eklendi.
    • Video yakalama filtresi, desteklenen kameraların aralığını genişleten v4l2 API yerine v4l1 API'sini kullanacak şekilde değiştirildi;
    • Yerleşik AVI, MPEG-I ve WAVE kod çözücüleri kaldırıldı, bunların yerine artık GStreamer veya QuickTime sistemi kullanılıyor;
    • VMR7 yapılandırma API'lerinin bir alt kümesi eklendi;
    • Bireysel kanalların ses düzeyini ses sürücülerine göre ayarlamak için destek eklendi;
  • İstisnasızlık
    • Unicode tabloları 12.1.0 sürümüne güncellendi;
    • Unicode normalleştirmesi için destek uygulandı;
    • Geçerli yerel ayara göre coğrafi bölgenin (HKEY_CURRENT_USER\Control Panel\International\Geo) otomatik kurulumu sağlandı;
  • RPC/COM
    • Typelib'e karmaşık yapılar ve diziler için destek eklendi;
    • Windows Komut Dosyası çalışma zamanı kitaplığının ilk uygulaması eklendi;
    • ADO (Microsoft ActiveX Veri Nesneleri) kitaplığının ilk uygulaması eklendi;
  • Kurulumcular
    • MSI yükleyicisi için yamaların (Yama Dosyaları) teslimi desteği uygulandı;
    • WUSA (Windows Update Bağımsız Yükleyici) yardımcı programı artık güncelleştirmeleri .MSU biçiminde yükleme olanağına sahiptir;
  • ARM platformu
    • ARM64 mimarisi için ntdll'ye yığın çözme desteği eklendi. Harici libunwind kitaplıklarını bağlamak için destek eklendi;
    • ARM64 mimarisi için, nesne arayüzlerine yönelik kesintisiz proxy desteği uygulandı;
  • Geliştirme Araçları / Winelib
    • Wine'da çalışan uygulamalarda uzaktan hata ayıklamak için Visual Studio'daki hata ayıklayıcıyı kullanma yeteneği eklendi;
    • DBGENG (Hata Ayıklama Motoru) kitaplığı kısmen uygulandı;
    • Windows için derlenen ikili dosyalar artık libwine'a bağımlı değildir ve bu da onların ek bağımlılıklar olmadan Windows'ta çalışmasına olanak tanır;
    • Başlık dosyalarının yolunu belirlemek için Kaynak Derleyicisi ve IDL Derleyicisine '--sysroot' seçeneği eklendi;
    • Winegcc'ye '—target', '—wine-objdir', '—wine-objdir' seçenekleri eklendi
      '—winebuild' ve '-fuse-ld', çapraz derleme için ortamın kurulumunu basitleştirir;

  • Gömülü Uygulamalar
    • Konsol kodlamasını yapılandırmak için bir CHCP yardımcı programı uygulandı;
    • MSI formatındaki veritabanlarını işlemek için MSIDB yardımcı programı uygulandı;
  • Performansı optimize etme
    • Yüksek performanslı sistem zamanlayıcı işlevlerini kullanmak için çeşitli zamanlama işlevleri taşındı ve birçok oyunun oluşturma döngüsündeki ek yük azaltıldı;
    • FS'de Ext4 kullanma yeteneği eklendi rejim büyük/küçük harf duyarlılığı olmadan çalışın;
    • LBS_NODATA modunda çalışan liste görüntüleme iletişim kutularındaki çok sayıda öğenin işlenmesi performansı optimize edildi;
    • Linux için Futex'e çevrilmiş daha hızlı bir SRW kilitleri (İnce Okuyucu/Yazıcı) uygulaması eklendi;
  • Dış bağımlılıklar
    • Modülleri PE formatında birleştirmek için MinGW-w64 çapraz derleyici kullanılır;
    • XAudio2'yi uygulamak FAudio kitaplığını gerektirir;
    • BSD sistemlerinde dosya değişikliklerini izlemek için
      Inotify kütüphanesi kullanılır;

    • ARM64 platformundaki istisnaları işlemek için Unwind kütüphanesi gereklidir;
    • Video4Linux1 yerine artık Video4Linux2 kütüphanesi gerekli.

Kaynak: opennet.ru

Yorum ekle