Stabilna različica Wine 8.0

После года разработки и 28 экспериментальных версий представлен стабильный релиз открытой реализации Win32 API — Wine 8.0, который вобрал в себя более 8600 изменений. Ключевым достижением в новой версии отмечается завершение работы по переводу модулей Wine в формат.

В Wine подтверждена полноценная работа 5266 (год назад 5156, два года назад 5049) программ для Windows, ещё 4370 (год назад 4312, два года назад 4227) программ прекрасно работают при дополнительных настройках и внешних DLL. У 3888 программ (года назад 3813, два года назад 3703) наблюдаются небольшие проблемы в работе, которые не мешают использованию основных функций приложений.

Ключевые новшества Wine 8.0:

  • Moduli v formatu PE
    • После четырёх лет работы полностью завершён перевод всех DLL-библиотек на использование формата исполняемых файлов PE (Portable Executable, применяется в Windows). Применение PE позволяет использовать доступные для Windows отладчики и решает проблемы с поддержкой различных схем защиты от копирования, осуществляющих сверку идентичности системных модулей на диске и в памяти. Также решены проблемы с работой 32-разрядных приложений на 64-разрядных хостах и x86-приложений на системах ARM. Из остающихся задач, которые планируют решить в последующих экспериментальных выпусках Wine 8.x, отмечается перевод модулей на интерфейс системных вызовов NT вместо осуществления прямых вызовов между уровнями PE и Unix.
    • Реализован специальный диспетчер системных вызовов, используемый для трансляции обращений из PE в Unix-библиотеки с целью снижения накладных расходов при выполнении полного системного вызова NT. Например, выполненная оптимизация дала возможность снизить падение производительности при использовании библиотек OpenGL и Vulkan.
    • В Winelib-приложениях сохранена возможность использования смешанных сборок Windows/Unix библиотек в формате ELF (.dll.so), но подобные приложения без 32-разрядных библиотек не будут поддерживать функциональность, доступную через интерфейс системных вызовов NT, такую как WoW64.
  • WoW64
    • Za vse Unix knjižnice so na voljo WoW64 sloji (64-bit Windows-on-Windows), ki omogočajo, da 32-bitni moduli v PE formatu dostopajo do 64-bitnih Unix knjižnic, kar po odstranitvi neposrednih klicev PE/Unix omogoča izvajanje 32-bitnih Windows aplikacij brez namestitve 32-bitnih Unix knjižnic.
    • V odsotnosti 32-bitnega naložnika Wine omogoča zagon 32-bitnih aplikacij v novem eksperimentalnem Windows-podobnem načinu WoW64, kjer se 32-bitna koda zažene znotraj 64-bitnega procesa. Način se vključi pri sestavljanju Wine z možnostjo ‘—enable-archs’.
  • Grafični sistem
    • V privzeti konfiguraciji je uporabljena svetla tema oblikovanja („Light“). Zamenjavo teme je mogoče izvesti s pomočjo orodja WineCfg.
      Stabilna različica Wine 8.0
    • Grafični gonilniki (winex11.drv, winemac.drv, wineandroid.drv) so bili pretvorjeni za izvajanje sistemskih klicev na ravni Unix in za dostop do gonilnikov preko knjižnice Win32u.
      Stabilna različica Wine 8.0
    • Uvedena je arhitektura obdelovalnika tiskanja (Print Processor), ki se uporablja za izključitev neposrednih klicev med nivojema PE in Unix v gonilniku tiskalnika.
    • V API Direct2D je bila uvedena podpora za učinke.
    • V API Direct2D je bila dodana možnost snemanja in predvajanja seznamov ukazov.
    • V gonilniku za grafični API Vulkan je bila dodana podpora za specifikacijo Vulkan 1.3.237 (v Wine 7 je bila podpora za Vulkan 1.2).
  • Direct3D
    • Dodana je nova zbirka prevajalnika senčil za jezik HLSL (High-Level Shader Language), izvedena na osnovi knjižnice vkd3d-shader. Prav tako je na osnovi vkd3d-shader pripravljen disassembler HLSL in predprocesor HLSL.
    • Uveden je vmesnik Thread Pump, ki se je pojavil v D3DX 10.
    • V učinkih Direct3D 10 je bila dodana podpora za številne nove izraze.
    • V pomožni knjižnici za D3DX 9 je bila uvedena podpora za projekcijo tekstur Cubemap.
  • Zvuk i video
    • Na osnovi ogrodja GStreamer je bila uvedena podpora za filtre za dekodiranje zvoka v formatu MPEG-1.
    • Dodan je filter za branje pretočnega zvoka in videa v formatu ASF (Advanced Systems Format).
    • Odstranjena je bila vmesna knjižnica-sloj OpenAL32.dll, namesto katere se zdaj uporablja domača Windows knjižnica OpenAL32.dll, ki jo dobimo z aplikacijami.
    • V Media Foundation Player je izboljšana določitev vrste vsebine.
    • Uvedena je možnost nadzora hitrosti prenosa podatkov (Rate control).
    • Izboljšana je podpora mešalnika in predstavitvenega mehanizma (presenter), ki sta na voljo privzeto v Enhanced Video Renderer (EVR).
    • Dodana je začetna implementacija API Writer Encoding.
    • Izboljšana podpora za nalagalnike topologij.
  • Ulazni uređaji
    • Znatno izboljšana podpora za vroče povezovanje krmilnikov.
    • Predlagana izboljšana implementacija kode za prepoznavanje igralnih volanov, zgrajena na osnovi knjižnice SDL.
    • Izboljšana podpora za učinek vibroodziva (Force feedback) pri uporabo igralnih volanov.
    • Izvedena je bila možnost upravljanja z levim in desnim vibracijskim motorjem, ki uporabljata specifikacijo HID Haptic.
    • Spremenjena postavitev. administracijski plošči z joystickom.
    • Preko uporabe backend-a hidraw je omogočena podpora za krmilnike Sony DualShock in DualSense.
    • Predlagan je WinRT modul Windows.Gaming.Input z implementacijo programske vmesnika za dostop do igralnih joystickov, joystickov in igralnih volanov. Za nov API je bila med drugim implementirana podpora za obveščanje o vročem povezovanju naprav ter taktilnih in vibro učinkov.
  • Mednarodna podpora
    • Zagotovljena je generacija pravilne baze podatkov lokalov v formatu locale.nls iz repozitorija Unicode CLDR (Unicode Common Locale Data Repository).
    • Funkcije primerjanja nizov Unicode so bile prenesene na uporabo baze podatkov in algoritma Windows Sortkey namesto algoritma Unicode Collation, kar je približalo vedenje k Windows.
    • V večini funkcij je dodana podpora za zgornje ravni kod (ravnine) Unicode.
    • Zagotovljena je možnost uporabe UTF-8 kot ANSI kodiranja.
    • Tabele simbolov so posodobljene na specifikacijo Unicode 15.0.0.
  • Tekst i fontovi
    • Za večino sistemskih pisav je vključena povezava pisav, kar je rešilo problem z manjkajočimi glifi na sistemih s kitajskimi, korejskimi in japonskimi lokalizacijami.
    • Prenovljen je bil povratek na rezervno pisavo v DirectWrite.
  • Jezgro (interfejsi jezgra Windows-a)
    • Implementirana je bila baza podatkov ApiSetSchema, ki je nadomestila module api-ms-* in omogočila zmanjšanje porabe diska in naslovnega prostora.
    • Zagotovljeno je shranjevanje datotečnih atributov DOS na disku v formatu, kompatibilnem s Sambom, pri čemer so uporabljeni razširjeni atributi FS.
  • Mrežne mogućnosti
    • Dodana je bila podpora za protokol OCSP (Online Certificate Status Protocol), ki se uporablja za preverjanje preklicanih potrdil.
    • Razširjen je spekter možnosti EcmaScript, dostopnih v načinu skladnosti z standardi JavaScript.
    • Izveden je bil zbiralnik odpadkov za JavaScript.
    • V paketu z motorjem Gecko so vključena orodja za osebe z omejeno mobilnostjo.
    • V MSHTML je dodana podpora za API Web Storage, objekt Performance in dodatne objekte za obdelavo dogodkov.
  • Vgrajene aplikacije
    • Vse vgrajene aplikacije so bile prenesene na uporabo knjižnice Common Controls 6, z podporo za teme in risanje ob upoštevanju zaslonov z visoko gostoto pikslov.
    • Razširjene so možnosti razhroščevanja niti v razhroščevalniku Wine Debugger (winedbg).
    • V orodjih za delo z registri (REGEDIT in REG) je bila dodana podpora za tip QWORD.
    • V Notepad je bila dodana vrstica stanja z informacijami o položaju kurzorja in funkcija Goto Line za prehod na določen številko vrstice.
    • V vgrajeni konzoli je omogočen izhod podatkov v kodni strani OEM.
    • V orodje sc.exe (Service Control) je bila dodana ukaz ‘query’.
  • Build system
    • Omogočena je gradnja izvršnih datotek v formatu PE za več arhitektur (na primer, ‘—enable-archs=i386,x86_64’).
    • Na vseh platformah z 32-bitnim tipom long so v Wine sedaj tipi podatkov, določeni v Windows kot long, preusmerjeni kot ‘long’ namesto ‘int’. V Winelib lahko to obnašanje onemogočite z definicijo WINE_NO_LONG_TYPES.
    • Dodana je možnost generiranja knjižnic brez uporabe dlltool (vključi se s nastavitvijo možnosti ‘—without-dlltool’ v winebuild).
    • Za povečanje učinkovitosti nalaganja in zmanjšanje velikosti knjižnic, ki ne vsebujejo kode in vključujejo le vire, je v winegcc implementirana možnost ‘—data-only’.
  • Razno
    • Posodobljene verzije vgrajenih knjižnic 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.
    • Wine Mono motor sa implementacijom platforme .NET ažuriran je na verziju 7.4.
    • Omogočena je podpora za šifriranje na osnovi algoritma RSA in digitalne podpise RSA-PSS.
    • Dodana je začetna različica API UI Automation.
    • V drevo izvornih besedil so vključene knjižnice LDAP in vkd3d, ki se sestavljajo v formatu PE, kar je odpravilo potrebo po dobavi Unix različic teh knjižnic.
    • Prenehana je uporaba knjižnice OpenAL.

Izvor: opennet.ru

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster