Wine 9.0-ın stabil buraxılışı

Bir illik inkişafdan və 26 eksperimental versiyadan sonra, 32-dən çox dəyişikliyi özündə birləşdirən Win9.0 API - Wine 7000-ın açıq tətbiqinin stabil buraxılışı təqdim edildi. Yeni versiyanın əsas nailiyyətləri arasında 64 bitlik mühitdə 32 bitlik proqramların icrası üçün WoW64 arxitekturasının tətbiqi, Wayland-ı dəstəkləmək üçün sürücü inteqrasiyası, ARM64 arxitekturasına dəstək, DirectMusic API-nin tətbiqi və smart kartlara dəstək daxildir.

Wine, Windows üçün 5336 (bir il əvvəl 5266, iki il əvvəl 5156, üç il əvvəl 5049), digər 4397 (bir il əvvəl 4370, iki il əvvəl 4312, üç il əvvəl 4227) proqramların tam işləməsini təsdiqlədi. əlavə parametrlər və xarici DLL. 3943 proqram (bir il əvvəl 3888, iki il əvvəl 3813, üç il əvvəl 3703) proqramların əsas funksiyalarının istifadəsinə mane olmayan əməliyyatda kiçik problemlər var.

Wine 9.0-da əsas yeniliklər:

  • XWayland və X11 komponentlərindən istifadə etmədən Wayland protokoluna əsaslanan mühitlərdə Şərabdan istifadə etməyə imkan verən winewayland.drv sürücüsü əlavə edildi. İnkişaf, X11 ilə əlaqəli paketlərin quraşdırılmasını tələb etməyən Windows proqramlarını işə salmaq üçün dəstək olan təmiz Wayland mühitini təmin etmək məqsədi daşıyır ki, bu da lazımsız təbəqələri aradan qaldırmaqla oyunların daha yüksək performansını və həssaslığını təmin edir. Şərab üçün təmiz Wayland mühitinin istifadəsi X11-ə xas olan təhlükəsizlik problemlərini də aradan qaldırır (məsələn, X11 protokolu bütün daxiletmə hadisələrinə və saxta düymələrin dəyişdirilməsinə giriş imkanı verdiyi üçün etibarsız X11 oyunları digər proqramlarda casusluq edə bilər).

    Sürücü eksperimental və inkişaf mərhələsindədir, lakin buna baxmayaraq, o, artıq pəncərə idarəetməsi, çoxsaylı monitorlarla işləmək, yüksək piksel sıxlığı (yüksək DPI) ekranlarında çıxışı miqyaslaşdırmaq üçün dəstək, ilə işləmək kimi bir çox funksiyaları dəstəkləyir. siçan hərəkətini izləyərkən nisbi koordinatlar və Vulkan qrafika API dəstəyi. Varsayılan olaraq, sürücü aktiv deyil və onu işə salmaq üçün “HKCU\Software\Wine\Drivers” reyestr parametrinə “wayland” əlavə etməli və DISPLAY mühit dəyişəninin təyin edilmədiyinə əmin olun: wine reg.exe əlavə HKCU\ \Software\\Wine\\Drivers /v Graphics /d x11,wayland

  • Bütün modullar PE və Unix təbəqələri arasında birbaşa zənglər etməkdənsə, NT sisteminin çağırış interfeysinə çevrildi və bu, bütün DLL-lərin PE (Portable Executable) icra edilə bilən fayl formatından istifadə etmək üçün konvertasiya etmək üçün çoxillik işlərin tamamlanmasını qeyd etdi.
  • 64-bit Unix sistemlərində 64-bit Windows proqramlarını işə salmağa imkan verən WoW32 qatının (64-bit Windows-on-Windows) inkişafı davam etdirilmişdir. Unix kitabxanalarına daxil olan bütün modullar 64 bitlik PE formatlı modulların 32 bitlik Unix kitabxanalarına daxil olmasına icazə vermək üçün WoW64 sistem zənglərindən istifadə edir.

    64 bitlik prosesdə 32 bit kodu işlədən yeni WoW64 işə salma rejimi təkmilləşdirildi (köhnə WoW64 rejimində 32 bitlik proqramlar 32 bitlik Unix proseslərində işləyirdi). MacOS platformasında yeni WoW64 rejimindən istifadə üçün əlavə dəstək. Yeni WoW64 rejimi bəzi çatışmazlıqlara malikdir, məsələn, 16 bitlik rejim üçün dəstəyin olmaması və ARB_buffer_storage genişləndirilməsi üçün dəstəyin olmaması səbəbindən OpenGL performansının azalması, o, hələ defolt olaraq aktivləşdirilməyib və "-enable-" seçimi ilə qurulmasını tələb edir. archs=i386,x86_64” " konfiqurasiya skriptində.

  • ARM64 arxitektura sistemlərində mövcud Windows icra sənədlərini işə salmaq imkanı əlavə edildi. ARM64EC ABI (ARM64 Emulation Compatible) üçün Şərab yaratmaq imkanı və ARM64EC modullarının yüklənməsi dəstəyi həyata keçirilib, x64_86 ilə fərdi modulları icra etmək imkanı təmin etməklə, əvvəlcə x64_64 arxitekturası üçün yazılmış proqramların ARM86 sistemlərinə daşınmasını asanlaşdırmaq üçün istifadə edilib. emulyatordan istifadə edərək ARM64 mühitində kod. X64/Arm64EC və ARM64 proseslərində tək icra olunan faylı yükləməyə imkan verən ARM64X PE fayl formatı üçün əlavə dəstək. 32-bit x86 sistemlərinin təqlid edilməsi üçün interfeys tətbiq edilib, lakin emulyatoru olan kitabxana hələ əsas Şərab paketinə daxil edilməyib (X86 kodunu ARM64 mühitində işə salmaq üçün xarici FEX emulyatorundan istifadə edə bilərsiniz).
  • Qrafik alt sistemi
    • PostScript sürücüsü çap işləri haqqında məlumatları saxlayan Windows formatlı spool faylları dəstəkləmək üçün yenidən işlənib. Unix mühitindən sürücüyə birbaşa zənglər istisnadır.
    • WinRT mövzularına qaranlıq rejim dəstəyi əlavə edildi. Qaranlıq interfeys dizaynını aktivləşdirmək üçün WineCfg-ə parametr əlavə edildi.
    • Vulkan qrafik API üçün sürücü Vulkan 1.3.272 spesifikasiyası üçün dəstək əlavə etdi (Wine 8.0-da 1.3.237 dəstəklənir).
    • GdiPlus kitabxanasının funksiyaları optimallaşdırılaraq qrafik performansını artırmağa imkan verir.
  • Direct3D
    • Çox yivli əmr axınının təhlili emal olunan heç bir göstərmə əmrləri olmadıqda dayandırılır ki, bu da bütün əmr axınının bant genişliyini tutmayan proqramları yerinə yetirərkən enerji istehlakını tək yivli emal səviyyəsinə endirməyə imkan verir.
    • Direct3D 10 əlavə effektlər üçün dəstək daxildir.
    • Vulkan qrafik API-dən istifadə edərək WineD3D koduna və arxa ucuna performans optimallaşdırmaları etdi.
    • Vulkan API əsaslı renderinq kodu indi cihazın hansı imkanları dəstəklədiyini yoxlayır və tətbiqə Direct3D funksionallığının hansı səviyyədə olduğunu bildirir.
    • D3DXFillTextureTX və D3DXFillCubeTextureTX funksiyaları həyata keçirilib.
    • Klassik OpenGL ARB shader backend ARB_fragment_program_shadow uzantısından istifadə edərək kölgələri müəyyən etmək üçün dəstəyi əlavə etdi.
    • D3DXLoadMeshHierarchyFromX və oxşar funksiyalar ID3DXLoadUserData interfeysindən istifadə edərək istifadəçi məlumatlarının yüklənməsi üçün əlavə dəstək verir.
  • Səs və video
    • DirectMusic API-nin ilkin tətbiqi təklif edilmişdir. SoundFont formatında kolleksiyalar, alətlər və səs nümunələri üçün əlavə dəstək. Doppler effekti üçün əlavə dəstək. Dmime sequencer və dmsynth MIDI sintezatoru işləyərkən düzgün tətbiqi yoxlamaq üçün testlər həyata keçirilmişdir.
    • FluidSynth kitabxanası istifadə üçün DirectMusic API-də quraşdırılmışdır.
    • DLS1 və DLS2 formatlarında, eləcə də Linux-da istifadə edilən SF2 formatında səs şriftlərinin (SoundFont - MIDI fayllarını oynamaq üçün istifadə edilən nümunə əsaslı sintez formatları) yüklənməsi dəstəyi həyata keçirilib.
    • Audio çıxış üçün FluidSynth proqram sintezatoru və DirectSound API istifadə edərək, dmsynth kitabxanasından istifadə edərək MIDI məzmununu oynamaq imkanı əlavə edildi.
    • Indeo IV50 video kodek formatında video üçün dekoder əlavə edildi.
  • Directshow
    • WMV (Windows Media Video) format dekoderi olan DMO (DirectX Media Object) komponenti həyata keçirilmişdir.
    • Səs çəkmə filtri əlavə edildi (DirectShow Audio Capture Filter).
    • Audio axınlara əlavə olaraq, MPEG‑1 Axın Ayırıcı (DirectShow MPEG‑1 Axın Ayırıcı) indi video axınlarını və xidmət axınlarını dəstəkləyir.
    • MPEG‑1 formatında videonun deşifrə edilməsi üçün filtr (DirectShow MPEG‑1 Video Dekoderi) tətbiq edilib.
  • Giriş cihazları
    • DirectInput, oyun idarəedicisindəki düymələri oyunlarda xüsusi hərəkətlərə bağlamağa imkan verən fəaliyyət xəritəsini dəstəkləyir.
  • Masaüstü inteqrasiyası
    • Bağlamalar əsas istifadəçi mühitinə ixrac edilib və bu, Şərab altında işləyən proqramların URL-ni açarkən protokol işləyiciləri kimi çağırılmasına imkan verir (məsələn, “spotify:user:spotify:playlist:848218482355482821” kimi linkləri açarkən spotify.exe-ni işə salır).
    • Cihazın adı və modeli kimi qoşulmuş monitorun parametrləri haqqında məlumatla EDID (Genişləndirilmiş Ekran İdentifikasiyası Məlumatı) məlumatlarının çıxarılması həyata keçirildi.
    • “Başlat” menyusunda “İş masasından çıx” düyməsini istifadə edərək tam ekran rejimində quraşdırılmış iş masası pəncərəsini bağlamaq mümkündür.
  • İnternasiya
    • IME (Giriş Metod Redaktorları) üçün genişləndirilmiş dəstək. Doğma Windows IME tətbiqləri ilə uyğunluğu təmin etmək və Linux IME ilə inteqrasiyanı təkmilləşdirmək üçün işlər görülüb
    • Unicode CLDR (Unicode Common Locale Data Repository) versiyası 44 verilənlər bazasından locale.nls formatında yerli verilənlər bazalarının yaradılması təmin edilmişdir. bew-ID, blo-BJ, csw-CA, ie-EE, mic-CA üçün əlavə yerli dillərə dəstək , prg-PL əlavə edildi , skr-PK, tyv-RU, vmw-MZ, xnr-IN və za-CN.
    • İnterfeys gürcü dilinə tərcümə edilmişdir. Tam tərcümələr 16 dil üçün, qismən tərcümələr isə 31 dil üçün təqdim olunur.
    • Unicode simvol cədvəlləri standart 15.1.0 versiyasına yeniləndi. Saat qurşağı verilənlər bazası yeniləndi.
  • Kernel (Windows Kernel Interfaces)
    • Verilmiş Windows-un standart versiyası Windows 10-dur.
    • PE formatında icra edilə bilən fayllar üçün ünvan məkanının təsadüfiləşdirilməsi (ASLR) dəstəyi həyata keçirilir, lakin kodun yaddaşa yüklənməsi üçün ünvanlar hələ tam təsadüfi deyil.
    • Zəif parçalanmış yığın üçün dəstək (LFH, Low Fragmentation Heap) həyata keçirildi ki, bu da yaddaş ayırma əməliyyatlarının performansını artırdı.
    • Yaddaşın rezervasiyası üçün dəstək (yer tutucu) virtual yaddaşın ayrılması mexanizminə əlavə edildi, bu proqrama gələcək istifadə üçün virtual yaddaşın müəyyən bir sahəsini saxlamağa imkan verir.
    • İcra edilə bilən faylların və kitabxanaların 64 bitlik yükləyiciləri (yükləyici və ilkin yükləyici) 32 bitlik ünvan sahəsinin bir hissəsini boşaltmaq üçün PIE (Mövqedən Müstəqil İcra olunanlar) formatında tərtib edilir.
    • NT sistem zəngləri və istifadəçi geri çağırışları üçün yığının düzgün açılması təmin edilir.
  • Şəbəkə xüsusiyyətləri
    • MSHTML mühərriki “Cycle Collection” zibil toplama mexanizmini dəstəkləyir.
    • MSHTML XMLHttpRequest sorğularının sinxron emalı üçün dəstəyi əlavə etdi.
    • jscript.dll, açarın ona ixtiyari dəyər əlavə edə bilən obyekt olduğu açar/dəyər cütləri toplusu ilə işləmək üçün WeakMap obyektinə dəstək əlavə edir. WeakMap.get(), WeakMap.delete(), WeakMap.clear() və WeakMap.has() üsulları tətbiq edildi.
    • Gecko brauzer mühərriki 2.47.4 versiyasına yeniləndi.
    • Şəbəkə interfeysinin vəziyyətində dəyişikliklər barədə bildirişlərin dəstəklənməsi həyata keçirilib.
  • Kriptoqrafiya və Təhlükəsizlik
    • PCSClite sistem kitabxanası vasitəsilə həyata keçirilən Winscard.dll kitabxanasına smart kartlar üçün dəstək əlavə edilib.
    • BCrypt, Diffie-Hellman açar mübadiləsi protokolu üçün dəstək əlavə etdi.
    • SSP (Təhlükəsizliyə Dəstək Provayderi) provayderlərinə daxil olmaq üçün SSPI (Təhlükəsizliyə Dəstək Provayderi İnterfeysi) interfeysindən istifadə etmək üçün bir təbəqə təmin edən Danışıqlar paketi həyata keçirilib.
  • Daxili Tətbiqlər
    • Wine Debugger (winedbg) X86 maşın təlimatlarını sökmək üçün Zydis kitabxanasından istifadə edir.
    • 64-bit platformalarda Windows-un köhnə versiyalarını (XP-dən əvvəl) ifşa etmək imkanı WineCfg interfeysinə əlavə edilib ki, bu da WoW64 rejimindən istifadə edərək köhnə proqramları işə salmağa imkan verir.
    • Bütün daxili qrafik proqramlar indi səhv məlumatlarını konsolda göstərmək əvəzinə, ayrıca dialoqda göstərir.
    • Systeminfo proqramı WMI (Windows Management Instrumentation) verilənlər bazasından məlumatların nümayişini təmin edir.
    • Kerberos biletlərini göstərmək üçün klist proqramı əlavə edildi.
    • taskkill tətbiqi uşaq proseslərini zorla dayandırmaq qabiliyyətini həyata keçirir.
    • X86 və ARM-ni dəstəkləyən hibrid icra sənədlərini işə salarkən istifadə olunan arxitekturanı seçmək üçün başlanğıc yardım proqramına "/machine" seçimi əlavə edildi.
    • Tapşırıq siyahısı proqramının əksər funksiyaları həyata keçirilib.
    • findstr tətbiqinin əsas tətbiqi əlavə edildi.
  • İnkişaf Alətləri
    • WineDump yardım proqramı Windows qeyd dəftəri fayllarının məzmununu (REGF formatı), həmçinin hibrid PE fayllarında dəstəklənən bütün arxitekturalar (x86/ARM64) üçün məlumatları göstərmək imkanı verir.
    • IDL kompilyatoru "birləşdirilə bilən", "default_overload", "köhnəlmiş" və "qorunan" atributlar üçün dəstək əlavə edib.
    • Wine 6.0-da köhnəlmiş və uzun müddət Şərabda istifadə olunmayan libwine.so silindi. libwine.so ilə Wine-in köhnə versiyalarında (5.0 və daha köhnə) qurulmuş ELF formatında proqramlar Wine 9.0-da işləmək üçün yenidən qurulmasını tələb edir.
  • Daxili kitabxanalar və xarici asılılıqlar
    • FluidSynth 2.3.3, Musl 1.2.3 (yalnız riyazi funksiyalar) və Zydis 4.0.0 kitabxanaları paketə inteqrasiya olunub.
    • Komponentlər Vkd3d 1.10, Faudio 23.12, OpenLDAP 2.5.16, LCMS2 2.15, LibMPG123 1.32.2, LibPng 1.6.40, LibTiff 4.6.0, LibXml2 2.11.5, ZlibXslib 1.1.38, yeni versiyaya yeniləndi. s. .NET platformasının tətbiqi ilə Wine Mono mühərriki 1.3 buraxılışı üçün yeniləndi.
    • Winewayland.drv sürücüsü xarici asılılıqlar kimi Wayland müştəri kitabxanasından, həmçinin xkbcommon və xkbregistry kitabxanalarından istifadə edir.
    • Smart kartları dəstəkləmək üçün PCSClite xarici kitabxanasından (macOS-da - PCSC) istifadə olunur.
    • Qeyri-i386 platformalarında PE fayllarının yaradılması indi istisnaları idarə etmək üçün ".seh" direktivlərini dəstəkləyən çarpaz tərtibçi tələb edir.

Mənbə: opennet.ru

Добавить комментарий