În baza de cod Wine, pe care se va forma o versiune 10.15 în decurs de o săptămână, a fost adăugată suportul pentru driverul ntsync, care permite creșterea semnificativă a performanței jocurilor Windows rulate prin Wine. Driverul face parte din kernelul Linux începând cu versiunea 6.14 și implementează dispozitivul simbolic /dev/ntsync și un set de primitive pentru sincronizare utilizate în kernelul Windows NT.
Creșterea semnificativă a performanței se obține datorită eliminării costurilor asociate utilizării RPC în spațiul utilizatorului. De exemplu, utilizând driverul ntsync comparativ cu implementarea primitivlor de sincronizare NT în spațiul utilizatorului, FPS-ul maxim în jocul Dirt 3 a crescut cu 678%, în jocul Resident Evil 2 — cu 196%, Tiny Tina’s Wonderlands — cu 177%, Lara Croft: Temple of Osiris — cu 131%, Call of Juarez — cu 125%, The Crew — cu 96%, Forza Horizon 5 — cu 48%, Anger Foot — cu 43%.
Pentru a activa primitivele de sincronizare optimizate în Wine, trebuie să activați modulul kernel ntsync, care este dezactivat în mod implicit. Puteți adăuga un fișier de configurare /etc/modules-load.d/ntsync.conf, conținând linia „ntsync” și să reporniți sistemul sau să încărcați manual modulul cu comanda „sudo modprobe ntsync”. Este necesar cel puțin kernel Linux 6.14.
Pentru a verifica dacă ntsync funcționează cu adevărat, trebuie să rulați ceva în Wine. De exemplu, este suficient să executați comanda „winecfg”, apoi să rulați „lsof /dev/ntsync” și să vă asigurați că în output sunt procese wine care folosesc ntsync. De exemplu: $ lsof /dev/ntsync COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME start.exe 658466 user 12r CHR 10,260 0t0 630 /dev/ntsync services. 658474 user 11r CHR 10,260 0t0 630 /dev/ntsync explorer. 658484 user 11r CHR 10,260 0t0 630 /dev/ntsync winedevic 658499 user 10r CHR 10,260 0t0 630 /dev/ntsync svchost.e 658552 user 10r CHR 10,260 0t0 630 /dev/ntsync plugplay. 658557 user 10r CHR 10,260 0t0 630 /dev/ntsync winedevic 658605 user 10r CHR 10,260 0t0 630 /dev/ntsync conhost.e 658623 user 11r CHR 10,260 0t0 630 /dev/ntsync winecfg.e 658625 user 11r CHR 10,260 0t0 630 /dev/ntsync
Sursa: opennet.ro
