Wine 7.16 — очередной выпуск свободной реализации Windows API для Linux и других систем. Wine также лежит в основе Proton от Valve, который используется в Steam Deck. В этом выпуске четыре новых возможности и около двадцати исправлений ошибок.
Разберём, что нового, почему WoW64 в X11 важен и как проверить совместимость приложений.
Четыре улучшения
В Wine 7.16 вошли:
— поддержка WoW64 в драйвере X11;
— хранилище сессий в MSHTML;
— исправления регулярных выражений Unicode в MSXML;
— улучшения IME в элементе управления «Правка».
Для обычного пользователя самое заметное — WoW64. Остальное касается приложений, которые используют встроенный браузер, XML или ввод текста.
# проверить версию Wine
wine --version
# посмотреть префикс и установленные приложения
ls ~/.wine/drive_c/Program\ Files 2>/dev/null | head
WINEPREFIX=~/.wine winecfg
Что такое WoW64
Windows имеет два слоя совместимости: 64-битный и 32-битный. Раньше для запуска 32-битных приложений на 64-битной системе требовались отдельные 32-битные библиотеки. WoW64 позволяет 64-битному слою обрабатывать 32-битные приложения.
В Wine это означает меньше зависимостей и проще установка на системы, где 32-битные библиотеки не установлены по умолчанию. Поддержка в драйвере X11 — ещё один шаг к полноценной работе.
# проверить, включён ли WoW64 (зависит от сборки)
wine --version
# посмотреть, какие библиотеки использует приложение
WINEDEBUG=+loaddll wine app.exe 2>&1 | grep -i "wow64" | head
Не все приложения выиграют сразу. Некоторые игры и установщики всё ещё требуют 32-битных компонентов. Проверяйте конкретный сценарий.
MSHTML и MSXML
MSHTML — движок, который используется для встроенного браузера в старых приложениях. Хранилище сессий позволяет сохранять состояние между запусками. Это полезно для программ, которые ожидают «браузерную» сессию.
MSXML отвечает за работу с XML. Исправления регулярных выражений Unicode важны для приложений, которые обрабатывают текст на разных языках. Если программа падала на нестандартных символах, возможно, проблема решена.
# запустить приложение с отладкой MSXML
WINEDEBUG=+msxml wine app.exe 2>&1 | tail -40
# проверить установленные компоненты через winetricks
winetricks list-installed 2>/dev/null | head -20
IME и ввод текста
IME (Input Method Editor) нужен для ввода иероглифов и сложных языков. Улучшения в элементе «Правка» касаются отображения и обработки ввода. Если вы работаете с китайским, японским или корейским текстом в Windows-приложениях, проверьте поведение после обновления.
# проверить локаль и методы ввода
locale
ibus list-engine 2>/dev/null | head
# запустить приложение с нужной локалью
LANG=ja_JP.UTF-8 wine app.exe
IME в Wine остаётся сложной темой. Не все приложения корректно работают с методами ввода Linux.
Исправленные ошибки
Среди исправлений: падение генератора манифеста ecmangen из Windows Platform SDK 7.1 из-за необработанного регулярного выражения; невозможность выбрать прибор в редакторе FreeStyler; ошибка Office 365 «cache_entry_from_xsd_doc не удалось проанализировать документ».
Это типичный набор для Wine: инструменты разработчика, специализированное ПО и офисные приложения. Если вы сталкивались с одним из этих сценариев, обновление может помочь.
# проверить логи приложения
WINEDEBUG=+err,+warn wine app.exe 2>&1 | tail -60
# посмотреть версию префикса
cat ~/.wine/system.reg | grep -m1 "Version"
Как обновиться
Способ зависит от дистрибутива. Официальный репозиторий Wine, Flatpak или сборка из исходников. Не смешивайте версии в одном префиксе без необходимости.
# Debian/Ubuntu (официальный репозиторий WineHQ)
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install --install-recommends winehq-stable
# Arch
sudo pacman -S wine wine-mono wine-gecko
# Flatpak
flatpak update org.winehq.Wine
После обновления проверьте, что приложения запускаются и данные не потеряны. Сделайте резервную копию префикса перед крупными изменениями.
tar -czf ~/wine-prefix-backup.tar.gz ~/.wine
Wine и Proton
Proton — форк Wine с патчами для игр, интеграцией со Steam и DXVK/VKD3D. Если вы играете в Steam, обновление Wine не всегда сразу попадает в Proton. Проверьте версию Proton в свойствах игры.
ls ~/.steam/steam/steamapps/common/ | grep -i proton
cat ~/.steam/steam/config/config.vdf | grep -i proton | head
Для игр иногда лучше Proton-GE, чем стандартный Proton. Но для приложений вне Steam используйте Wine.
Как понять, поможет ли обновление конкретной программе
Не обновляйте Wine вслепую. Сначала проверьте, известна ли проблема в базе AppDB и какие версии указаны как рабочие. Иногда нужная функция уже есть, но приложению требуется конкретная библиотека или настройка префикса.
# посмотреть, какие DLL не найдены
WINEDEBUG=+loaddll wine app.exe 2>&1 | grep -i "not found" | head -20
# проверить версию Windows в префиксе
wine reg query "HKEY_CURRENT_USER\Software\Wine" /v Version 2>/dev/null
Для старых программ помогает режим совместимости: winecfg позволяет выбрать версию Windows. Но не меняйте её без необходимости — это влияет на поведение установщиков.
Если приложение работает, зафиксируйте конфигурацию: версию Wine, набор winetricks и параметры запуска. Это сэкономит время при следующей переустановке.
winetricks list-installed > ~/wine-components.txt
wine --version >> ~/wine-components.txt
Итог
Wine 7.16 добавляет WoW64 в драйвере X11, хранилище сессий MSHTML, исправления MSXML и IME, а также закрывает около двадцати ошибок. Это полезное обновление для совместимости, но не панацея. Проверяйте конкретные приложения, делайте резервные копии префикса и не смешивайте версии без необходимости.