In den Code-Basis von Wine, auf dessen Grundlage in einer Woche Version 10.15 veröffentlicht wird, wurde die UnterstĂŒtzung fĂŒr den ntsync-Treiber hinzugefĂŒgt. Dieser Treiber ermöglicht eine signifikante Leistungssteigerung fĂŒr Windows-Spiele, die mit Wine ausgefĂŒhrt werden. Der Treiber ist ab Kernel-Version 6.14 in Linux enthalten und implementiert das ZeichengerĂ€t /dev/ntsync sowie eine Reihe von Synchronisierungsprimitive, die im Kernel von Windows NT verwendet werden.
Eine erhebliche Leistungssteigerung wird durch die Vermeidung der Overheads erzielt, die mit der Nutzung von RPC im Benutzerspeicher verbunden sind. Beispielsweise stieg die maximale FPS in dem Spiel Dirt 3 um 678 % mit dem ntsync-Treiber im Vergleich zur Implementierung der Synchronisierungsprimitive im Benutzerspeicher. Bei Resident Evil 2 betrug der Anstieg 196 %, bei Tiny Tinaâs Wonderlands 177 %, bei Lara Croft: Temple of Osiris 131 %, bei Call of Juarez 125 %, bei The Crew 96 %, bei Forza Horizon 5 48 % und bei Anger Foot 43 %.
Um optimierte Synchronisationsprimitive in Wine zu aktivieren, muss das Kernelmodul ntsync aktiviert werden, das standardmĂ€Ăig deaktiviert ist. Sie können die Konfigurationsdatei /etc/modules-load.d/ntsync.conf hinzufĂŒgen, die die Zeile ântsyncâ enthĂ€lt, und das System neu starten oder das Modul manuell mit dem Befehl âsudo modprobe ntsyncâ laden. Es wird mindestens Kernel Linux 6.14 benötigt.
Um sicherzustellen, dass ntsync tatsĂ€chlich funktioniert, mĂŒssen Sie etwas in Wine ausfĂŒhren. Geben Sie beispielsweise einfach den Befehl âwinecfgâ ein und fĂŒhren Sie dann âlsof /dev/ntsyncâ aus, um zu ĂŒberprĂŒfen, ob im Ausgabeprozess Prozesse von Wine angezeigt werden, die ntsync verwenden. Zum Beispiel: $ 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
Quelle: opennet.ru
