21. siječnja 2020. službeno je objavljen stabilni izdanak — slobodnog alata za pokretanje izvornih Windows programa u UNIX okruženju. To je alternativna, slobodna implementacija Windows API-ja. Rekurzivna kratica WINE znači "Wine Is Not an Emulator".
Ova verzija je rezultat gotovo godišnjeg razvoja i više od 7400 pojedinačnih promjena. Glavni programer Alexandre Julliard ističe četiri:
- Podrška za module u PE formatu. Ovo rješava probleme s različitim shemama zaštite od kopiranja, koje provjeravaju sistemske module na disku i u memoriji.
- Podrška za više monitora i više GPU-a, uključujući dinamičko promjenjivanje postavki.
- Reimplementacija XAudio2 na temelju FAudio projekta, otvorene implementacije zvučnih biblioteka DirectX. Prijelaz na FAudio omogućava postizanje veće kvalitete zvuka u igrama, uključuje mješavinu glasnoće, proširene zvučne efekte i slično.
- Podrška za Vulkan 1.1.
Detaljnije informacije o ključnim novinama.
PE moduli
Uz prisutnost MinGW kompajlera, većina Wine modula sada se sastavlja u formatu izvršnih datoteka PE (Portable Executable, binarni format Windows) umjesto ELF.
Izvršne datoteke PE sada se kopiraju u direktorij ~/.wine umjesto korištenja lažnih DLL datoteka, što aplikacije čini sličnijima pravim Windows instalacijama.
Za sada nisu svi moduli konvertirani u PE format. Rad i dalje traje.
Grafički podsustav
Kao što je već spomenuto, dodana je podrška za radu s više monitora i grafičkih adaptora.
Vulkan driver je ažuriran na specifikacije Vulkan 1.1.126.
Osim toga, biblioteka WindowsCodecs sada podržava dodatne rasterske formate, uključujući formate s indeksiranom paletom.
Direct3D
Aplikacije u punom ekranu Direct3D sada blokiraju pozive screensavera.
Za DXGI aplikacije implementirana je mogućnost prebacivanja između režima punog ekrana i prozora pomoću standardne kombinacije tipki Alt+Enter.
Proširene su mogućnosti Direct3D 12: podrška za prebacivanje između režima punog ekrana i prozora, promjene režima zaslona, prikaz s skaliranjem i intervali zamjene prikaznih bafera (swap interval). Sve ove funkcije već su bile implementirane za prethodne verzije Direct3D API-ja.
Članovi projekta su marljivo radili i otklonili bukvalno stotine grešaka, čime je poboljšana obrada Wine različitih graničnih situacija. Među njima su uzorkovanje 2D resursa u 3D uzorkovima i obrnuto, primena izlaznih vrednosti van dozvoljenih opsega za testove prozirnosti i dubine, iscrtavanje sa reflektujućim teksturama i baferima, korišćenje neispravnih klipera (DirectDraw objekat) i još mnogo toga.
Smanjena je veličina potrebnog adresnog prostora pri učitavanju 3D tekstura, komprimovanih metodom S3TC (umesto učitavanja u celosti, teksture se učitavaju delovima).
Za stare aplikacije DirectDraw uvedena su razna poboljšanja i ispravke vezane za izračunavanje osvetljenja.
Proširena je baza grafičkih kartica prepoznatih u Direct3D.
Mreža i kriptografija
Gecko motor je ažuriran na verziju 2.47.1 za podršku savremenim alatima. Implementiran je niz novih HTML API-ja.
U MSHTML je implementirana podrška za SVG elemente.
Dodano je mnogo novih funkcija VBScript-a (na primer, handleri grešaka i izuzetaka).
Implementirana je mogućnost dobijanja parametara podešavanja HTTP-proxy preko DHCP-a.
U kriptografskoj sekciji implementirana je podrška za kriptografske ključeve zasnovane na eliptičnim krivinama (ECC) putem GnuTLS, dodana je mogućnost uvoza ključeva i sertifikata iz fajlova u PFX formatu, dodana je podrška za šemu formiranja ključa zasnovanu na lozinki PBKDF2.
Adobe Photoshop CS6 pod Wine
Ostale značajne novine
- Podrška za spinlock-ove NT jezgra.
- Zahvaljujući isteku patenta na kompresiju tekstura DXTn i S3, omogućeno je njihovo uključivanje u podrazumevanu implementaciju.
- Podrška za instalaciju plug-and-play drajvera.
- Razna poboljšanja DirectWrite-a.
- Poboljšana podrška za Windows Media Foundation API.
- Bolja sinhronizacija primitvnih podataka zahvaljujući implementaciji na futexima.
- Zajednička upotreba Wine-Mono za uštedu prostora umesto open-source implementacije .NET za svaki.
~/.wine. - Podrška za Unicode 12.0 i 12.1.
- Implementacija inicijalne HTTP usluge (HTTP.sys) kao zamene za Winsock API i IIS, čime je performansa postala bolja od Windows Sockets API.
- Bolja kompatibilnost sa Windows debugger-ima.
- Bolja podrška za LLVM MinGW i poboljšanja cross-kompilacije WineGCC.
Također se mogu spomenuti poboljšanja u korisničkom sučelju. Na primjer, smanjena su prozori sada prikazani pomoću naslovne trake, a ne s ikonicama u stilu Windows 3.1. Poboljšana je podrška za igraće kontrolere, uključujući hat switch, volan i pedale.
Unutarnji dekodjeri AVI, MPEG-I i WAVE uklonjeni su iz Wine-a, a umjesto njih sada se koriste sustavni GStreamer ili QuickTime.
Dodana je mogućnost korištenja debugggera iz Visual Studija za daljinsko ispravljanje grešaka aplikacija pokrenutih u Wine-u, djelomično je implementirana biblioteka DBGENG (Debug Engine), a iz datoteka sakupljenih za Windows uklonjena je ovisnost o libwine.
Za optimizaciju performansi razne funkcije rada s vremenom prebačene su na korištenje visokoučinkovitih sustavnih funkcija rada s tajmerima, što je omogućilo smanjenje režijskih troškova u ciklusu iscrtavanja mnogih igara. Urađene su i druge optimizacije performansi.
Potpuni popis promjena vid. .
,
Na web stranici vodimo bazu Windows aplikacija koje su kompatibilne s Wine-om. Evo lidera po :
- Final Fantasy XI
- Adobe Photoshop CS6 (13.0)
- World of Warcraft 8.3.0
- EVE Online Current
- Magic: The Gathering Online 4.x
Može se pretpostaviti da se ove aplikacije najčešće pokreću u Wine-u.
Napomena. Izdanje Wine 5.0 posvećeno je sjećanju na Józefa Kuciju, koji je tragično preminuo u kolovozu 2019. godine u dobi od 30 godina dok je istraživao špilju na jugu Poljske. Józef je bio važan sudionik u razvoju Direct3D Wine-a, kao i vodeći autor projekta. Tijekom rada na Wine-u, pridonio je s više od 2500 zakrpa.

Izvor: habr.com
