В кодовую базу 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. Например: