Stabilno izdanje Wine 10.0

Nakon godinu dana razvoja i 29 eksperimentalnih verzija, predstavljeno je stabilno izdanje otvorene implementacije Win32 API-ja - Wine 10.0, u koje je ugrađeno više od 6000 izmjena. Ključna postignuća u novoj verziji uključuju punu podršku za arhitekturu ARM64EC, skaliranje na zaslonima s visokom gustoćom piksela, uključivanje Wayland upravljačkog programa prema zadanim postavkama, implementaciju panela za prilagodbu zaslona i joysticka, alternativnu multimedijsku pozadinu temeljenu na FFmpeg, Bluetooth upravljački program, podrška za Vulkan 1.4, mogućnost emulacije, mijenjanje video načina.

Potvrđeno je da 5372 programa ispravno radi u Wineu Windows (5336 prije godinu dana, 5266 prije dvije godine, 5156 prije tri godine), dodatnih 4435 programa (4397 prije godinu dana, 4370 prije dvije godine, 4312 prije tri godine) radi dobro s dodatnim postavkama i vanjskim DLL-ovima. 4020 programa (3943 prije godinu dana, 3888 prije dvije godine, 3813 prije tri godine) ima manje probleme koji ne ometaju korištenje osnovne funkcionalnosti aplikacije.

Ključne inovacije u Wineu 10.0:

  • ARM64
    • Pružena je puna podrška za arhitekturu ARM64EC (kompatibilna s emulacijom ARM64), čija je razina podrške u Wineu dostigla paritet s arhitekturom ARM64. Arhitektura ARM64EC dizajnirana je za pojednostavljenje prijenosa aplikacija izvorno napisanih za x64_86 sustave na ARM64 sustave i omogućuje pojedinačnim modulima koda x64_86 da se izvode u okruženju ARM64 pomoću emulatora.
    • Implementirana je puna podrška za format datoteke ARM64X PE, koji vam omogućuje kombiniranje koda za arhitekture ARM64EC i ARM64 u jednoj izvršnoj datoteci. Da biste izgradili Wine u formatu ARM64X, trebate instalirati LLVM iz Gita (potrebna funkcionalnost bit će uključena u izdanje LLVM 20) i prilikom pokretanja skripte “configure” navesti opciju “-enable-archs=arm64ec,aarch64” .
    • Implementirano je sučelje za emulaciju 64-bitnih x86 sustava. Kada koristite ARM64EC, sam Wine radi kakav jest, a emulacija se primjenjuje samo na x86-64 kod aplikacije. Biblioteka s emulatorom još nije uključena u glavni Wine paket, ali za pokretanje x86-64 koda u okruženju ARM64 možete koristiti vanjski FEX emulator izgrađen s podrškom za ARM64EC.
    • Podrška za ARM64 zahtijeva da sustav koristi 4KB memorijske stranice kako to zahtijeva ABI. Windows (izvodi se u okruženjima s kernelima Linux, korištenje memorijskih stranica od 16K ili 64K još nije podržano).
  • Grafički podsustav
    • Implementirano preciznije skaliranje na zaslonima s visokom gustoćom piksela (High-DPI). Omogućena je podrška za način DPI Awareness kako bi se organizirao prikaz aplikacija na zaslonima s visokom gustoćom piksela, uzimajući u obzir podržava li aplikacija prilagodbu DPI promjenama ili ne (aplikacije koje ne uzimaju u obzir DPI automatski se skaliraju). Dodane opcije za nadjačavanje High-DPI podrške za pojedinačne aplikacije ili Wine prefikse.
    • Podrška za specifikaciju Vulkan 1.4 dodana je u upravljački program za Vulkan grafički API (Vulkan 9.0 je podržan u Wineu 1.3.272). Dodana podrška za Vulkan ekstenzije za video kodiranje i dekodiranje.
    • Pri korištenju pozadine X11 implementirana je mogućnost renderiranja dječjih prozora Vulkan za aplikacije koje koriste takve prozore za prikaz 3D sadržaja (prethodno je takva značajka bila dostupna samo za OpenGL).
    • Podrška za mehanizam povezivanja fontova dodana je u GdiPlus biblioteku, što vam omogućuje korištenje nekoliko fontova pri prikazivanju teksta ako ne postoje fontovi koji zasebno pokrivaju sve znakove koji se nalaze u tekstu.
  • Wayland
    • Zadana konfiguracija uključuje upravljački program winewayland.drv, koji omogućuje pokretanje Winea u okruženjima temeljenim na Waylandu bez korištenja XWayland ili X11 komponenti. Wine pokreće zadane aplikacije izravno na Waylandu samo ako XWayland nije dostupan; inače je XWayland preferirani pokretač. Za prisilno pokretanje Waylanda možete koristiti varijablu okruženja DISPLAY ili dodati ključ registra stvaranjem datoteke file.reg: Windows Uređivač registra verzija 5.00 [HKEY_CURRENT_USER\Software\Wine\Drivers] "Graphics" = "wayland" i primijenite ga naredbom: $ WINEPREFIX = /put/do/prefix wine regedit /put/do/datoteke.reg
    • Dodana podrška za OpenGL i međuspremnike piksela (pBuffer) u winewayland.drv upravljački program.
    • Riješeni problemi s pozicioniranjem skočnih prozora u okruženjima temeljenim na Waylandu.
    • Kada koristite Wayland, implementirana je podrška za automatsko ponavljanje kada se pritisnu tipke.
  • Integracija s radnom površinom
    • Dodan je eksperimentalni mehanizam emulacije "modesetting" koji vam omogućuje da emulirate promjenu video načina rada bez stvarne promjene postavki zaslona. Vidljivost promjene razlučivosti zaslona bez prebacivanja video moda stvara se kroz proširenje i skaliranje prozora.
    • Dodan je novi applet Desktop Control Panel (desk.cpl) s implementacijom sučelja za upravljanje postavkama zaslona (na primjer, možete promijeniti virtualnu rezoluciju desktopa ili konfigurirati emulirane parametre zaslona).
    • Dodana je mogućnost vraćanja postavki zaslona na zadane vrijednosti ako je nemoguće vratiti stanje nakon pada procesa.
    • Dodana je podrška za onemogućavanje prikaza ikona u programskoj traci (u "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" treba specificirati "NoTrayItemsDisplay=1").
    • Dodana je podrška za onemogućavanje ljuski (Shell launcher) u načinu rada na radnoj površini (u "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" treba navesti "NoDesktop=1").
  • Direct3D
    • Renderiranje s OpenGL-om sada zahtijeva podršku za GLSL 1.20, kao i ekstenzije EXT_framebuffer_object i ARB_texture_non_power_of_two. Podrška za stari ARB shader backend i postavku OffscreenRenderingMode je ukinuta.
    • Za Direct3D 9 i starije, dodan je grafički cjevovod s fiksnom funkcijom (stariji Direct3D pružao je samo predefinirane grafičke operacije koje se ne mogu mijenjati), implementiran korištenjem HLSL shader jezika i dopušta emulaciju fiksne funkcije pri renderiranju putem Vulkan ili OpenGL API-ja.
    • Renderiranje pomoću Vulkana koristi Vulkanova proširenja za dinamičku promjenu stanja grafičkog cjevovoda, smanjujući zastajkivanje u igrama.
    • Dodan alternativni glsl-vkd3d backend za GLSL shadere, koristeći vkd3d-shader.
    • Pružena početna podrška za kompajliranje Direct3D efekata pomoću vkd3d-shadera.
    • Knjižnica D3DX9 implementira mogućnost generiranja MIP tekstura (MipMap) prilikom učitavanja volumetrijskih tekstura. Dodana je podrška za formate prikaza boja od 64 bpp RGBA i 48 bpp RGB u PNG slikama, kao i formate X8L8V8U8, A2W10V10U10, A8P8, V16U16 i Q16W16V16U16.
  • Zvuk i video
    • Kao alternativa pozadini temeljenoj na GStreameru, implementirana je nova multimedijska pozadina, koja se temelji na upotrebi FFmpega i prikladna je za pokretanje okvira Media Foundation. Da biste omogućili alternativnu pozadinu, trebali biste navesti “DisableGstByteStreamHandler=1” u odjeljku registra “HKCU\Software\Wine\MediaFoundation”.
    • Implementacija API-ja Media Foundation je poboljšana kako bi se bolje prilagodila aplikacijama koje ovise o komponentama za demultipleksiranje i dekodiranje.
    • DirectMusic API je dodao podršku za učitavanje MIDI datoteka.
  • Uređaji za unos
    • Dodana početna verzija Bluetooth upravljačkog programa.
    • Dodan aplet upravljačke ploče joysticka (joy.cpl) s implementacijom postavki za joystick.
    • Poboljšanja su napravljena na pokazivačkim uređajima (touchpadovi, miševi) pomoću HID (Human Interface Device) protokola. Dodan je upravljački program mouhid.sys za HID uređaje. Implementirano je ispravno parsiranje kompozitnih ulaznih uređaja, a informacije o njima sada se prenose na Windows-aplikacije, kao zasebni uređaji.
    • Za pozadinu X11 dodana je podrška za zaslone osjetljive na dodir i implementirana je mogućnost korištenja multi-touch načina obrade WM_POINTER* poruka (WM_POINTERENTER, WM_POINTERLEAVE itd.).
    • Implementirano postavljanje nekih internih struktura user32 biblioteke u zajedničku memoriju, što je povećalo performanse i smanjilo opterećenje Wine Servera.
    • Winex11 je dodao podršku za obradu XInput2 događaja u odnosu na pojedinačne prozore.
    • Implementirana ispravna podrška za tipkovnice s Dvorak rasporedom.
  • Jezgra (jezgrena sučelja Windows)
    • Dodana podrška za eskalaciju privilegija procesa (procesu koji se inicijalno izvodi kao standardni korisnik mogu se dodijeliti administratorske ovlasti). Prilikom kreiranja poslužiteljskih procesa (msi akcijski poslužitelj), kao i procesa koji pozivaju funkcije RtlCreateUserProcess() i CreateProcessInternal(), ograničeni administratorski token omogućen je prema zadanim postavkama.
    • Prilikom dobivanja informacija o oznakama diska, kad god je to moguće, sada se koristi pristup uslugama sustava putem DBus-a, umjesto pokušaja izravnog pristupa uređaju.
    • Mehanizam jednosmjerne međuprocesne komunikacije (IPC) Mailslotsa sada je implementiran izravno u Wine poslužitelju, što omogućuje potpunu semantičku podršku. Windows.
    • Implementirano čekanje događaja serijskog porta u asinkronom načinu rada.
    • Dodana je puna podrška za ekstenzije procesora XSTATE u kontekstu niti, dopuštajući korištenje novih vektorskih ekstenzija kao što je AVX-512.
  • Ugrađene aplikacije
    • Mehanizam za obradu ulaznih podataka koji se koristi u interpreteru naredbi cmd.exe je ponovno napisan. Dodana podrška za operacije “||” u cmd.exe I "&&".
    • Uslužni program findstr dodao je podršku za regularne izraze i pretraživanja koja ne razlikuju velika i mala slova.
    • Mogućnost registracije ARM32EC modula dodana je uslužnim programima regsvr32 i rundll64.
    • Dodani uslužni programi: sort za sortiranje ulaznih podataka, fc za usporedbu datoteka i where za pretraživanje datoteka.
    • Aplikacija wmic implementira interaktivni način rada.
    • Explorer je dodao izbornu podršku za početni izbornik i alatnu traku. Omogućeno pokretanje explorer.exe sa smanjenim pravima pristupa.
  • Razvojni alati
    • Dodana opcija "-marm64x" u winebuild za generiranje ARM64X hibridnih biblioteka.
    • Dodana opcija "-marm64x" u winegcc kako bi se omogućila izgradnja za ARM64X.
    • Datoteke generirane korištenjem Interface Definition Language (IDL) koriste komponente koje u potpunosti podržavaju izvođenje u interpretiranom načinu.
    • Podrška za generiranje knjižnica tipova (TypeLib) u starom formatu (SLTG) dodana je IDL (Interface Definition Language) prevoditelju.
    • Uslužni program winedump dodao je podršku za spremanje dumpova minidump tablica, informacija o C++ iznimkama i resursa typelib-a.
  • Miscelanea
    • Poboljšana podrška za Diffie-Hellman (DH) protokol za razmjenu ključeva. Dodana je mogućnost konfiguriranja i primanja DH parametara. Implementirani rukovatelji za stvaranje parova javnih i privatnih ključeva.
    • Omogućeno je korištenje inkrementalnog paddinga OAEP (Optimal Asymmetric Encryption Padding) zajedno s RSA algoritmom.
    • DirectPlay API podržava mrežne sesije.
    • Poboljšano rukovanje asinhronim ulazno/izlaznim stanjima pri radu u WoW64 (64-bitnom) načinu rada Windows-na-Windows), što vam omogućuje pokretanje 32-bitnih Windows-aplikacije na 64-bitnim Unix sustavima.
    • Dodana je podrška za učitavanje ODBC upravljačkih programa za DBMS kompilirane za Windows.
    • Za ARM platformu implementirana je puna podrška za RPC/COM, C++ RTTI (Informacije o vrsti vremena izvođenja) i C++ iznimke.
    • U C runtimeu, ANSI funkcije implementiraju podršku za UTF-8 kodiranje.
    • Mogućnosti MSHTML motora su proširene. Dodana podrška za prototipove i konstruktore objekata. Novo sučelje za vezanje objekata za MSHTML dodano je u JavaScript mehanizam. MSHTML ugrađene funkcije pretvorene su u važeće JavaScript objekte. Poboljšano skupljanje smeća JavaScripta kako bi se pokrili svi konteksti izvršavanja skripte u niti. Dodana podrška za ArrayBuffer i DataView JavaScript objekte.
    • Podrška za statičku analizu pomoću izvješća o testiranju Clang i JUnit dodana je sustavu kontinuirane integracije temeljenom na Gitlabu.
    • Biblioteka Capstone 5.0.3 ugrađena je u paket, preko koje se rastavljanje implementira u WineDb debuggeru.
    • Komponente ažurirane na nove verzije: Vkd3d 1.14, Faudio 24.10, FluidSynth 2.4.0, LDAP 2.5.18, LCMS2 2.16, LibJpeg 9f, LibMPG123 1.32.9, LibPng 1.6.44, LibTiff 4.7.0, LibXml2 2.12.8, LibXslt 1.1.42 i Zlib 1.3.1.

Izvor: opennet.ru

Kupite pouzdan hosting za stranice s DDoS zaštitom, VPS VDS poslužiteljima 🔥 Kupite pouzdan web hosting sa DDoS zaštitom, VPS VDS servere | ProHoster