Egy év fejlesztés és 28 kísérleti verzió után bemutatásra került a Win32 API nyílt megvalósításának stabil kiadása - Wine 8.0, amely több mint 8600 változást tartalmaz. Az új verzió kiemelkedő eredménye a Wine modulok átkonvertálásának befejezése a formátumba.
A Wine 5266 Windows alkalmazás teljes körű működésének megerősített támogatását nyújtja (egy évvel ezelőtt 5156, két évvel ezelőtt 5049), míg további 4370 (egy évvel ezelőtt 4312, két évvel ezelőtt 4227) program kiválóan működik további beállításokkal és külső DLL-ekkel. 3888 programnál (egy évvel ezelőtt 3813, két évvel ezelőtt 3703) apróbb működési problémák jelentkeznek, amelyek nem akadályozzák az alkalmazások alapvető funkcióinak használatát.
A Wine 8.0 kulcsfontosságú újdonságai:
- PE formátumú modulok
- Négy évnyi munka után teljesen befejeződött az összes DLL-könyvtár átkonvertálása a PE (Portable Executable, Windowsban használt) formátumra. A PE alkalmazása lehetővé teszi Windows Debuggerek használatát és megoldja a különböző másolóvédelem támogatásának problémáit, amelyek ellenőrzik a rendszer modulok azonosságát lemezen és memóriában. Továbbá megoldódtak a 32 bites alkalmazások működésével kapcsolatos problémák 64 bites hostokon, valamint az x86 alkalmazások működése ARM rendszereken. A következő kísérleti Wine 8.x verziókban megoldandó feladatok közé tartozik a modulok átállítása az NT rendszerhívás interfészre a PE és Unix szintek közötti közvetlen hívások helyett.
- Megvalósították a rendszerhívások speciális diszpécserét, amelyet a PE-ből Unix könyvtárakba történő hívások fordítására használnak, csökkentve ezzel a teljes NT rendszerhívás költségeit. Például a végrehajtott optimalizálás lehetővé tette a teljesítmény csökkenésének csökkentését OpenGL és Vulkan könyvtárak használata során.
- A Winelib alkalmazásokban megmaradt a vegyes Windows/Unix könyvtárak使用混合的 Windows/Unix könyvtárak ELF formátumban (.dll.so), de az ilyen alkalmazások 32 bites könyvtárak nélkül nem támogatják az NT rendszerhívás interfészen keresztül elérhető funkciókat, mint például a WoW64.
- WoW64
- A WoW64 (64-bit Windows-on-Windows) layer is provided for all Unix libraries, allowing 32-bit PE modules to access 64-bit Unix libraries. This eliminates the need for direct PE/Unix calls, enabling 32-bit Windows applications to run without installing 32-bit Unix libraries.
- In the absence of a 32-bit Wine loader, 32-bit applications can be launched in a new experimental Windows-like WoW64 mode, where 32-bit code runs within a 64-bit process. This mode is enabled when building Wine with the ‘—enable-archs’ option.
- Grafikai alrendszer
- The default configuration applies a light theme ('Light'). The theme can be changed using the WineCfg utility.

- Graphics drivers (winex11.drv, winemac.drv, wineandroid.drv) have been transformed to execute system calls at the Unix level and communicate with drivers via the Win32u library.

- A print processor architecture has been implemented to exclude direct calls between PE and Unix levels in the printer driver.
- Support for effects has been implemented in the Direct2D API.
- The Direct2D API has added the ability to record and replay command lists.
- The Vulkan graphics API driver has added support for Vulkan specification 1.3.237 (Vulkan 1.2 was supported in Wine 7).
- The default configuration applies a light theme ('Light'). The theme can be changed using the WineCfg utility.
- Direct3D
- A new shader compiler for the High-Level Shader Language (HLSL) has been implemented based on the vkd3d-shader library. A HLSL disassembler and HLSL preprocessor have also been prepared based on vkd3d-shader.
- The Thread Pump interface, which appeared in D3DX 10, has been implemented.
- Many new expressions have been added to Direct3D 10 effects.
- Support for Cubemap texture projection has been implemented in the auxiliary library for D3DX 9.
- Hang és video
- Support for filters to decode sound in MPEG-1 format has been implemented based on the GStreamer framework.
- A filter for reading streaming sound and video in the Advanced Systems Format (ASF) has been added.
- The intermediate wrapper library OpenAL32.dll has been removed, and the native Windows library OpenAL32.dll that comes with applications is now used instead.
- Improved content type detection in the Media Foundation Player.
- The possibility of controlling the data rate (Rate control) has been implemented.
- Improved support for the mixer and presenter offered by default in the Enhanced Video Renderer (EVR).
- An initial implementation of the Writer Encoding API has been added.
- Javították a topológia betöltő támogatását.
- Bemeneti eszközök
- Jelentősen javították a játékvezérlők forró csatlakozásának támogatását.
- Javították a játék kormánykerekeit meghatározó kód megvalósítását, amely az SDL könyvtáron alapul.
- Javították a visszajelző (Force feedback) hatás támogatását a játék kormánykerekeivel való használat során.
- Lehetségessé vált a bal és jobb vibrációs motorok vezérlése, amelyek a HID Haptic specifikációt használják.
- Stílusában megváltozott. irányítópulthoz joystikkal.
- A hidraw backend használatával biztosították a Sony DualShock és DualSense vezérlők támogatását.
- Javasolták a WinRT modult Windows.Gaming.Input a játékkonzolok, joystickok és játék kormánykerekeihez való hozzáférés programozási interfész megvalósításával. Az új API számára különbözőek voltak a forró csatlakozás értesítése, tapintható és vibrációs effektusok támogatása.
- Nemzetköziesítés.
- Biztosították a helyi adatbázis helyes generálását locale.nls formátumban az Unicode CLDR (Unicode Common Locale Data Repository) adattárból.
- Az Unicode karakterláncok összehasonlítása átállt az Windows Sortkey adatbázis és algoritmus használatára az Unicode Collation algoritmus helyett, ami közelebb hozta a viselkedést a Windowshoz.
- A legtöbb funkcióhoz hozzáadták a magas kódpályák (síkok) Unicode támogatását.
- Lehetővé tették az UTF-8 használatát ANSI kódolásként.
- A karaktertáblák frissítve lettek az Unicode 15.0.0 specifikációra.
- Szöveg és betűk
- A legtöbb rendszerfont számára aktiválták a fontközeli hivatkozást, amely megoldotta a glyphok hiányának problémáját a kínai, koreai és japán lokalizációkkal rendelkező rendszereken.
- Átalakították a visszaállást a tartalék betűtípusra a DirectWrite-ban.
- Kernel (Windows kernel interfészek)
- Megvalósították az ApiSetSchema adatbázist, amely helyettesítette az api-ms-* modulokat, és csökkentette a lemez- és címköltségeket.
- Biztosították a DOS fájl attribútumok lemezre való mentését, Samba-kompatibilis formátumban, a FS kiterjesztett attribútumait használva.
- Hálózati lehetőségek.
- Hozzáadták az OCSP (Online Certificate Status Protocol) támogatását, amelyet visszavont tanúsítványok ellenőrzésére használnak.
- Bővítették az EcmaScript lehetőségeit, amelyek a JavaScript szabványoknak való megfelelés módban érhetők el.
- Megvalósították a JavaScript hulladékgyűjtőt.
- A Gecko motorral együtt elérhetők a fogyatékkal élők számára készült eszközök.
- Az MSHTML -ben hozzáadták a Web Storage API, a Performance objektum és további eseménykezelő objektumok támogatását.
- Beépített alkalmazások
- Minden beépített alkalmazás a Common Controls 6 könyvtár használatára lett átállítva, a téma támogatásával és a nagy sűrűségű pixeles képernyők figyelembevételével.
- Bővült a szálak hibakeresési lehetősége a Wine Debugger (winedbg) hibakeresőben.
- A REGEDIT és REG segédprogramokban hozzáadva a QWORD típus támogatása.
- A Notepad-hoz hozzáadva egy státuszsor a kurzor pozíciójának információival és a Goto Line funkció a megadott sor számára való ugráshoz.
- A beépített konzol biztosítja az adatok megjelenítését OEM kódoldalon.
- A sc.exe (Szolgáltatásvezérlés) segédprogramhoz hozzáadva a 'query' parancs.
- Építési rendszer
- Lehetőség nyílt végrehajtható fájlok PE formátumban való összeállítására több architektúrához (például '—enable-archs=i386,x86_64').
- Az összes 32 bites long típusú platformon az adatok, amelyeket a Windows long-ként definiál, mostantól a Wine-ban long-ként van újradefiniálva az int helyett. A Winelib-ben ezt a viselkedést a WINE_NO_LONG_TYPES definícióval lehet kikapcsolni.
- Lehetőség nyílt könyvtárak generálására dlltool használata nélkül (ez a winebuild ‘—without-dlltool’ opciójának megadásával aktiválható).
- A könyvtárak betöltésének hatékonysága és a méretük csökkentése érdekében, amelyek nem tartalmaznak kódot és csak erőforrásokat tartalmaznak, a winegcc-nél bevezetésre került a ‘—data-only’ opció.
- Vegyes
- Frissítve lettek az integrált könyvtárak verziói: 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.
- A Wine Mono .NET platform megvalósítása frissítve lett a 7.4-es verzióra.
- Megvalósítva az RSA alapú titkosítás és az RSA-PSS digitális aláírások támogatása.
- Hozzáadva az API UI Automation kezdeti verziója.
- A forráskód fákba bekerültek az LDAP és vkd3d könyvtárak, amelyek PE formátumban kerülnek összeállításra, megszabadítva a Unix-verziók szállításának szükségességét.
- Megszüntették az OpenAL könyvtár használatát.
Forrás: opennet.ru


