Wine, kullanıcıların Windows uygulamalarını diğer işletim sistemlerinde çalıştırmasına olanak tanıyan bir Windows Uyumluluk Katmanıdır. Android için Wine artık v5.0'a ulaştı - bir göz atın!
Android uygulama ekosistemi, Android'in var olduğu yıllar boyunca, mobilin çoğu insan için birincil bilgisayar etkileşimi olarak istikrarlı bir şekilde benimsenmesiyle sürekli olarak gelişti. Pek çok kullanıcı, yalnızca mobil cihazlara yönelik bir yaşam tarzına yöneldi ve bunun nedeni, mobil cihazlardaki uygulamaların ve uygulama ekosisteminin, onların özel ihtiyaçlarını karşılamayı başarmış olmasıdır. Ancak kendinizi bir masaüstüne erişiminiz olmadan bir masaüstü uygulamasına ihtiyaç duyarsanız ne yaparsınız? Kullanıcıların farklı işletim sistemlerinde tam gelişmiş Windows uygulamalarını çalıştırmasına olanak tanıyan bir Windows Uyumluluk Katmanı olan Wine'ın geldiği yer burasıdır. Android için Şarap var şimdi v5.0'a ulaştı, ekibin bir yıllık geliştirme çabalarını bir araya getiriyor.
Wine, Windows için geliştirilen bilgisayar programlarının diğer işletim sistemlerinde çalışmasına izin vermeyi amaçlayan, Windows için ücretsiz ve açık kaynaklı bir Uyumluluk Katmanıdır.
Wine 5.0'ın kararlı sürümünde öne çıkan özellikler arasında çoklu monitör desteği ve Vulkan 1.1 desteği yer alıyor. Güncellemenin tam değişiklik günlüğü aşağıdaki gibidir:
Şarap 5.0 Değişiklik Günlüğü:
- PE modülleri:
- Çoğu modül, MinGW derleyicisi mevcut olduğunda ELF yerine PE formatında (Taşınabilir Yürütülebilir, Windows ikili formatı) oluşturulmuştur. Bu, sistem modüllerinin disk içi ve bellek içi içeriklerinin aynı olup olmadığını kontrol eden çeşitli kopya koruma şemalarına yardımcı olur.
- Gerçek PE ikili dosyaları, sahte DLL dosyaları yerine Wine önekine kopyalanır. Bu, ekstra disk alanı pahasına önekin daha çok gerçek bir Windows kurulumuna benzemesini sağlar.
- PE'ye dönüştürülen modüller, standart geniş karakterli C işlevlerinin yanı sıra L"abc" gibi geniş karakterli karakter sabitlerini de kullanabilir. Bu, kodun okunmasını kolaylaştırır.
- Henüz tüm modüller PE'ye dönüştürülmedi; bu, Wine 5.x geliştirme serisi boyunca devam edecek olan devam eden bir süreçtir.
- Wine C çalışma zamanı, MinGW tarafından derlenen ikili dosyalara bağlanmayı destekleyecek şekilde güncellendi; DLL'leri oluştururken MinGW çalışma zamanı yerine varsayılan olarak kullanılır.
- Grafikler:
- Dinamik yapılandırma değişiklikleri de dahil olmak üzere birden çok ekran bağdaştırıcısı ve monitör düzgün şekilde desteklenir.
- Vulkan sürücüsü, Vulkan spesifikasyonunun 1.1.126 sürümüne kadar destekler.
- WindowsCodecs kitaplığı, palet indeksli formatlar da dahil olmak üzere daha fazla bitmap formatını dönüştürebilir.
- Direct3D:
- Tam ekran Direct3D uygulamaları ekran koruyucuyu engeller.
- DXGI takas zinciri, ilgili pencere simge durumuna küçültüldüğünde uygulamayı bilgilendirir. Bu genellikle uygulamaların en aza indirilmiş halde CPU kullanımını azaltmasına olanak tanır ve bazı durumlarda uygulama penceresinin yeniden geri yüklenmesine izin vermek için gereklidir.
- DXGI uygulamaları için standart Alt+Enter kombinasyonu kullanılarak tam ekran ve pencereli modlar arasında geçiş yapılmaktadır.
- Direct3D 12 uygulamaları için aşağıdaki özellikler uygulanmıştır:
- Tam ekran ve pencereli arasında geçiş yapma.
- Görüntüleme modlarını değiştirme.
- Ölçeklendirilmiş hediyeler.
- Aralıkları değiştirin. Bu özellikler daha önce Direct3D API'nin önceki sürümleri için uygulanmıştı.
- Çeşitli uç durumların kullanımı iyileştirildi. Diğerleri arasında:
- Alfa ve şablon testleri için aralık dışı referans değerleri.
- 2B kaynakların 3B örnekleyicilerle örneklenmesi ve bunun tersi.
- Eşlenen dokular ve tamponlarla çizim.
- Geçersiz DirectDraw kesme nesnelerinin kullanımı.
- Masaüstü penceresi gibi geçersiz Windows'ta Direct3D aygıtları oluşturma.
- Minimum Z'si maksimum Z'den büyük veya ona eşit olan görünüm pencereleri.
- Kaynaklar aynı anda hem gölgelendirici kaynak görünümleri hem de oluşturma hedefi veya derinlik şablonu görünümleri aracılığıyla bağlanır.
- Alfa bileşenleri olan ve olmayan formatlar arasında ayrımlar. İyi çalışan uygulamalar bu uç durumlara dayanmadığından genellikle her biri yalnızca bir veya iki uygulamayı etkiler. Yine de sayıları oldukça fazla.
- Direct3D 8 ve 9 doku yüklemelerinde kirli doku bölgeleri daha doğru şekilde izlenir.
- S3TC ile sıkıştırılmış 3B dokuların yüklenmesi daha az adres alanı gerektirir. 3B dokular potansiyel olarak büyük olabileceğinden ve adres alanı tükenmesi 32 bit uygulamalar için bir sorun olduğundan, S3TC ile sıkıştırılmış 3B dokular tek bir yükleme yerine dilim başına yüklenir.
- ID3D11Çok iş parçacığı arayüzü uygulanır.
- Eski DirectDraw uygulamaları için çeşitli aydınlatma hesaplama düzeltmeleri ve iyileştirmeler yapıldı.
- Takas zincirlerindeki blit'ler için sınırlı destek uygulanmaktadır.
- Daha fazla gölgelendirici yansıtma API'si uygulandı.
- Wined3d CPU yazıcısı sıkıştırılmış kaynak kaynaklarını işleyebilir. Sıkıştırılmış hedef kaynaklara yönelik destek önceki bir sürümde zaten uygulanmıştı.
- Direct3D grafik kartı veritabanı daha fazla grafik kartını tanır.
- Yeni HKEY_CURRENT_USER\Software\Wine\Direct3D kayıt defteri anahtarları:
- "shader_backend" (REG_SZ)Kullanılacak gölgelendirici arka ucu. Olası değerler GLSL için "glsl" (varsayılan), ARB vertex/fragment programları için "arb" ve gölgelendirici desteğini devre dışı bırakmak için "none"dur.
- "strict_shader_math" (REG_DWORD)Direct3D gölgelendiricilerin daha sıkı çevirisini etkinleştirin (0x1) veya devre dışı bırakın (0x0, varsayılan) ve muhtemelen performans maliyetine neden olur. Bu şu anda yalnızca varsayılan GLSL gölgelendirici arka ucunun özel NVIDIA sürücüleri ile birlikte kullanılmasıyla bir fark yaratıyor.
- Kullanımdan kaldırılan HKEY_CURRENT_USER\Software\Wine\Direct3D kayıt defteri anahtarı:
- "UseGLSL"Yukarıdaki "shader_backend" ayarı bunun yerini almıştır.
- D3DX:
- S3TC sıkıştırmasını kullanarak dokuları sıkıştırma desteği uygulandı.
- Çeşitli işlemler, örneğin; Eşlenemeyen yüzeylerdeki doku dolguları daha doğru şekilde uygulanır. Daha önce bunların uygulanması, eşleme kısıtlamalarını uygulamayan temel Direct3D uygulamasına dayanıyordu.
- Efekt çerçevesinde çeşitli iyileştirmeler ve düzeltmeler yapıldı.
- Çekirdek:
- Eskiden Kernel32'de bulunan işlevlerin çoğu, yeni Windows sürümlerinin mimarisini takip etmek için KernelBase'e taşındı.
- Yanlış 32/64 bitlik kitaplıklar, arama yolunda bulunduğunda, yolun daha ilerisinde bulunursa doğru olanın yüklenmesini sağlamak için göz ardı edilir.
- Çekirdek nesneleri, nesneleri çekirdek tarafından işlemeyi bekleyen aygıt sürücüleri için daha iyi taklit edilir.
- Döndürme kilitleri, hızlı muteksler, kilitleri kaldırma ve kaynak değişkenleri gibi çekirdek düzeyindeki senkronizasyon nesneleri uygulanır.
- Sistem pil durumu uygulamalara düzgün bir şekilde bildiriliyor.
- Kullanıcı arayüzü:
- Küçültülmüş pencereler, eski Windows 3.1 tarzı simgeler yerine başlık çubukları kullanılarak görüntülenir.
- Yeni düğme stilleri Bölünmüş Düğmeler ve Komut Bağlantıları uygulandı.
- Düzenle kontrolü CJK yazı tipleri için de kenar boşluklarını doğru şekilde ayarlar.
- Masaüstü entegrasyonu:
- 'İndirilenler' ve 'Şablonlar' klasörleri için ilgili Unix dizinlerine sembolik bağlantılar oluşturulur.
- Giriş cihazları:
- Tak ve Çalıştır aygıt sürücüleri başlangıçta kurulabilir ve yüklenebilir.
- Şapka anahtarı, tekerlek, gaz ve fren kontrolleri için uygun destek de dahil olmak üzere oyun kumandaları daha iyi desteklenmektedir.
- 2.2'den önceki Linux sürümlerinin eski joystick API'si artık desteklenmemektedir.
- .AÇIK:
- Mono motoru, Windows Sunum Vakfı (WPF) çerçevesinin bazı bölümleri de dahil olmak üzere 4.9.4 sürümüne güncellendi.
- Gecko ve Mono eklentileri, dosyaların her yeni önek içine kopyalanmak yerine doğrudan /usr/share/wine altında global bir konumdan kullanıldığı paylaşımlı kurulumu destekler.
- İnternet ve ağ:
- Gecko motoru, en yeni takım zincirlerini destekleyecek şekilde yenilendi.
- Bir dizi yeni HTML API'si uygulandı.
- MSHTML bazı SVG öğelerini destekler.
- Hata nesnesi ve istisna yayılımı VBScript'te desteklenir.
- Bir dizi VBScript yerleşik işlevi uygulanmıştır.
- JScript EcmaScript uyumlu mod, daha fazla özelliği destekleyecek şekilde genişletildi.
- JScript ve VBScript komut dosyası nesneleri, tür bilgisi arayüzlerini açığa çıkarır.
- HTTP proxy yapılandırması DHCP aracılığıyla alınabilir.
- Passport HTTP yönlendirmeleri desteklenir.
- HTTP hizmeti ve ilgili istemci tarafı kitaplığı (HTTPAPI) kısmen uygulanmıştır.
- Kriptografi:
- GnuTLS kullanılırken ECC (eliptik eğri) tuşları desteklenir.
- PFX bloblarından anahtarların ve sertifikaların içe aktarılması uygulandı.
- PBKDF2 anahtar türetme algoritması desteklenir.
- Metin ve yazı tipleri:
- OpenType konumlandırma özellikleri DirectWrite'da desteklenir ve karakter aralığı da dahil olmak üzere varsayılan olarak Latin alfabesi için etkinleştirilir.
- Yazı tipi verilerine erişim, çeşitli veri tablolarını kullanmadan önce doğrulayarak daha güvenli hale getirilir.
- DirectWrite arayüzleri, en yeni API eklemelerinden bazılarını uygulayan yeni bir SDK'ya güncellendi.
- Ses videosu:
- XAudio2 kütüphaneleri, daha iyi uyumluluk için harici FAudio kütüphanesini kullanacak şekilde yeniden uygulanmıştır.
- Medya Vakfı kütüphaneleri aşağıdakiler dahil olmak üzere ayrıntılı olarak açıklanmıştır:
- Yerleşik ve kullanıcı eşzamansız iş kuyrukları desteği.
- Öğe önceliği desteğiyle periyodik geri aramalar, bekleme, planlanmış ve düzenli çalışma öğeleri gönderme yeteneği.
- Medya olayı kuyrukları desteği.
- Medya türü nesneleri, akış ve sunum tanımlayıcılarını, nesne niteliklerini, bayt akışı nesnelerini, örnekleri ve arabellekleri işlemek için çeşitli çekirdek API.
- İlk Kaynak Çözümleyici uygulaması.
- Kaynak Okuyucu API'sinin ilk uygulaması.
- Sample Grabber nesnesi için uygulama.
- Topoloji nesneleri oluşturmak için temel destek.
- Yerleşik sunum saati uygulaması, Medya Oturumu işlevselliğini uygulamaya başladı.
- Video yakalama filtresi, kullanımdan kaldırılan v4l1 API'si yerine v4l2'yi kullanacak şekilde taşındı ve bu, v4l1'i desteklemeyen bazı kameraların kullanımına izin verdi.
- YUV'dan RGB'ye çeviri ve mmap() kullanan v4l2 aygıtlarından okuma desteği kaldırıldı; artık bunların her ikisi için de libv4l2'ye bağımlıyız.
- Yerleşik AVI, MPEG-I ve WAVE kod çözücüleri kaldırıldı; artık bu tür medya dosyalarının kodunu çözmek için GStreamer'a veya Mac QuickTime Araç Takımına güveniyoruz.
- Daha fazla VMR7 yapılandırma API'si uygulandı.
- Ses sürücüleri kanal başına ses düzeyi ayarlamalarını destekler.
- Uluslararasılaşma:
- Unicode karakter tabloları Unicode Standardının 12.1.0 sürümünü temel alır.
- Unicode normalizasyonu uygulandı.
- Coğrafi bölge kimliği, geçerli yerel ayara göre kayıt defterinde otomatik olarak ayarlanır. Gerekirse HKEY_CURRENT_USER\Control Panel\International\Geo altında değiştirilebilir.
- Sinhalese ve Asturya yerel ayarları desteklenmektedir.
- Kod sayfası 28601 (Latince/Tay dili) desteklenmektedir.
- RPC/COM:
- Typelib sıralayıcısı karmaşık yapıları ve dizileri destekler.
- Windows Komut Dosyası çalışma zamanı kitaplığının ilk uygulaması mevcuttur.
- Microsoft ActiveX Veri Nesneleri (ADO) kitaplığının ilk uygulaması mevcuttur.
- Yükleyiciler:
- Microsoft Installer (MSI) Yama Dosyaları desteklenir.
- WUSA aracı (Windows Update Bağımsız Yükleyici), .MSU güncelleme dosyalarının yüklenmesini destekler.
- ARM platformları:
- İstisna çözme, libunwind kütüphanesi kullanılarak ARM64 için uygulanır.
- OLE hatasız proxy'ler ARM64'te desteklenir.
- Geliştirme araçları / Winelib:
- Visual Studio uzaktan hata ayıklayıcı, Wine altında çalışan uygulamalarda hata ayıklamak için kullanılabilir.
- Hata Ayıklama Motoru kitaplığı (DBGENG) kısmen uygulandı.
- Bir Windows hedefi için oluşturulan ikili dosyalar artık libwine kitaplığına bağlı değildir; böylece bunların Windows'ta herhangi bir ekstra bağımlılık olmadan çalışmasını sağlar. Libwine kütüphanesi artık Windows için tasarlanmamıştır.
- Kaynak Derleyicisi ve IDL Derleyicisi, çapraz derleme ortamlarında başlık dosyalarının bulunmasına izin vermek için '--sysroot' seçeneğini destekler.
- Winegcc, çapraz derleyici olarak veya özel araç zincirleriyle kullanımı kolaylaştıran '--target', '--wine-objdir', '--winebuild' ve '-fuse-ld' seçeneklerini destekler.
- Wine/unicode.h başlığı artık uygulamalar tarafından kullanılamaz, çünkü işlevler sonuçta kaldırılacak ve standart C çalışma zamanı geniş karakter işlevleriyle değiştirilecektir.
- Altyapı oluşturun:
- MinGW mevcutsa test ikili dosyaları PE formatında oluşturulur, böylece aynı test ikili dosyaları hem Wine'da hem de Windows'ta çalışabilir. 'Çapraz test' hedefine artık ihtiyaç duyulmuyor veya desteklenmiyor.
- 'Hızlı arama' arama kuralı, spesifikasyon dosyalarında desteklenir. Windows yapıları için doğru ad yönetimini kullanır.
- İçe aktarma thunk'ları için bir hotpatch kod önekinin oluşturulmasını gerektiren işlevleri işaretlemek amacıyla, spesifikasyon dosyalarında bir '-import' giriş noktası bayrağı desteklenir.
- Winebuild, PE ikili dosyalarına Wine yerleşikleri olarak işaretlemek için özel bir imza eklemek üzere '--builtin' seçeneğini destekler.
- Yerleşik uygulamalar:
- CHCP aracı uygulandı. Konsol kod sayfasının ayarlanmasına izin verir.
- MSIDB aracı uygulandı. MSI veritabanlarının değiştirilmesine izin verir.
- Performans geliştirmeleri:
- Çeşitli zaman işlevleri, birçok oyunun görüntü oluşturma döngüsündeki yükü azaltmak için mümkünse daha yüksek performanslı sistem saatlerini kullanır.
- Dosya aramaları, eğer aranılan dizinde etkinleştirilmişse, ext4 dosya sistemi vaka katlama desteğinden yararlanır.
- Veri içermeyen stil liste kutuları (LBS_NODATA), çok sayıda öğe için daha iyi performansa sahiptir.
- İnce Okuyucu/Yazıcı kilitleri, anahtarlanmış olaylar ve durum değişkenleri, şarap sunucusunun gidiş dönüşlerini önlemek için Linux'ta futex'leri kullanır.
- Yeni dış bağımlılıklar:
- MinGW-w64 çapraz derleyici, PE formatında modüller oluşturmak için kullanılır.
- FAudio kütüphanesi XAudio2'yi uygulamak için kullanılır.
- Inotify kütüphanesi, BSD platformlarında dosya değişikliği bildirimleri için kullanılır.
- Unwind kütüphanesi ARM64'te istisna yönetimi için kullanılır.
- Video4Linux sürüm 2 kitaplığı sürüm 1 yerine kullanılır.
devamını oku
Kaynak: Şarap Genel Merkezi
Hikaye Yoluyla: AndroidPolis