A stabil kiadás a Wine 7.0

Egy év fejlesztés és 30 kísérleti verzió után bemutatták a Win32 API nyílt megvalósításának stabil kiadását — a Wine 7.0-t, amely több mint 9100 változást tartalmaz. A új verzió kiemelkedő eredményei között szerepel a Wine legtöbb moduljának PE formátumba való átállítása, a témák támogatása, a joystickok és HID interfésszel rendelkező bemeneti eszközök számára a verem bővítése, valamint a WoW64 architektúra megvalósítása, amely lehetővé teszi 32 bites programok futtatását 64 bites környezetben.

A Wine-ben teljes körűen működik 5156 Windows program (egy évvel ezelőtt 5049), további 4312 (egy évvel ezelőtt 4227) program kiválóan fut különböző beállításokkal és külső DLL-ekkel. 3813 program (egy évvel ezelőtt 3703) esetében kismértékű problémák tapasztalhatók, amelyek nem zavarják az alkalmazások alapvető funkcióinak használatát.

A Wine 7.0 kulcsfontosságú újításai:

  • PE formátumú modulok
    • Szinte az összes DLL könyvtár átállt a PE (Portable Executable, Windows-ban használt) végrehajtható fájllal kapcsolatos formátum használatára az ELF helyett. A PE alkalmazása megoldja a különböző másolásvédelem támogatásával kapcsolatos problémákat, amelyek az operációs rendszerszintű modulok azonosítását ellenőrzik a lemezen és a memóriában.
    • Lehetővé vált a PE modulok Unix könyvtárakkal való interakciója az NT mag rendszerhívásának használatával, ami lehetővé teszi a Unix kódra való hivatkozás elrejtését a Windows hibakeresői elől és a szál regisztrációjának nyomon követését.
    • Az integrált DLL-ek most már csak akkor töltődnek be, ha a lemezen megtalálható a hozzájuk tartozó PE fájl, függetlenül attól, hogy valódi könyvtárról van szó vagy egy helyettesítőről. Ez a változás lehetővé teszi az alkalmazás számára, hogy mindig helyesen lássa a PE fájlokhoz való kötődést. E magatartás letiltásához a WINEBOOTSTRAPMODE környezeti változót használhatja.
  • WoW64
    • Megvalósult a WoW64 architektúra (64 bites Windows-on-Windows), amely lehetővé teszi a 32 bites Windows alkalmazások futtatását 64 bites Unix folyamatokban. A támogatás egy réteg csatlakoztatásával valósul meg, amely 32 bites NT rendszerhívásokat konvertál 64 bites NTDLL hívásokra.
    • A WoW64 rétegek a legtöbb Unix könyvtárhoz készen állnak, és lehetővé teszik a 32 bites PE modulok számára a 64 bites Unix könyvtárakhoz való hozzáférést. Miután az összes modult a PE formátumba átállították, lehetőség nyílik 32 bites Windows alkalmazások futtatására 32 bites Unix könyvtárak telepítése nélkül.
  • Témák
    • Megvalósult a téma támogatása. A csomagban szerepel a „Light”, a „Blue” és a „Classic Blue” téma, amelyek a WineCfg konfigurálóprogramon keresztül választhatók.
    • Lehetővé vált az összes kezelőfelület elemének megjelenésének testreszabása a témák segítségével. Automatikus frissítése biztosított a téma váltása után.
    • Minden beépített Wine alkalmazásban támogatás került a témákra. Az alkalmazások adaptálása megtörtént a nagy képpont sűrűségű (High DPI) képernyőkhöz.
  • Grafikai alrendszer
    • Új Win32u könyvtár került hozzáadásra, amelyben a GDI32 és USER32 könyvtárak grafikai feldolgozással és ablakkezeléssel kapcsolatos részei találhatóak a kernel szintjén. A jövőben a Win32u-ra kerülnek majd át a driverek egyes összetevői, mint például a winex11.drv és a winemac.drv.
    • A Vulkan drivernél implementálták a Vulkan 1.2.201 grafikai API specifikáció támogatását.
    • Támogatás biztosított a vonalas geometriai objektumok kiírásához az API Direct2D-n keresztül, a kattintásra való egyeztetés (hit-test) lehetőségével.
    • A Direct2D API-ban kezdeti támogatás került bevezetésre a vizuális effektusokhoz, amelyek az ID2D1Effect interfész használatával alkalmazhatók.
    • A Direct2D API-ba hozzáadva lett az ID2D1MultiThread interfész támogatása, amely az erőforrások kizárólagos hozzáférésének megszervezésére szolgál több szálas alkalmazásokban.
    • A WindowsCodecs könyvtárban implementálták a WMP (Windows Media Photo) formátumú képek dekódolásának és a DDS (DirectDraw Surface) formátumú képek kódolásának támogatását. Megszűnt a képek ICNS formátumban történő kódolásának támogatása (macOS-hez), amely nem támogatott Windows alatt.
  • Direct3D
    • Jelentősen javult az új renderelő motor, amely közvetíti a Direct3D hívások átjárását a Vulkan grafikai API-n. A legtöbb esetben a Direct3D 10 és 11 támogatásának szintjét a Vulkan-alapú motorban az OpenGL-alapú régi motorral egyenlő szintre emelték. A Vulkan-renderelő aktiválásához állítsa be a Direct3D regisztráló változót a „renderer” értékre: „vulkan”.
    • Számos Direct3D 10 és 11 funkciót megvalósítottak, beleértve a késleltetett kontextusokat (Deferred Contexts), amelyek az eszközök kontextusában működnek, állapotobjektumokat, állandó eltolásokat a pufferben, nem rendezett textúra megjelenítések tisztítását, adatok másolását források között a tipustalan formátumokban (DXGI_FORMAT_BC3_TYPELESS, DXGI_FORMAT_R32G32B32A32_TYPELESS) stb.
    • Támogatás került hozzáadásra többmonitoros konfigurációkhoz, lehetővé téve a Direct3D-alkalmazás teljes képernyős megjelenítéséhez szükséges monitor kiválasztását.
    • A DXGI API-ban megvalósításra került a gamma-korrekció lehetősége, amit a Direct3D 10 és 11 alapú alkalmazások a képernyő fényerejének módosítására használhatnak. Megoldották a virtuális keretbuffer (SwapChain) számlálóinak lekérdezését.
    • A Direct3D 12-ben támogatás került hozzáadásra a 1.1-es verziójú gyökér aláírásokhoz.
    • A Vulkan API-n keresztüli rajzolás kódjában megnövelték a lekérdezések feldolgozásának hatékonyságát a VK_EXT_host_query_reset kiterjesztés támogatása esetén.
    • Lehetővé vált a virtuális keretbuffer (SwapChain) GDI-n keresztüli megjelenítése, ha az OpenGL vagy Vulkan nem használható, például ha különböző folyamatok ablakába történik a megjelenítés, például CEF (Chromium Embedded Framework) alapú programokban.
    • A GLSL shader backend használatakor biztosított a 'precise' módosító alkalmazása a shader utasításokhoz.
    • A DirectDraw API-ban hozzáadódott a 3D-renderelés támogatása a rendszer memóriájában szoftveres eszközök, mint például 'RGB', 'MMX' és 'Ramp' használatával.
    • A Direct3D grafikus kártya adatbázisába bekerültek az AMD Radeon RX 5500M, AMD Radeon RX 6800/6800 XT/6900 XT, AMD Van Gogh, Intel UHD Graphics 630 és NVIDIA GT 1030.
    • A HKEY_CURRENT_USER\Software\Wine\Direct3D registry-ből eltávolították a 'UseGLSL' kulcsot, amely helyett a Wine 5.0-tól kezdve a 'shader_backend'-et kell használni.
    • A Direct3D 12 támogatásához most már szükséges a vkd3d könyvtár legalább 1.2-es verziója.
  • D3DX
    • A D3DX 10 megvalósításában javították a vizuális hatások keretrendszerének támogatását és hozzáadták a Windows Media Photo (JPEG XR) képformátum támogatását.
    • A D3DX10 értékestetésekben hozzáadták az ilyen funkciókat, mint a D3DX10CreateTextureFromMemory().
    • Részben megvalósultak az ID3DX10Sprite és ID3DX10Font interfészek.
  • Hang és video
    • A WineGStreamer egyesíti a GStreamer-bővítményeket a DirectShow és a Media Foundation keretrendszerhez, ami egyszerűsíti az új API-k fejlesztését a tartalom dekódolásához.
    • A WineGStreamer backenden alapuló Windows Media objektumok megvalósításra kerültek, lehetővé téve a szinkron és aszinkron olvasást.
    • Folytatódott a Media Foundation keretrendszer megvalósításának fejlesztése, hozzáadva az IMFPMediaPlayer funkció támogatását, mint a minták elosztója (sample allocator), az EVR és a SAR megjelenítési pufferek jobb támogatásának javítását.
    • Eltávolításra került a wineqtdecoder könyvtár, amely QuickTime formátumú dekódolót biztosított (mostantól minden codec GStreamert használ).
  • Bemeneti eszközök
    • Jelentősen javult a beviteli eszközökhöz, amelyek támogatják a HID (Human Interface Devices) protokollt, a HID-leírók elemzése, HID-üzenetek feldolgozása és HID-minidriverek biztosítása révén.
    • A winebus.sys meghajtó háttérrendszerében javult az eszközleírások HID-üzenetekre való átkonvertálása.
    • Új DirectInput háttér került hozzáadásra a HID protokollt támogató joystickokhoz. Megvalósult a feedback hatások használatának lehetősége a joystickokban. vezérlőpanel Optimalizálták a XInput kompatibilis eszközökkel való interakciót. A WinMM-ben a joystickok támogatása DInput-ra lett átállítva, a Linux-ban az evdev háttér, a macOS IOHID helyett. A régi joystick driver, a winejoystick.drv eltávolításra került.
    • A DInput modulba új tesztek kerültek hozzáadásra, amelyek virtuális HID-eszközök alkalmazásán alapulnak, és nem igényelnek valódi eszközt.
  • Szöveg és betűk
    • A DirectWrite-ba hozzáadva egy Font Set objektum.
    • A RichEdit-ben megfelelően megvalósult a TextHost interfész.
  • Kernel (Windows kernel interfészek)
    • A Wine indításakor ismeretlen végrehajtható fájl (például 'wine foo.msi') esetén most elindul a start.exe, amely a fájltípushoz kapcsolódó kezelőket hívja meg.
    • Hozzáadva a NtAlertThreadByThreadId és NtWaitForAlertByThreadId szinkronizációs mechanizmusok támogatása, amelyek hasonlóak a Linux futexeihez.
    • A NT hibakeresési objektumok támogatása, amelyek a kernel funkciók hibakeresésére szolgálnak, hozzáadva.
    • Hozzáadva a dinamikus regisztrációs kulcsok támogatása a teljesítményadatai tárolásához.
  • C Runtime
    • A C runtime-ban megvalósult a matematikai funkciók teljes körű készlete, amely főként a Musl könyvtárból került átvitelre.
    • Minden CPU platform számára biztosítva van a helyes támogatás a lebegőpontos számítási funkciókhoz.
  • Hálózati lehetőségek.
    • Javítva lett az Internet Explorer 11 (IE11) kompatibilitási mód, amely mostantól alapértelmezett a HTML-dokumentumok feldolgozásához.
    • A mshtml könyvtárban megvalósult az ES6 (ECMAScript 2015) JavaScript mód, amely támogatja az olyan funkciókat, mint a let kifejezés és a Map objektum.
    • A Wine MSI csomagok telepítése a Gecko motor kiegészítőivel most már szükség szerint történik, nem a Wine frissítésekor.
    • Hozzáadva a DTLS protokoll támogatása.
    • Megvalósítva a NSI (Network Store Interface) szolgáltatás, amely információkat tárol és továbbít más szolgáltatásoknak a számítógép routolásáról és hálózati interfészeiről.
    • Az API WinSock kezelők, mint a setsockopt és a getsockopt, az NTDLL könyvtárba és az afd.sys illesztőprogramba kerültek áthelyezésre, hogy megfeleljenek a Windows architektúrájának.
    • A Wine munkakatalógusába most saját fájlok kerülnek a hálózati adatbázisokhoz, mint például /etc/protocols és /etc/networks, a megfelelő Unix adatbázisok elérési útja helyett.
  • Alternatív platformok
    • Hozzáadva az Apple M1 (Apple Silicon) processzor alapú hardver támogatása.
    • A BCrypt és Secur32 funkciók támogatásához a macOS platformon most GnuTLS könyvtár telepítése szükséges.
    • Az ARM platformokra készült 32 bites végrehajtható fájlok most Thumb-2 módban készülnek, hasonlóan a Windowshoz. Az ilyen fájlok betöltésére preloader kerül használatra.
    • A 32 bites ARM platformok számára megvalósult a kivételek unrolling támogatása.
    • A FreeBSD alatt bővült az alacsony szintű rendszerinformációk lekérdezésének támogatása, mint például a memóriaállapot és az akkumulátor töltöttségi szintje.
  • Beépített alkalmazások és fejlesztői eszközök
    • A reg.exe segédprogramhoz hozzáadva a 32 és 64 bites regiszter nézetek támogatása. Hozzáadva a regiszter kulcsok másolásának támogatása.
    • A WineDump segédprogramhoz hozzáadva a Windows metainformációk dump kiírásának és a CodeView bejegyzések részletes információinak megjelenítésének támogatása.
    • A Wine Debugger (winedbg) debuggerben lehetőség nyílik 32 bites folyamatok debuggolására egy 64 bites debuggerből.
    • Az IDL (widl) fordítóhoz hozzáadva a PE fájlokban beágyazott könyvtárak betöltési lehetősége, WinRT-specifikus attribútumok és konstrukciók támogatása, valamint könyvtárak keresésének megvalósítása a platform kötelékében.
  • Építési rendszer
    • A hardverarchitektúrákhoz specifikus könyvtárakban a könyvtárakat olyan nevekkel kell menteni, amelyek tükrözik az architektúrát és az végrehajtható fájlok típusát, például 'i386-windows' a PE formátumhoz és 'x86_64-unix' az unix könyvtárakhoz, ami lehetővé teszi különböző architektúrák támogatását egyetlen Wine telepítésben és a Winelib cross-compilation-t.
    • A PE fájlok fejléceiben a natív DLL könyvtárak használatát szabályozó opció beállításához a winebuild-hez hozzáadva a '--prefer-native option' kapcsoló (a DLL_WINE_PREATTACH kezelése DllMainben leállt).
    • Hozzáadva a 4. verziója a Dwarf hibakeresési adatformátumnak, amely most alapértelmezetté vált a Wine könyvtárak építésekor.
    • Hozzáadva az '—enable-build-id' build azonosító megőrzésére az végrehajtható fájlokban.
    • Hozzáadva a Clang fordító MSVC kompatibilitási módban történő használatának támogatása.
  • Vegyes
    • A felhasználói shell (Windows Shell) alapértelmezett könyvtárainak elnevezése a Windows Vista-tól kezdődő séma szerint módosítva, tehát a 'My Documents' helyett most 'Documents' könyvtár jön létre, és a legtöbb adat az 'AppData' könyvtárba kerül mentésre.
    • Az OpenCL könyvtár köztes rétegében hozzáadva az OpenCL 1.2 specifikációnak való támogatás.
    • A WinSpool illesztőprogramhoz hozzáadva a nyomtatási méretváltozatok különböző támogatása.
    • Kezdeti támogatás hozzáadva az MSDASQL számára, a Microsoft OLE DB ODBC meghajtókhoz.
    • A Wine Mono motor a .NET platform megvalósításával frissítve a 7.0.0 kiadásra.
    • A Unicode adatok frissítve a Unicode 14 specifikációra.
    • A forrásfájlok fába beépítve a Faudio, GSM, LCMS2, LibJPEG, LibJXR, LibMPG123, LibPng, LibTiff, LibXml2, LibXslt és Zlib könyvtárak, amelyek PE formátumban épülnek be, és nem igénylik a Unix-formátumú verzió jelenlétét. Ez a könyvtár az externális összeállítások használatára is importálható a rendszerről a beépített PE-verziók helyett.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster