
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!
