В Wine интегрирована поддержка ntsync для повышения производительности игр
Дата публикации:Sat, 06 Sep 2025 08:42:50 +0300
В кодовую базу Wine, на основе которой через неделю будет сформирован выпуск 10.15, добавлена поддержка драйвера ntsync, позволяющего существенно поднять производительность Windows-игр, запускаемых при помощи Wine. Драйвер входит в состав ядра Linux начиная с выпуска 6.14 и реализует символьное устройство /dev/ntsync и набор примитивов для синхронизации, применяемых в ядре Windows NT.
Значительный прирост производительности достигается благодаря избавлению от накладных расходов, связанных с применением RPC в пространстве пользователя. Например, при использовании драйвера ntsync по сравнению с реализацией примитивов синхронизации NT в пространстве пользователя максимальный FPS в игре Dirt 3 увеличился на 678%, в игре Resident Evil 2 - на 196%, Tiny Tina's Wonderlands - на 177%, Lara Croft: Temple of Osiris - на 131%, Call of Juarez - на 125%, The Crew - на 96%, Forza Horizon 5 - на 48%, Anger Foot - на 43%.
Для задействования оптимизированных примитивов синхронизации в Wine необходимо включить модуль ядра ntsync, который отключён по умолчанию. Для активации можно добавить файл конфигурации /etc/modules-load.d/ntsync.conf, содержащий строку "ntsync" и перезапустить систему или вручную загрузить модуль командой "sudo modprobe ntsync". Для работы требуется как минимум ядро Linux 6.14.
Чтобы убедиться, что ntsync действительно работает, необходимо что-нибудь запустить в Wine. Например, достаточно выполнить команду "winecfg", после чего запустить "lsof /dev/ntsync" и убедиться, что в выводе присутствуют процессы wine, использующие ntsync. Например:
$ 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
Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=63830