13 января 2026 года состоялся релиз версии открытой реализации программного интерфейса Windows Win32 API для ОС на базе Linux, macOS и BSD Wine 11.0. Выпуск Wine 10.0 случился в январе 2025 года. Версия Wine 10.20 вышла в ноябре 2025 года. Wine 11.0 — это важный релиз с поддержкой NTSYNC в ядре Linux, продолжением поддержки WoW64 и многими другими функциями, появившимися за последний год.

При выпуске Wine 11.0 команда проекта (состоит из около 2 тыс. участников) отработала 600 отчётов об ошибках и внесла 6300 изменений для исправлений найденных багов после выхода Wine 10.20 и Wine 11.0-rc. Большую часть работы в��полнили 50 контрибуторов.

В проекте Wine подтверждена полноценная работа более 5,4 тыс. программ для Windows, а также более 4,4 тыс. приложений стабильно работают при дополнительных настройках и внешних dll. В 4086 программах наблюдаются небольшие проблемы в работе, которые не мешают использованию основных функций приложений.

По информации OpenNET, основные изменения и доработки в Wine 11.0:

  • полная поддержка драйвера ntsync, позволяющего существенно поднять производительность Windows‑игр, запускаемых при помощи Wine. Драйвер входит в состав ядра Linux начиная с выпуска 6.14 и реализует символьное устройство /dev/ntsync и набор примитивов для синхронизации, применяемых в ядре Windows NT. Значительный прирост производительности достигается благодаря избавлению от накладных расходов, связанных с применением RPC в пространстве пользователя.

  • добавлена возможность настройки приоритетов потоков в Linux и macOS.

  • в ntdll добавлен API синхронизации “Synchronization barriers”, позволяющий приостановить выполнение нескольких потоков до достижения определённой точки выполнения во всех потоках (например, дождаться, пока все потоки достигнут определённой стадии при параллельном выполнении одного и тот же кода).

  • переведена в разряд полностью поддерживаемых новая реализация прослойки WoW64 (64-bit Windows‑on‑Windows), позволяющая выполнять 32-разрядные Windows‑приложения в 64-разрядных Unix‑системах. В отличие от старой реализации WoW64, в которой 32-разрядные приложения запускались в 32-разрядных Unix‑процессах, новый WoW64 обеспечивает запуск 32-разрядного кода внутри 64-разрядного процесса. Реализована поддержка запуска 16-разрядных приложений в режиме WoW64.

  • во всех модулях, обращающихся к Unix‑библиотекам, задействованы преобразователи системных вызовов WoW64 (thunk), позволяющие 32-разрядным модулям в формате PE обращаться к 64-разрядным Unix‑библиотекам. Добавлена возможность запуска старых установок WoW64 в новом режиме через выставление переменной окружения «WINEARCH=wow64». 32-разрядные префиксы, создаваемые при выставлении WINEARCH=win32, объявлены устаревшими и не поддерживаются в новом режиме WoW64. Удалён отдельный загрузчик wine64, вместо которого задействован универсальный загрузчик, определяющий режим по разрядности запускаемого файла.

  • ядро (интерфейсы ядра Windows):

    • Реализован механизм Reparse Point, при помощи которого можно прикреплять к файлам и каталогам дополнительные данные, идентифицируемые через теги. Поддерживаются такие типы Reparse Point, как символические ссылки и точки монтирования.

    • Для повышения производительности отслеживания операций записи в память задействован механизм UFFD (userfaultfd), дающий возможность создавать обработчики обращений к невыделенным страницам памяти (page faults) в пространстве пользователя. В проведённых тестах применение UFFD позволило сократить время загрузки уровней в игре «Streets of Rage 4» с 6–8 секунд до 1.5-2 секунд, что соответствует показателям запуска на платформе Windows.

    • Задействованы номера системных вызовов NT, идентичные последним версиям Windows, что необходимо для поддержки приложений, использующих жёстко прописанные номера системных вызовов.

    • На системах ARM64 реализована возможность симуляции страниц памяти размером 4K в окружениях с ядрами Linux, использующими более крупные страницы памяти (16K или 64K). Симуляция позволяет запускать простые приложения, а для более сложных программ рекомендуется использовать ядра Linux с 4-килобайтовыми страницами памяти.

  • графическая подсистема:

    • На системах X11 (winex11) для OpenGL по умолчанию задействован бэкенд отрисовки, использующий EGL. Бэкенд GLX объявлен устаревшим, но пока остаётся доступен в качестве запасного и используется при отсутствии EGL.

    • Добавлена начальная поддержка объектов D3DKMT, предоставляющих низкоуровневый доступ к графическим устройствам из простр��нства пользователя. Реализованы Vulkan‑расширения VK_KHR_external_memory_win32, VK_KHR_external_semaphore_win32, VK_KHR_external_fence_win32 и VK_KHR_win32_keyed_mutex.

    • В режиме WoW64 (64-bit Windows‑on‑Windows) реализована поддержка маппинга памяти для OpenGL при помощи API Vulkan, позволяющего ускорить работу 32-битных OpenGL‑приложений в Wine.

    • Реализована эмуляция буфера отображения (front buffer) для OpenGL на платформах без его встроенной поддержки.

    • В драйвер для графического API Vulkan добавлена поддержка спецификации Vulkan 1.4.335.

    • В наборе библиотек WindowsCodecs расширена поддержка метаданных в файлах с изображениями, а также реализована поддержка преобразования между целочисленными форматами представления цвета и форматами с плавающей запятой.

    • Убрана зависимость от библиотеки OSMesa (Off‑screen Mesa). Реализована возможность отрисовки битовых карт через OpenGL с использованием аппаратного ускоренного OpenGL runtime.

  • интеграция с рабочим столом:

    • В драйвере winewayland.drv, позволяющем использовать Wine в окружениях на базе протокола Wayland без применения XWayland и компонентов X11, реализована поддержка буфера обмена, методов ввода, непрямоугольных окон и прозрачности.

    • Улучшена интеграция с X11: обеспечена отправка оконному менеджеру запросов активации окон и задействован протокол EWMH для согласования состояния активных окон X11 и Win32.

    • Реализована поддержка эксклюзивного полноэкранного режима. Улучшена поддержка полноэкранного режима в D3D и улучшена работа старых игр на базе DDraw.

    • Повышена производительность неко��орых функций работы с окнами. Для взаимодействия между процессами задействована разделяемая память.

  • Direct3D:

    • В Direct3D 11 добавлена поддержка аппаратного ускорения декодирования видео в формате H.264, реализованная при помощи графического API Vulkan.

    • В Direct3D 11 реализована поддержка minmax‑фильтрации текстур, используя OpenGL‑расширение GL_ARB_texture_filter_minmax или Vulkan‑расширение VK_EXT_sampler_filter_minmax.

    • В Direct3D 11 реализованы функции загрузки текстур.

    • Реализована большая порция возможностей Direct3D при отрисовке через Vulkan, таких как смешивание вершин, плоское затенение, пользовательские плоскости отсечения и различные форматы ресурсов.

    • Во встроенной копии vkd3d‑shader улучшена поддержка 1, 2 и 3 моделей шейдеров.

    • В методе D3DXSaveSurfaceToFileInMemory реализована поддержка изображений PNG, JPEG и BMP.

    • Direct3D 10 и 11 реализована поддержка сжатия и распаковки форматов BC4 и BC5, а также генерации MIP‑уровней (MipMap) при загрузке текстур.

    • Реализованы методы ID3DXEffect::SetRawValue() и ID3DXSkinInfo::UpdateSkinnedMesh().

  • устройства ввода:

    • Улучшена совместимость с джойстиками, благодаря использованию бэкенда hidraw.

    • Улучшена поддержка эффекта виброотклика (Force feedback) при использовании игровых рулей и джойстиков.

    • Улучшена поддержка геймпадов в API Windows.Gaming.Input и при использовании бэкенда evdev.

    • В апплет управления игровы��и контроллерами добавлена вкладка для настройки API Windows.Gaming.Input.

    • Повышена совместимость DirectInput со старыми играми.

  • Bluetooth:

    • В драйвере для Bluetooth добавлена возможность сканирования, настройки обнаружения и сопряжения устройств.

    • Добавлена поддержка сервисов Bluetooth Low Energy.

    • Приложениям предоставлена возможность создавать низкоуровневые RFCOMM‑соединения c внешними устройствами, используя API Winsock.

  • поддержка сканеров:

    • Реализована поддержка API TWAIN 2.0, позволяющего обращаться к сканерам из 64-разрядных приложений.

    • Реализована поддержка компонента DAT_IMAGENATIVEXFER для передачи изображения от сканера в приложение.

    • Обеспечено сохранение в реестре выбранного сканера и настроек сканера.

    • Добавлена поддержка многостраничного сканирования и автоподатчи документов.

    • Прекращена блокировка приложения во время вызова интерфейса сканирования.

    • Добавлена поддержка загрузки родных Windows‑драйверов к сканерам.

  • интернационализация:

    • Обеспечена генерация БД локалей в формате locale.nls из БД Unicode CLDR (Unicode Common Locale Data Repository) версии 48. Добавлена поддержка дополнительных локалей bua‑RU, bqi‑IR, cop‑EG, ht‑HT, kek‑GT, lzz‑TR, mww‑Hmnp‑US, oka‑CA, pi‑Latn‑GB, pms‑IT, sgs‑LT, suz‑Deva‑NP и suz‑Sunu‑NP.

    • Таблицы символов Unicode обновлены до версии стандарта 17.0.0. Обновлена база часовых поясов.

  • сетевые возможности:

    • В движке MSHTML в режиме соответствия стандартам обеспечена работа с атрибутами элементов как с полноценными узлами DOM. Реализованы объекты DOMParser, XDomainRequest и msCrypto.

    • В JavaScript добавлена поддержка типизированных массивов.

    • Для ICMPv6 реализована команда ping.

  • базы данных:

    • В библиотеку MSADO (ActiveX Data Objects) добавлена поддержка записи изменений в БД. Реализовано большинство функций объекта Recordset.

    • В библиотеке odbc32 улучшена поддержка ANSI win32-драйверов, не рассчитанных на работу с Unicode. Реализованы функции SQLDriverConnectA(), SQLSpecialColumnsW(), SQLGetInfoW(), SQLGetInfoW(), SQLStatisticsW() и QLColumnsW().

  • встроенные приложения:

    • В WineCfg добавлена вкладка для настройки MIDI‑устройства по умолчанию.

    • В утилите cmd реализовано автодополнение ввода имён файлов в интерактивном режиме работы, добавлена поддержка сложных инструкций и реализована команда «mklink /j» для создания Reparse Point.

    • В утилиту conhost (Console Hosting) добавлена поддержка получения истории нажатием клавиш F1 и F3.

    • Реализованы команды timeout, runas и subst.

    • В утилиту find добавлены опции «/c» для показа числа совпадений и /i для сопоставлений без учёта регистра.

    • В утилите whoami появилась возможность настройки формата вывода.

  • разные дополнения и улучшения:

    • В реализации языка описания интерфейса WIDL (Wine Interface Definition Language) появилась поддержка генерации метаданных Windows Runtime (WinRT). Обеспечена генерация и установка файлов WinMD (Windows Metadata) для API WinRT (Windows Runtime).

    • В утилиту winedump добавлена поддержка дампа ресурсов MUI, номеров системных вызовов, встроенных NE‑модулей и больших файлов PDB (> 4 ГБ).

    • Проведён рефакторинг реализации Common Control, библиотека COMCTL32 разделена на отдельные модули для версий 5 и 6.

    • В BCrypt добавлена поддержка стандарта формирования ключа PBKDF2

    • Добавлена поддержка каталогов UserProgramFiles, AccountPictures и Screenshots.

    • В состав интегрированы библиотеки LLVM Compiler‑RT 8.0.1 и TomCrypt 1.18.2. Для определения CPU на платформе FreeBSD задействована библиотека HwLoc.

    • Обновлены до новых версий компоненты Vkd3d 1.18, Faudio 25.12, FluidSynth 2.4.2, LCMS2 2.17, LibMPG123 1.33.0, Libpng 1.6.51, LibTiff 4.7.1, LibXml2 2.12.10, LibXslt 1.1.43.

В последние годы жизнеспособность Linux как игровой платформы растёт благодаря усилиям разработчиков Wine и Proton, а также интересу к консолям вроде Steam Deck. Согласно свежей статистике ProtonDB, почти 90% игр для Windows теперь работают на Linux. Девять из десяти игр для Windows стали доступны на Linux — и это тогда, когда пользователи задумываются о смене операционной системы в период перехода с Windows 10 на Windows 11. Однако всё же существуют степени совместимости игр с различными дистрибутивами Linux — будь то Mint, Zorin, Bazzite или SteamOS.

Эксперты ресурса Boiling Steam составили диаграмму совместимости игр для Windows с Linux на основе данных, собранных ProtonDB. Эта диаграмма более полезна для пользователей настольных компьютеров и ноутбуков, чьи системы обычно превосходят Steam Deck.

«Платиновый» (зелёный цвет) статус означает, что игры запускаются и работают идеально. «Золотые» игры (светло-зелёный цвет) — те, которые требуют незначительных настроек. «Серебряный» (жёлтый) статус означает, что в игры можно играть, но в них есть некоторые недочёты. Игры, обозначенные тёмно-красным цветом, отказываются запускаться. Между этим статусом и «серебряным» находится «бронзовый» (красный).