13 ноября 2026 года команда разработчиков опубликовала в GitLab проекта официальный анонс Wine 11.22 – нового выпуска ветки разработки слоя совместимости для запуска Windows-программ и игр в Linux, macOS и других Unix-подобных системах. В обновлении добавили поддержку инструкций AVX при эмуляции x86 на архитектуре ARM64, внедрили рандомизацию адресного пространства и перевели таблицы локализации на стандарт Unicode CLDR 49. Авторы также переписали проверку DTD в компоненте MSXML, уточнили метрики шрифта Tahoma и закрыли 34 отчёта об ошибках. Архив исходного кода уже доступен для загрузки, а бинарные сборки для поддерживаемых дистрибутивов появятся в репозиториях проекта.
Эмуляция AVX на ARM64 и рандомизация адресного пространства
Выпуск продолжает развитие ветки после октябрьского релиза Wine 11.21. Главное архитектурное изменение в Wine 11.22 – поддержка векторных инструкций AVX при эмуляции 64-разрядного и 32-разрядного кода x86 на процессорах ARM64. Разработчики реализовали обработку расширенного контекста регистров CONTEXT_XSTATE и настройку конфигурации XState в библиотеке ntdll и серверной части Wine для интерфейса ARM64EC. Верхние половины регистров с плавающей запятой ARM64 теперь сохраняются как векторные регистры, что позволяет запускать на ARM-устройствах игры и программы для Windows, требующие наличия AVX.
AVX (Advanced Vector Extensions) – расширение системы команд x86 для векторных вычислений над массивами данных. Многие современные игры и ресурсоёмкие программы для Windows проверяют наличие этих инструкций при запуске и не стартуют без их поддержки.
Второе системное нововведение касается защиты памяти. В серверном процессе и библиотеке ntdll появилась рандомизация адресного пространства: Wine теперь случайно выбирает базовые адреса при загрузке исполняемых файлов (.exe) и динамических библиотек (.dll), а также рандомизирует выделение виртуальной памяти в 64-разрядных и 32-разрядных сборках.
Рандомизация адресного пространства (ASLR) – механизм защиты, который случайно распределяет адреса размещения исполняемого кода, библиотек и областей памяти процесса. Такое распределение усложняет эксплуатацию уязвимостей, рассчитанных на фиксированные адреса в виртуальной памяти.
Unicode CLDR 49, шрифт Tahoma, MSXML и встроенные библиотеки
Региональные настройки и данные локализации в Wine 11.22 синхронизированы со стандартом Unicode CLDR 49, а база часовых поясов обновлена до версии 2026f. Попутно разработчики исправили ошибку со швейцарскими локалями, где после перехода на CLDR 49 вместо трехбуквенного кода CHF подставлялось узкое обозначение валюты Fr.
В шрифте Tahoma и его полужирном начертании Tahoma Bold исправлены метрики глифов и выравнивание растровых знаков. Авторы восстановили ширину и положение диакритических знаков в составных символах, скорректировали ширину русских букв «Я» и «К», знака номера (№) и латинской буквы z, а также вернули полужирное отображение всем латинским и кириллическим символам в Tahoma Bold.
В библиотеке msxml3 заново реализована проверка документов по схемам DTD (Document Type Definition). Команда продолжает поэтапный отказ от зависимости libxml2 в MSXML, начатый в цикле Wine 11: проверка сложных моделей содержимого, ссылок IDREF и IDREFS, а также дублирующихся идентификаторов ID теперь выполняется собственным кодом компонента.
Вместе с этим в состав сборки импортированы свежие выпуски семи сторонних библиотек:
- декодер аудио mpg123 обновлён до версии 1.33.7;
- библиотеки работы с изображениями libpng и libtiff обновлены до версий 1.6.59 и 4.7.2;
- библиотека сжатия данных zlib переведена на выпуск 1.4;
- система управления цветом Little CMS 2 (lcms2) обновлена до версии 2.20;
- дизассемблер Capstone обновлён до версии 5.0.9, а встроенная СУБД SQLite3 – до 3.54.1.
Какие ошибки исправлены в играх и лаунчерах
Из 34 закрытых отчётов об ошибках 10 относятся к играм и игровым клиентам. Значительная часть правок затрагивает рендерер Vulkan в компоненте wined3d, где добавили поддержку текстур форматов L8, L8A8 и L16, сопоставление буфера глубины D24X8 и резервный режим для цепочки буферов RGB565.
| Игра или клиент | Номер отчёта | Исправленная проблема |
|---|---|---|
| Guild Wars 2 | #53913 | Аварийное завершение игры при запуске. |
| Perry Rhodan – The Adventure | #56253 | Вылет демоверсии игры 2008 года на старте. |
| Overwatch 2 (SAPI) | #59749 | Методы ISpVoice::SetPriority и GetStatus в Windows Speech API возвращали код E_NOTIMPL, из-за чего не работали звуковые субтитры в Overwatch 2 и других приложениях, опрашивающих статус синтезатора речи. |
| Star Citizen | #60547 | Не запускался штатный обработчик сбоев CrashHandler. |
| BSG Launcher | #60564 | В лаунчере Battlestate Games не определялся и не работал ввод с клавиатуры. |
| Игры с рендерером Vulkan | #60594 | Отсутствие резервного режима для формата цепочки буферов (swapchain) RGB565 в Vulkan приводило к вылетам в нескольких играх. |
| Black Mirror II и Black Mirror III | #60596 | Искажение моделей персонажей и поломка анимации при отрисовке через рендерер Vulkan. |
| Dragon Age: Origins | #60607 | Аварийное завершение во время вступительных роликов и экранов загрузки при использовании рендерера Vulkan из-за неподдерживаемых текстур формата L8. |
| Alan Wake и Alan Wake's American Nightmare | #60664 | Отказ запуска при выборе рендерера Vulkan из-за отсутствия поддержки формата буфера глубины D24X8. |
| F.E.A.R. 3 | #60748 | Закрытие игры при старте из-за того, что функция FindResourceEx перестала проверять явно запрошенный идентификатор языка 0x8301. |
Исправления в приложениях и системных компонентах
Остальные 24 исправления устраняют сбои в прикладных программах, установщиках и низкоуровневых службах Wine. В частности, закрыта регрессия в файловом менеджере WinSCP, появившаяся после выхода Wine 11.11, и решены четыре давние проблемы в пакете Logos Bible Software.
| Приложение или компонент | Номер отчёта | Исправленная проблема |
|---|---|---|
| Шрифт Tahoma Bold | #26037 | Начертание Tahoma Bold не отображалось полужирным в интерфейсе программ. |
| ImgBurn 2.5.5.0 и старше | #27559 | Для работы в режиме совместимости с Windows Vista и новее требовалась реализация функции shell32.SHGetKnownFolderIDList(). |
| FastStone Image Viewer 5.9 | #41438 | Окно кадрирования (Crop) не открывалось по горячей клавише из полноэкранного режима. |
| Logos 8 Bible Software | #47837 | Графические искажения в приложении на базе .NET Framework 4.7.2. |
| Logos 9 Bible Software | #52379 | Аварийное завершение приложения на базе .NET 4.7 при открытии ИИ-помощника Faithlife Assistant. |
| Logos Bible Software | #52380 | Мерцание, графические артефакты и пропадание меню в .NET-приложении. |
| Logos Bible 50.x | #60626 | Программа не запускалась. |
| FreeCommander | #55405 | Аварийное завершение сразу после запуска, если в настройках префикса выбрана версия Windows новее Windows XP. |
| wow64_NtQueryInformationToken | #56154 | Потенциальное разыменование нулевого указателя, обнаруженное статическим анализатором Coverity. |
| Эмулятор Crossrunner | #60105 | Сбой при загрузке файла образа жёсткого диска. |
| Kubios HRV Scientific | #60394 | Аварийное завершение установщика программы. |
| ncrypt | #60443 | В криптографическом провайдере добавлена поддержка импорта блобов ключей ECDSA. |
| Установщик Razer (.winmd) | #60478 | Имена сборок в файлах метаданных .winmd содержали лишний префикс «include/», из-за чего WPF-приложения на .NET Framework завершались с ошибкой 0x80131047. |
| CloneCD | #60479 | Ошибка ntoskrnl:ZwLoadDriver (код c0000142) при попытке создать драйвер ElbyCDIO. |
| wbemprox (Win32_Service) | #60487 | В классе WMI Win32_Service отсутствовали свойства Description, PathName, StartName и метод ChangeStartMode(). |
| ntdll | #60663 | Поток, завершившийся до того, как сервер прочитал его запрос init_thread, бесконечно блокировался в функции read_reply_data(). |
| Notepad++ | #60669 | В окне текстового редактора отображалась некорректная строка меню. |
| wineserver | #60672 | Функция new_thread завершалась с кодом STATUS_INVALID_CID после создания потока, когда receive_fd() сбрасывал дескриптор уже завершившегося потока. |
| d2d1 (Direct2D) | #60677 | Вызов SetDrawInfo поступал уже после возврата из SetSingleTransformNode во время инициализации пользовательского эффекта. |
| Швейцарские локали | #60678 | После обновления до CLDR 49 использовалось узкое обозначение валюты «Fr.» вместо «CHF». |
| psapi | #60685 | Тест psapi_main сообщал, что страница заголовка исполняемого файла не является разделяемой после включения рандомизации базового адреса .exe. |
| WinSCP | #60691 | Нажатие на пункт «О программе» (About) приводило к вылету клиента начиная с выпуска Wine 11.11. |
| Samsung Magician 9 | #60692 | Сбой фоновой службы программы из-за отсутствия свойств Status, CurrentVoltage и ExtClock в классе WMI Win32_Processor. |
| MSXML (XSLPattern) | #60750 | Запросы XSLPattern для имён элементов, начинающихся с «not», завершались ошибкой. |
Где скачать Wine 11.22
Wine 11.22 относится к тестовой ветке разработки (Development). Архив с исходным кодом wine-11.22.tar.xz уже доступен на сервере проекта, а инструкции по подключению репозиториев для дистрибутивов Linux приведены на официальной странице загрузки WineHQ.
Вывод
Выпуск Wine 11.22 в первую очередь пригодится владельцам систем на архитектуре ARM64, где эмуляция инструкций AVX снимает ограничение на запуск части современных игр и программ для x86. На компьютерах с процессорами x86_64 обновление целесообразно устанавливать пользователям, которые используют рендерер Vulkan в играх Dragon Age: Origins, Alan Wake и Black Mirror или столкнулись со сбоями в WinSCP, FreeCommander, Notepad++ и Samsung Magician 9.