Turbó fokozatra kapcsolt a Wine a legújabb fejlesztői verzióban

Segítséget kaptál? Szívesen töltöd itt az idődet? Visszajársz hozzánk? Támogasd a munkákat: Ko-fi és Paypal!

kami911 képe

A Wine 10.16 egyik legfontosabb fejlesztése az NTSync támogatásának véglegesítése. Ez a mechanizmus egy új, a Linux 6.14-ben bevezetett kernelmodult használ, amely a Windows NT szinkronizációs primitívjeit képes natívan kezelni. A cél: jobb teljesítmény és kompatibilitás több szálas alkalmazások (különösen játékok) esetén. A támogatás még nem teljes, de az ehhez szükséges előkészítő foltok most már bekerültek a kódba, és a teljes funkció a következő hónapokban várható.

Az NTSYNC driver bevezetése nagy lépés a Windows-játékok Linux alatti teljesítményének javítása felé. Amint a hiányzó javításokat és funkciókat beépítik, a játékosok komoly teljesítményjavulásra számíthatnak. Ez újabb lendületet adhat a Linux-alapú játékrendszerek és a Proton népszerűségének, lehetővé téve a Windows-platformon elérhető játékok szélesebb körű támogatását. Az NTSYNC-hez kapcsolódó fejlesztések beépítése kulcsfontosságú lesz a jövőbeni Linux-kiadások számára, és a Linux-közösség reménykedik, hogy a következő verziókban már teljes mértékben működőképes lesz. Az NTSYNC célja, hogy a Windows NT szinkronizációs mechanizmusait hatékonyabban emulálja Linux alatt, ami kulcsfontosságú a Windows-játékok sima futtatásához Wine vagy Proton környezetben. Az ilyen szinkronizációs primitívek pontos implementációja drámai teljesítményjavulást hozhat, különösen játékok esetében.

A teljesítmény növekedése nagy mértékben változik az alkalmazástól és a felhasználó hardverétől függően. Néhány játék esetében az NT szinkronizáció nem okoz lassulást, és semmilyen változást nem lehet észlelni, de más játékok esetében a képfrissítési sebesség akár 50-150% javulását is megfigyelhették. A fenti táblázat különböző játékok képfrissítési sebességét mutatja be különböző hardvereken, Dmitry Skvortsov, FuzzyQuills, OnMars és a szerző által mért adatok alapján.

Mit jelent ez a Linux-játékosok számára?

Most, hogy az NTSYNC támogatás bekerült a Wine-ba, és a felhasználók a Linux 6.14-es kernelt is használják, a Windows-kompatibilitás jelentősen javult, különösen a játékok esetében. A Wine mellett a Valve Proton verzióiban is megjelent az integráció, ami további teljesítménynövekedést hozhat a Steam Play környezetben.

A Wine projekt a Windows API-t emulálja a felhasználói térben. Az API egy része, különösen az NT szinkronizációs primitívek, történelmileg RPC-n keresztül került kezelésre egy dedikált „kernel” folyamaton keresztül. Azonban az újabb alkalmazások egyre inkább használják ezeket az API-kat, és az RPC overhead korlátozó tényezővé vált. Az NT szinkronizációs API-k túl bonyolultak ahhoz, hogy egyszerűen ráépítsék a meglévő primitívekre anélkül, hogy a jó működést feláldoznák. Bizonyos műveletek, mint például az NtPulseEvent() vagy az NtWaitForMultipleObjects() „mindenre várakozás” módozata, közvetlen ellenőrzést igényel a várakozási sorral kapcsolatban, és olyan várakozási sor megvalósítása, ami elég robosztus a Wine számára a felhasználói térben, nem lehetséges. Ezért javasolt, hogy a vezérlő illesztőprogram közvetlenül a Linux kernelben kerüljön megvalósításra a problémás interfészek jobb teljesítményű megoldásával.

Ez a vezérlő illesztőprogram bemutatásra került a 2023-as Linux Plumbers Conference konferencián. Azoknak, akik mélyebben érdeklődnek a Wine-ban használatos szinkronizáció iránt és a történettel kapcsolatban, illetve a probléma korábbi megoldási kísérletei kapcsán, a prezentáció felvételét itt tekinthetik meg:

Linux Plumbers Conference 2023 prezentáció

Ezzel a Linux kernel számára egy új karaktereszköz-illesztőprogram került bevezetésre, a /dev/ntsync, amelyet a Windows NT szinkronizációs primitívek implementálására használnak.

Várakozások és jövőbeli fejlesztések

Az NTSYNC driver bevezetése nagy lépés a Windows-játékok Linux alatti teljesítményének javítása felé. Ezzel a játékosok komoly teljesítményjavulásra számíthatnak, ami újabb lendületet adhat a Linux-alapú játékrendszerek és a Proton népszerűségének, lehetővé téve a Windows-platformon elérhető játékok szélesebb körű támogatását. Az NTSYNC-hez kapcsolódó fejlesztések beépítése kulcsfontosságú lesz a jövőbeni Linux-kiadások számára, és a Linux-közösség reménykedik, hogy a következő verziókban már teljes mértékben működőképes lesz. Az NTSYNC célja, hogy a Windows NT szinkronizációs mechanizmusait hatékonyabban emulálja Linux alatt, ami kulcsfontosságú a Windows-játékok sima futtatásához Wine vagy Proton környezetben. Az ilyen szinkronizációs primitívek pontos implementációja drámai teljesítményjavulást hozhat, különösen játékok esetében.

A teljesítmény növekedése nagy mértékben változik az alkalmazástól és a felhasználó hardverétől függően. Néhány játék esetében az NT szinkronizáció nem okoz lassulást, és semmilyen változást nem lehet észlelni, de más játékok esetében a képfrissítési sebesség akár 50-150% javulását is megfigyelhették. A fenti táblázat különböző játékok képfrissítési sebességét mutatja be különböző hardvereken, Dmitry Skvortsov, FuzzyQuills, OnMars és a szerző által mért adatok alapján.

Játék Eredeti ntsync Javulás
Anger Foot 69 99 43%
Call of Juarez 99.8 224.1 125%
Dirt 3 110.6 860.7 678%
Forza Horizon 5 108 160 48%
Lara Croft: Temple of Osiris 141 326 131%
Metro 2033 164.4 199.2 21%
Resident Evil 2 26 77 196%
The Crew 26 51 96%
Tiny Tina's Wonderlands 130 360 177%
Total War Saga: Troy 109 146 34%

Ahogy most elérhetővé vált a Wine 10.16 fejlesztői kiadása, számos újítást, hatalmas sebességnövekedést és hibajavítást hoz a Windows alkalmazások és játékok Linux, macOS és más rendszereken való futtatásához.

Újdonságok a Wine 10.16-ban

  • Gyors szinkronizáció támogatása az NTSync segítségével, amely hatékonyabb több szálas működést biztosít.
  • 16 bites alkalmazások futtatása az új WoW64 módban, ami nagy előrelépés a régi szoftverek kompatibilitása szempontjából.
  • Kezdeti támogatás a D3DKMT objektumokhoz, amelyek a Windows grafikus alrendszerének fontos részei.
  • WinMD (Windows Metadata) fájlok generálása és telepítése, ezzel a .NET és UWP alkalmazások támogatása is javul.

Hibajavítások

A kiadás összesen 34 hibát javít, köztük:

  • A Need for Speed III telepítője már nem akad el Windows 9x módban.
  • A Shadow Company: Left for Dead és több más játék grafikája helyreáll.
  • Az Overwatch fókuszvesztési hibája respawn után megszűnt.
  • Számos régi és új játék (például SimCity 2000 Windows 95 edition, Legacy of Kain: Blood Omen, Grand Theft Auto: Vice City, Wolfenstein: The New Order) mostantól elindul vagy grafikai hibák nélkül fut.
  • Javítások érkeztek a vbscript, CMD parancsértelmező, Direct3D, valamint az audio beállítások kezeléséhez is.

Forráskód és telepítés

A Wine 10.16 egyelőre forrásból érhető el a Wine GitLab projektoldalán, de a bináris csomagok is hamarosan megérkeznek a főbb disztribúciók (például: Ubuntu, Debian, Fedora, Arch) csomagtáraiba, illetve a WineHQ saját PPA tárolójába is. A frissített forráskód innen tölthető le. A különböző disztribúciókhoz számos bináris csomag érhető el a WineHQ letöltési oldaláról. A dokumentáció a WineHQ dokumentációs oldalán érhető el.

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!