Nakon godinu dana razvoja i 28 eksperimentalnih verzija, objavljeno je Wine 8.0, stabilno izdanje otvorenog koda Win32 API-ja, koje uključuje preko 8600 promjena. Ključno postignuće u novoj verziji je dovršetak konverzije Wine modula u format.
Potvrđeno je da 5266 (5156 prije godinu dana, 5049 prije dvije godine) programa ispravno radi u Wineu. WindowsDodatnih 4370 programa (4312 prije godinu dana, 4227 prije dvije godine) radi savršeno s dodatnim postavkama i vanjskim DLL-ovima. 3888 programa (3813 prije godinu dana, 3703 prije dvije godine) ima manje probleme koji ne ometaju osnovnu funkcionalnost aplikacija.
Ključne inovacije u Wineu 8.0:
- Moduli u PE formatu
- Nakon četiri godine rada, završen je prijevod svih DLL biblioteka u PE (Portable Executable, koristi se u) formatu izvršne datoteke. Windows). Korištenje PE-a omogućuje korištenje materijala dostupnih za Windows Otklanja greške i rješava probleme s podrškom za različite sheme zaštite od kopiranja koje provjeravaju identitet sistemskih modula na disku i u memoriji. Problemi s pokretanjem 32-bitnih aplikacija na 64-bitnim hostovima i x86 aplikacija na ARM sustavima također su riješeni. Preostali problemi planirani za buduća eksperimentalna izdanja Wine 8.x uključuju migraciju modula na NT sučelje sistemskih poziva umjesto izravnih poziva između PE i Unix slojeva.
- Implementiran je namjenski dispečer sistemskih poziva koji se koristi za prevođenje poziva iz PE u Unix biblioteke kako bi se smanjilo opterećenje prilikom izvršavanja punih NT sistemskih poziva. Na primjer, optimizacije su smanjile degradaciju performansi pri korištenju OpenGL i Vulkan biblioteka.
- Mješovite verzije su sada podržane u Winelib aplikacijama. Windows/Unix biblioteke u ELF formatu (.dll.so), ali takve aplikacije bez 32-bitnih biblioteka neće podržavati funkcionalnost dostupnu putem NT sučelja sistemskih poziva, kao što je WoW64.
- WoW64
- WoW64 (64-bitni) međuslojevi su dostupni za sve Unix biblioteke Windows-na-Windows), omogućujući 32-bitnim modulima u PE formatu pristup 64-bitnim Unix bibliotekama, što će, nakon uklanjanja izravnih PE/Unix poziva, omogućiti izvršavanje 32-bitnih Windows-aplikacije bez instaliranja 32-bitnih Unix biblioteka.
- U nedostatku 32-bitnog Wine loadera, 32-bitne aplikacije sada se mogu pokretati u novoj eksperimentalnoj verziji. Windows-sličan WoW64 način rada, u kojem se 32-bitni kod izvršava unutar 64-bitnog procesa. Ovaj način rada je omogućen prilikom kompajliranja Winea s opcijom '--enable-archs'.
- Grafički podsustav
- Zadana konfiguracija koristi temu Light. Temu možete promijeniti pomoću uslužnog programa WineCfg.

- Grafički upravljački programi (winex11.drv, winemac.drv, wineandroid.drv) su pretvoreni za izvršavanje sistemskih poziva na Unix razini i pristup upravljačkim programima putem Win32u biblioteke.

- Arhitektura procesora ispisa implementirana je kako bi se eliminirali izravni pozivi između PE i Unix slojeva u upravljačkom programu pisača.
- Direct2D API implementira podršku za efekte.
- Direct2D API sada podržava snimanje i reprodukciju popisa naredbi.
- Upravljački program grafičkog API-ja Vulkan sada podržava specifikaciju Vulkan 1.3.237 (Wine 7 je podržavao Vulkan 1.2).
- Zadana konfiguracija koristi temu Light. Temu možete promijeniti pomoću uslužnog programa WineCfg.
- Direct3D
- Dodan je novi shader kompajler za HLSL (High-Level Shader Language), temeljen na biblioteci vkd3d-shader. HLSL rastavljač i HLSL predprocesor također su razvijeni na temelju vkd3d-shadera.
- Implementirano je sučelje Thread Pump, predstavljeno u D3DX 10.
- Direct3D 10 efekti dodaju podršku za mnoge nove izraze.
- Pomoćna biblioteka D3DX 9 sada podržava projekciju tekstura Cubemap.
- Zvuk i video
- Na temelju GStreamer okvira implementirana je podrška za filtere za dekodiranje zvuka u MPEG-1 formatu.
- Dodan je filter za čitanje streaming zvuka i videa u ASF (Advanced Systems Format) formatu.
- Međusloj biblioteke OpenAL32.dll je uklonjen, a sada se umjesto njega koristi izvorni. Windows- biblioteka OpenAL32.dll koja se isporučuje s aplikacijama.
- Media Foundation Player ima poboljšano otkrivanje vrste sadržaja.
- Implementirana je mogućnost kontrole brzine prijenosa podataka (Rate control).
- Poboljšana podrška za mikser i prezentera koji se nudi prema zadanim postavkama u Enhanced Video Rendereru (EVR).
- Dodana je početna implementacija Writer Encoding API-ja.
- Poboljšana podrška za program za učitavanje topologije.
- Uređaji za unos
- Značajno poboljšana podrška za kontrolere koji se mogu brzo priključivati.
- Predlaže se poboljšana implementacija koda za detekciju igraćih kotača, izgrađena na temelju SDL biblioteke.
- Poboljšana podrška za efekt povratne informacije o sili pri korištenju igraćih volana.
- Implementirana je mogućnost upravljanja lijevim i desnim vibracijskim motorima pomoću HID Haptic specifikacije.
- Promijenjeni dizajn upravljačke ploče upravljačka palica.
- Podrška za Sony DualShock i DualSense kontrolere omogućena je korištenjem hidraw backenda.
- Predložen je WinRT modul Windows.Gaming.Input implementira softversko sučelje za pristup gamepadima, joystickima i volanima. Novi API podržava, između ostalog, obavijesti o hotplugovima, haptiku i vibracijske efekte.
- Internacionalizacija
- Osigurano je generiranje ispravne baze podataka lokalizacije u formatu locale.nls iz repozitorija Unicode CLDR (Unicode Common Locale Data Repository).
- Funkcije usporedbe Unicode stringova migrirane su kako bi koristile bazu podataka i algoritam. Windows Sortkey umjesto Unicode algoritma sortiranja, što je ponašanje približilo Windows.
- Većina funkcija sada podržava gornje raspone Unicode kodnih točaka (ravnina).
- Omogućena je mogućnost korištenja UTF-8 kao ANSI kodiranja.
- Tablice znakova ažurirane su na specifikaciju Unicode 15.0.0.
- Tekst i fontovi
- Povezivanje fontova omogućeno je za većinu sistemskih fontova, što rješava problem nedostajućih glifova na sustavima s kineskim, korejskim i japanskim lokalizacijama.
- Povratak na rezervni font u DirectWriteu je prerađen.
- Jezgra (jezgrena sučelja Windows)
- Implementirana je baza podataka ApiSetSchema koja zamjenjuje module api-ms-* i smanjuje potrošnju prostora na disku i adresnom prostoru.
- Atributi DOS datoteka sada se spremaju na disk u Samba-kompatibilnom formatu pomoću proširenih FS atributa.
- Značajke umrežavanja
- Dodana je podrška za OCSP (Online Certificate Status Protocol), koji se koristi za provjeru opozvanih certifikata.
- Proširen je raspon značajki EcmaScripta dostupnih u načinu rada usklađenom sa standardima JavaScripta.
- Implementiran je sakupljač smeća za JavaScript.
- Paket Gecko engine uključuje značajke pristupačnosti.
- MSHTML sada podržava Web Storage API, objekt Performance i dodatne objekte za rukovanje događajima.
- Ugrađene aplikacije
- Sve ugrađene aplikacije migrirane su na korištenje biblioteke Common Controls 6, s podrškom za teme dizajna i renderiranje prilagođeno zaslonima visoke gustoće.
- Poboljšane mogućnosti otklanjanja pogrešaka u nitima u Wine Debuggeru (winedbg).
- Uslužnim programima registra (REGEDIT i REG) dodana je podrška za tip QWORD.
- Notepad sada ima statusnu traku s informacijama o položaju kursora i funkciju Goto Line za prelazak na određeni broj retka.
- Ugrađena konzola omogućuje izlaz podataka u OEM kodnoj stranici.
- Naredba 'query' dodana je u uslužni program sc.exe (Kontrola usluga).
- Sustav montaže
- Uvedena je mogućnost izrade PE izvršnih datoteka za više arhitektura (npr. '--enable-archs=i386,x86_64').
- Na svim platformama s 32-bitnim tipom podataka, tipovi podataka definirani u Windows sve dok su dugi, sada su u Wineu redefinirani kao 'long' umjesto 'int'. U Winelibu se ovo ponašanje može onemogućiti definiranjem WINE_NO_LONG_TYPES.
- Dodana je mogućnost generiranja biblioteka bez korištenja dlltool-a (omogućeno postavljanjem opcije '--without-dlltool' u winebuildu).
- Kako bi se poboljšala učinkovitost učitavanja i smanjila veličina biblioteka koje ne sadrže kod, već uključuju samo resurse, winegcc implementira opciju '--data-only'.
- Miscelanea
- Ažurirane su sljedeće ugrađene biblioteke: 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 engine s implementacijom .NET platforme ažuriran je na izdanje 7.4.
- Implementirana je podrška za šifriranje temeljeno na RSA algoritmu i RSA-PSS digitalnim potpisima.
- Dodana je početna verzija UI Automation API-ja.
- Izvorni kod uključuje LDAP i vkd3d biblioteke, koje su izgrađene u PE formatu, što eliminira potrebu za isporukom Unix verzija ovih biblioteka.
- OpenAL biblioteka je zastarjela.
Izvor: opennet.ru


