A Wine kétségtelenül az egyik legismertebb projekt a Linux-világban. és nem szabad kevesebbet tennünk a projekttel, mert bár évekig olyan állapotban volt, hogy sokan azt hittük, hogy elfelejtik, de erőre kapott, és ma, a 9.0-s verzióban a Wine egyike azoknak az alkalmazásoknak, amelyek A legtöbb Linux-felhasználó rendszerint beépítette a rendszerébe.
Az ARM érkezésével és az általa felvett hatalmas erővel ez az építészet, Különféle disztribúciókat fejlesztettek ki, sőt adaptáltak is mindenféle, és amellyel különféle alkalmazások is eljutottak ehhez az architektúrához. A Windows-alkalmazástól függő alkalmazások esetében azonban a dolgok kissé bonyolulttá válnak., mert egy asztali számítógépre tervezett alkalmazás futtatása ARM-en nem olyan egyszerű, mint a telepítés, és ennyi.
Ezért A Hangover projekt ebből az igényből született., amely lehetővé teszi az x32 (i86) és ARM386 architektúrákra fordított 32 bites Windows alkalmazások futtatását ARM64 (Aarch64) architektúrán alapuló környezetekben.
A Másnaposságról
Az adattárban A Hangover leírja a projektet:
Különféle emulátorokat használ DLL-ként, hogy csak a futtatni kívánt alkalmazást emulálja a teljes Wine-telepítés emulálása helyett. Amint az alkalmazás Windows/Wine rendszerhívást indít, mondjuk NtUserCreateWindowEx, az emulátoron kívül fut (nem emulált, gyors, natív). Még jobb, hogy a Unix-szal kapcsolatos dolgokat soha nem emulálják.
Röviden, teljesítményi okokból kilépünk az emulációból win32 vagy Wine Unix rendszerhívási szinten, amit a Wine WoW64 támogatása tesz lehetővé.
A projekt fő előnye abban rejlik képes jelentősen javítani a teljesítményt a Wine futtatásához képest teljesen emulációs módban. A Hangover esetében az emulátor csak magának az alkalmazáskódnak a futtatására szolgál, míg az összes rendszerhívás, könyvtár és Wine összetevő az emulátoron kívül fut le az aktuális platform natív verziójában.
Ez a megközelítés szétszedi az emulációs láncot a win32 és a wine hívások szintjén. Az emulációs réteghez a felhasználók QEMU, FEX és Box64 emulátorokat használhatnak, preferenciáiktól függően. Ezenkívül megkezdődött a munka a Blink emulátor támogatásán, bár az még mindig folyamatban van, és nincs véglegesítve.
A Hangover 9.0 főbb újdonságai
A Hangover új verziójában számos jelentős fejlesztést és kiegészítést hajtottak végre a projekten, amelyek közül a következők emelkednek ki:
- QEMU használata WoW64-el: Bevezette a QEMU használatának lehetőségét a WoW64 (Windows-on-Windows 64 bites) réteggel együtt, amely elérhető a Wine-ban. Ez lehetővé teszi a 32 bites Windows alkalmazások futtatását 64 bites Unix rendszereken, az x86_32 és ARM32 architektúrák támogatásával.
- FEX támogatás: Hozzáadott támogatás a FEX emulátorhoz PE formátumban és Unix buildekben. A tervek szerint a jövőben megszüntetik a FEX Unix buildek használatát a PE formátumú buildek helyett.
- Állások a Box64-nél: A Box64 emulátorral teljes integrációt sikerült elérni.
- Előre elkészített deb csomagok: Deb csomagokat készítettek a Debian 11-hez és 12-hez, a jövőbeni tervek szerint Ubuntu és Alpine Linux számára is kiadnak csomagokat.
- Állások a RISC-V architektúrához: Megkezdődtek az erőfeszítések a Windows-alkalmazások RISC-V architektúrán alapuló környezetekben történő elindítására.
- Az x86_64 emuláció támogatásának visszaállítása: Folyamatban van az x86_64 architektúra emulációjának támogatása a 64 bites Windows alkalmazások futtatásához. A 0.8-as ágban a támogatás az i386-ra korlátozódott, mivel nem volt elérhető az ARM64EC a Wine-ban.
Emellett kiemelik, hogy folyamatban van a RISC-V architektúrára adaptált Hangover implementáció fejlesztése. Ez a legújabb fejlesztés a Wine 9.0 kódbázison alapul, ami a verziószámában is tükröződik.
Végül, ha igen érdekelne többet megtudni róla, a részleteket itt ellenőrizheti a következő link.