Bottles 64.0 добавляет поддержку ntsync для игр в Linux

2026-05-30 46 комментарии
Bottles 64.0 — графический инструмент для запуска Windows-приложений и игр в Linux через Wine. Добавлена поддержка драйвера ntsync для синхронизации потоков, расширен анализатор Eagle с проверкой на вредоносные программы и стилеры, исправлены ярлыки рабочего стола, выделенная песочница и офлайн-режим

Вышел Bottles 64.0 — графический инструмент для запуска Windows-приложений и игр в Linux через Wine. Главное нововведение — поддержка ntsync, драйвера ядра для ускорения синхронизации потоков в многопоточных приложениях. Также в обновлении расширили встроенный анализатор Eagle: он распознаёт сигнатуры вредоносных программ и предупреждает перед запуском подозрительных файлов. Десятки исправлений касаются ярлыков рабочего стола, выделенной песочницы и поведения в офлайн-режиме.

Поддержка ntsync для синхронизации потоков

ntsync реализован на уровне ядра Linux и позволяет Wine воспроизводить примитивы синхронизации Windows NT напрямую через ядро. Прежние реализации esync и fsync эмулировали эти примитивы средствами пользовательского пространства, и при высокой многопоточной нагрузке накладные расходы на такую эмуляцию становились узким местом. Прямое обращение к ядру этот барьер снимает.

ntsync — драйвер ядра Linux, реализующий примитивы синхронизации Windows NT. Вошёл в основную ветку ядра начиная с версии 6.14 и заменяет обходные решения esync и fsync. По замерам автора драйвера, прирост частоты кадров в многопоточных играх, упирающихся в процессор, обычно составляет от 40 до 200%.

На практике поддержка ntsync в Bottles означает, что при наличии модуля ядра и сборок Wine или Proton с поддержкой ntsync игры с тяжёлой нагрузкой на синхронизацию потоков запускаются с меньшим числом подвисаний и более ровной частотой кадров. Прироста на старом или однопоточном коде ждать не стоит — выигрыш заметен прежде всего в современных играх с интенсивной многопоточностью.

Проверка исполняемых файлов через Eagle

В версии 64.0 встроенный анализатор Eagle, появившийся в Bottles 61.0, дополнили функциями безопасности. Раньше Eagle разбирал исполняемый файл, чтобы определить нужные среды выполнения и предупредить о несовместимости с системами защиты от читерства. Теперь добавилась проверка на угрозы.

Eagle — встроенный в Bottles инструмент анализа исполняемых файлов. Проводит многоэтапный разбор двоичного файла и соседних с ним данных, извлекает ресурсы из установщиков и файлов известных форматов, после чего выдаёт рекомендации по зависимостям и настройкам. Для каждого обнаружения Eagle показывает источник и технические данные, на которых основано заключение.

В новой версии в Eagle добавили отдельные настройки сканирования угроз и обнаружения сбоев. Анализатор распознаёт в исполняемых файлах сигнатуры вредоносных программ и стилеров, а перед запуском помеченного файла выводит предупреждение. После аварийного завершения программы появляется предложение проверить файл через Eagle, а найденные угрозы отображаются в разделе анализа.

Стилер (stealer) — класс вредоносных программ для скрытой кражи данных: паролей, файлов cookie, токенов сессий, данных банковских карт и криптокошельков. Часто маскируется под моды, читы или взломанные сборки игр, из-за чего риск особенно высок при запуске непроверенных Windows-приложений.

Игровые настройки: MANGOHUD_CONFIG и блокировка простоя

По умолчанию переменная MANGOHUD_CONFIG теперь наследуется из окружения хоста — настройки наложения MangoHud применяются к запускаемым через Bottles программам без отдельной правки в каждой бутылке. Пока Windows-приложение или игра запущены, сессия рабочего стола больше не уходит в режим простоя, поэтому экран не гаснет во время игры.

Отдельно устранили резкое замедление запуска и подвисания интерфейса при большом числе программ и записей в библиотеке. Разница ощутима у тех, кто держит в Bottles десятки приложений.

Управление компонентами и аргументы запуска

На главном экране появились карточка и диалоговое окно для обновления компонентов сразу во всех бутылках — раньше приходилось обновлять их по одной. Для каждой программы добавили переключатель, который включает или отключает заданные аргументы запуска.

Также скорректировали сравнение версий сборок Wine по вариантам, чтобы подсказки об обновлении были точными. Уже скачанные файлы зависимостей теперь используются повторно независимо от регистра в имени файла.

Исправления ярлыков и интеграции с рабочим столом

Значительная часть исправлений касается ярлыков и файлов .desktop. В версии 64.0:

  • устранили поломку ссылок .desktop, когда в имени приложения есть пробелы;
  • исправили создание записи рабочего стола в KDE на Wayland;
  • добавили экранирование имён программ, чтобы символы вроде амперсанда отображались правильно;
  • очистили имя бутылки от недопустимых символов в формируемых именах файлов и задали корректную категорию записи рабочего стола;
  • привели имя исполняемого файла к нижнему регистру для StartupWMClass.

Улучшили и работу с самими исполняемыми файлами: в окне выбора исполняемого файла теперь видны файлы .EXE и .MSI в верхнем регистре, корректно обрабатываются неизвестные кодировки при разборе ярлыка, а пути портала документов разрешаются при добавлении ярлыка программы.

Изменения в работе выделенной песочницы

Несколько исправлений затронули выделенную песочницу, сборки Proton и завершение процессов. Путь к сборке Proton и среда выполнения теперь передаются в выделенную песочницу, скрипт запуска gamescope записывается в общий временный каталог, чтобы песочница могла его выполнить, и исправлена остановка процессов внутри выделенной песочницы. При переходе на сборку Wine, отличную от Proton, отключается Steam Runtime.

gamescope — микрокомпозитор Valve для запуска игры в отдельном вложенном сеансе. Позволяет задавать разрешение и частоту обновления независимо от параметров рабочего стола и применяется в том числе на Steam Deck.

Поведение в офлайн-режиме

Работу без сети привели в порядок. Если расположение бутылки недоступно, теперь выводится уведомление и баннер офлайн-режима, а сама бутылка не скрывается. После восстановления соединения компоненты обновляются, а в настройках отображаются установленные сборки Wine и библиотеки DLL даже без сети. В интерфейсе командной строки офлайн-режим больше не включается принудительно, поэтому при создании бутылки можно загрузить нужные компоненты.

Среди прочих исправлений:

  • запуск через командную строку больше не вызывает побочных эффектов менеджера;
  • отклоняются временные пути портала документов для пользовательского каталога бутылок;
  • репозитории FVS2 инициализируются с увеличенным размером блока, чтобы избежать огромного числа файлов;
  • шаблоны бутылок кэшируются без временных файлов;
  • проверка соединения завершается по таймауту, чтобы установка не зависала.

Что Bottles 64.0 меняет на практике

Обновление полезно прежде всего тем, кто запускает через Bottles современные игры: поддержка ntsync снимает узкое место синхронизации потоков, а проверка через Eagle даёт дополнительный уровень защиты при работе с непроверенными исполняемыми файлами. Пакет исправлений ярлыков, песочницы и офлайн-режима снижает число ручных обходных решений в смешанных рабочих процессах Linux и Windows. Полный список изменений доступен в журнале изменений на GitHub; вскоре после релиза вышел патч 64.1, устранивший сбой запуска программ в выделенной песочнице, когда файл расположен вне бутылки.

© .
Комментарии и отзывы

Нашли ошибку?

Новое на сайте