Végre itt a Wine 8.0

kami911 képe

Megjelent a Wine 8.0-s kiadása, amely a nyílt forráskódú szoftver éves stabil kiadása. A Wine ezen kiadása egy év fejlesztési erőfeszítését és több mint 8600 egyéni kódváltoztatás összefoglalását jelenti egy teljesen új főverzióban. Számos javítást tartalmaz, amelyekről a hírben bővebben olvashat. A fő eredmény a PE formátumra való átalakítás befejezése, amely a négy évvel ezelőtt elkezdett munkálatok végére tesz pontot.

A Wine lehetővé teszi a Windows játékok és alkalmazások futtatását Linux, macOS, BSD és más platformok alatt. Ez egy összefoglaló a tavalyi Wine 7.0-s mérföldkő óta bevezetett számos változásról. Ha Linux alatt szükség van Windows alkalmazok futtatására, akkor a Wine vagy a belőle készült termékekkel teheti meg azt a felhasználó, x86 utasításkészlettel rendelkező számítógépeken. A Wine új kiadása, egy évnyi fejlesztési fázis után került immáron végleges verzióban a publikum elé. A köztes réteg, azaz wrapper, nem egy emulátor (erre utal a neve is: WINE – Wine Is Not Emulator), így nem teljes gépet emulál a gépben futó alkalmazásnak, mint mondjuk virtualizáció esetén, hanem az alkalmazott rendszerhívásokat fordítja le a megfelelő linux-os, mac-es hívásokra.


Milyen újdonságokra számíthatunk a Wine 8.0-val

A Wine projekt új kiadása, a Wine 8.0 bejelentése szerint a PE modulok átalakítása végre befejeződött, ami jelentős mérföldkő a támogatott funkciók, például a másolásvédelem, a 32 bites alkalmazások 64 bites gazdagépeken történő futtatásához, a Windows hibakeresők, az x86 alkalmazások ARM-on történő futtatása esetében és még számos más esetben. A Wine 8.0-ban még mindig vannak olyan modulok, amelyek közvetlen hívásokat eszközölnek a PE és a Unix rész között, anélkül, hogy az NT rendszerhívás interfészen keresztül mennének. A maradék közvetlen hívásokat a Wine 8.x fejlesztési fázisában fogják a fejlesztők eltávolítani.

Egy speciális syscall dispatchert használnak a PE -> Unix hivásokhoz, hogy elkerüljék az NT rendszerhívás teljes overheadjét. Ez minimalizálja az új architektúra teljesítményi hatását, különösen az OpenGL és a Vulkan könyvtárak esetében.

Az ELF formátumban (dll.so könyvtárak) épített Windows / Unix könyvtárakat továbbra is támogatják a Winelib alkalmazások használatához. Az ilyen alkalmazások azonban nem támogatják az NT syscall interfészen keresztül engedélyezett funkciókat, például a WoW64-et anélkül, hogy 32 bites Unix könyvtárakat használnának.

A WoW64-ben a WoW64 thunkokat az összes Unix könyvtárhoz implementálták, ami lehetővé teszi egy 32 bites PE modul számára, hogy hívja a 64 bites Unix könyvtárat. Miután eltávolították a maradék közvetlen PE / Unix hívásokat, teljesen lehetséges lesz futtatni a 32 bites Windows alkalmazásokat anélkül, hogy bármilyen 32 bites Unix könyvtárat használnának.

Az új, „Windows-szerű” WoW64 módban (ahol a 32 bites kód fut egy 64 bites gazdafolyamatban) indulnak el az 32-bites alkalmazások, amikor a 32-bites Wine betöltő nem fellelhető. Ez a mód a „--enable-archs” konfigurációs opcióval építve engedélyezhető, de még fejlesztés alatt áll, és jelenleg nem ajánlott általános használatra. Mivel konfigurációs hibák esetén véletlenül is előfordulhat, hogy ez a mód indul el, az ilyen módban elindított alkalmazások figyelmeztetést kapnak „kísérleti wow64 módban indul”. A thunks segítségével a 32 bites NT rendszerhívásokat a 64 bites NTDLL-hez lesz rendelve. Kivételkezelés is támogatva van a Wow64 üzemmódban.

A grafikai részben a „Light” téma az alapértelmezett konfigurációban engedélyezve van, hogy modernebb megjelenéssel jelenjen meg. A grafikus meghajtók (winex11.drv, winemac.drv, wineandroid.drv) átalakításra kerültek, hogy a Unix oldalon fussanak, és a Unix oldali Win32u könyvtárral kommunikáljanak. A Print Processor architektúra is implementálásra került, ami a nyomtatómeghajtókban a PE <-> Unix hívások elkerülésére lesz használva. Támogatják a Direct2D effektusokat, beleértve a leírás elemzését és néhány alap objektumot. A Direct2D-ben a parancsok felvételét és lejátszását implementálták. A Vulkan meghajtó támogatja a Vulkan specifikáció 1.3.237-es verzióját.

A Direct3D részben számos olyan optimalizációt hajtottak végre, amelyek a stream map gyorsítással kapcsolatosak, az általános kódban és a GL leképzőben is. Attól függően, hogy milyen a futtatott alkalmazás, ez nagymértékű teljesítménynövekedést eredményezhet. Implementálva lettek a videó memória büdzsé változásának értesítései. A Vulkan leképző több viewport-ot és scissor rectangles támogat. Több Direct3D 10 és 11 funkció, amelyek már elkészültek, pontosan jelentik a képességek jelzőit (flag). A WINE_D3D_CONFIG környezeti változót használhatja a Direct3D regisztrációs-adatbázis kulcs módosításának kényelméért. Az érték egy vessző- vagy pontosvessző-elválasztott kulcs-érték párlista, például: "renderer=vulkan; VideoPciVendorID=0xc0de". Azaz:

WINE_D3D_CONFIG="renderer=vulkan;VideoPciVendorID=0xc0de"

Ha egy adott beállítás az környezeti változóban és a registry-ban is meghatározva van, az utóbbi felülíródik. A Direct3D grafikus kártya adatbázis több grafikus kártyát ismer fel. A Vulkan leképző korlátozza a maximális Direct3D funkció szintet a rendelkezésre álló Vulkan funkciók alapján.

A Direct3D segédkönyvtárak részben új HLSL fordítót implementáltak a vkd3d-shader könyvtár használatával, és új HLSL disassembler is elérhető.

Az Audio/Video részben a GStreamer-re épülő MPEG-1 audio dekóder szűrőt implementáltak a layer 1 és 2 számára, valamint egy külön szűrőt a layer 3 számára. Az ASF olvasó szűrőt is implementálták a fejlesztők. Az OpenAL32.dll wrapper könyvtárat eltávolították, helyette a Windows alkalmazások által szállított natív OpenAL32.dll könyvtárat használják.

A Media Foundation részben javították a tartalom típus feloldását, implementálták a sebesség szabályozást, továbbá jobban támogatják az Enhanced Video Renderer alapértelmezett keverőjét és prezentereit, valamint az DirectShow szűrőt az Enhanced Video Renderer-ben. Az író API-hoz is implementáltak egy kezdeti keretrendszert, és javították a topológia betöltő támogatását.

Az input eszközök részben jelentősen javították a controller hotplug támogatást, és a controller eltávolítás- és beillesztés ténye helyesen jut el az alkalmazásokhoz. A kormány eszközök felismerését és jelentését is javították, a SDL könyvtár és a HID használatok használatával eszköztípusokhoz való javaslatokként. A force feedback hatás támogatása javult, különösen a kormány eszközökkel. Az HID Haptics specifikációját használják a bal / jobb motor rázására és a trigger rázására. Ennek köszönhetően lehetséges a periféria illesztőknek a HidRaw-on keresztüli rezgés támogatásának kifejezése, és az EvDev korlátokat leküzdve. Az irányítópultot új grafikával és az XInput gamepadokhoz dedikált nézettel újratervezték. A Sony DualShock és DualSense kontrollereket támogatják, amikor a hidraw háttérprogramot használják, és ugyanúgy jelenítik meg az alkalmazásokban, mint a Windows-on. Bevezették a Windows.Gaming.Input modult, amely az első WinRT modul a Wine-ban, és új programozási interfészt biztosít a játékpadok, vezérlők és kormány eszközök hozzáféréséhez. Ennek az új input API-nak köszönhetően a hotplug értesítéseket is implementálták, valamint a force feedback hatásokat és a rezgést.

A nemzetköziesítés kapcsán egy új helyi adatbázist hoztak létre a Windows locale.nls formátumban, amely a Unicode CLDR adatbázisból generálódik. A támogatott területi beállíások listája gyakorlatilag megegyezik az legújabb Windows verzióval. A Unicode string összehasonlítás a Windows Sortkey adatbázison és algoritmusokon alapul, ami jobb kompatibilitást biztosít. A felső Unicode síkok karakterei (UTF-16 kódolásban) támogatottá váltak legtöbb programfüggvényben, különösen a case mappings, BiDi formázás és karakter formázás esetében. Az UTF-8 kódolást is támogatják, akárcsak az ANSI kódlapot, amelyet az alkalmazás manifestja igényel. A Unicode karaktertáblák a 15.0.0-s Unicode Standard verzióra épülnek. Az időzóna adatokat az IANA időzóna adatbázis 2022g verziójából generálják.

A szövegek és betűkészletek tekintetében a rendszer betűtípusokhoz engedélyezték a font linkinget, ami segít a hiányzó glif-ek javításában a CJK területi beállításoknál. A DirectWrite font fallback-ja újra lett tervezve, további támogatást biztosítva számos script számára.

A Kernel részben implementálták az ApiSetSchema adatbázist, ami helyettesíti az összes api-ms-* továbbító modult. Ennek köszönhetően csökkent a lemezterület és a címtér használat. A DOS fájlattribútumok perisztációja a fájlrendszer kiterjesztett attribútumain keresztül tárolódnak lemezen, ami kompatibilis a Sambával.

Az internettel és hálózatra tekintettel implementálták az Online Certificate Status Protocol (OCSP) rendszert - amely a tanúsítványok visszavonásának elfogadott megoldása, több EcmaScript funkciót támogatnak a JScript standard-compliant módban, implementáltak egy JScript garbage collector-t, engedélyezték az akadálymentesítési támogatást a Wine Gecko csomagban, valamint a Web Storage, Performance API és a Battery Status API támogatása is javult.

Ezen kívül a Wine 8.x fejlesztési fázisában még további újdonságokat is bevezetnek, mint például a Direct3D 12 támogatás, a Windows Runtime for Windows desktop támogatás, és a Windows Store alkalmazások futtatásának támogatása. A Wine 8.x célja, hogy minél jobban támogassa a Windows alkalmazások futtatását Linux és Mac rendszereken, és javítsa azok teljesítményét és kompatibilitását.

Összefoglalva a Wine 8.0 egy nagyszabású frissítés, amely jelentősen javítja a Windows alkalmazások futtatásának támogatását Linux és macOS rendszereken. Bár még vannak olyan alkalmazások és játékok, amelyekkel nehézségek vannak, a Wine fejlesztői folyamatosan dolgoznak ezen a problémákon, hogy minél több alkalmazás és játék futtatható legyen Linux és macOS rendszereken is.

A Wine 8.0 végleges verziója összesen 8600 kódmódosítást tartalmaz.

Az újdonságok teljes listája a bejelentésben található.

Letöltés és telepítés

Megtalálható magyar nyelven a Súgó-ban: Wine

További disztribúciókhoz szánt csomagok

  • Ubuntu - WineHQ bináris csomagok: Ubuntu aktuális kiadások
  • Debian - WineHQ bináris csomagok: Debian aktuális kiadások
  • Fedora - WineHQ bináris csomagok: Fedora aktuális kiadások
  • macOS - WineHQ bináris csomagok: macOS 10.8 és újabbakhoz.
  • Továbbiak

 

Jó borozást!