Вышел Wine 11.22: поддержка AVX на ARM64, ASLR и 34 исправления

2026-11-14 35 комментарии
Разработчики выпустили Wine 11.22 с поддержкой инструкций AVX при эмуляции x86 на ARM64 и рандомизацией адресного пространства. В обновлении закрыты 34 ошибки в играх и приложениях, включая Dragon Age: Origins, Alan Wake, Guild Wars 2 и WinSCP

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.

Читаете нас в Google? Добавьте Comss.ru в источникиДобавьте Comss.ru в источники Google
Новые статьи будут чаще в «Главных новостях» Google. Без подписок и уведомлений, отключается в один клик. Нужен вход в аккаунт Google.Наши статьи будут чаще в «Главных новостях». Нужен вход в Google.
Добавить в Google
© .
Комментарии и отзывы

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

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