Вышел стабильный релиз Wine 8.0 — открытой реализации Win32 API. В новой версии завершили работу по переводу модулей Wine в формат PE, внедрили Print Processor, поддержку эффектов в Direct2D, новый компилятор шейдеров для языка HLSL в Direct3D, а также улучшили поддержку игровых контроллеров.
Теперь в Wine полноценно работает 5266 программ для Windows, а ещё 4370 программ работают при дополнительных настройках и внешних DLL.
Основные нововведения в Wine 8.0 включают:
модули в формате PE. Это позволяет использовать доступные для Windows отладчики и решает проблемы с поддержкой различных схем защиты от копирования. Решены проблемы с работой 32-разрядных приложений на 64-разрядных хостах и x86-приложений на системах Arm;
специальный диспетчер системных вызовов для трансляции обращений из PE в Unix-библиотеки. Это позволит снизить падение производительности при использовании библиотек OpenGL и Vulkan. В Winelib-приложениях можно использовать смешанные сборки Windows/Unix библиотек в формате ELF (.dll.so), но без 32-разрядных библиотек они не будут поддерживать функциональность, доступную через интерфейс системных вызовов NT;
прослойку WoW64 (64-bit Windows-on-Windows) для всех Unix-библиотек. Это позволяет 32-разрядным модулям в формате PE обращаться к 64-разрядным Unix-библиотекам;
запуск 32-разрядных приложений в новом экспериментальном Windows-подобном режиме WoW64, в котором 32-разрядный код запускается внутри 64-разрядного процесса. Режим включается при сборке Wine с опцией '--enable-archs';
преобразование графических драйверов (winex11.drv, winemac.drv, wineandroid.drv) для выполнения на Unix-уровне системных вызовов и обращения к драйверам через библиотеку Win32u;
архитектуру обработчиков вывода на печать (Print Processor) для исключения в драйвере принтера прямых вызовов между уровнями PE и Unix;
поддержку эффектов в API Direct2D;
возможность записи и воспроизведения списков команд в API Direct2D;
поддержку спецификации Vulkan 1.3.237 в драйвере для графического API Vulkan;
новый компилятор шейдеров для языка HLSL (High-Level Shader Language) на базе библиотеки vkd3d-shader;
интерфейс Thread Pump;
поддержку новых выражений в эффектах Direct3D 10;
поддержку проекции текстур Cubemap во вспомогательной библиотеке для D3DX 9;
поддержку фильтров для декодирования звука в формате MPEG-1 на базе фреймворка GStreamer;
фильтр для чтения потокового звука и видео в формате ASF;
исключение промежуточной библиотеки-прослойки OpenAL32.dll, вместо которой используется родная Windows-библиотека OpenAL32.dll;
улучшенное определение типа содержимого в Media Foundation Player;
возможность управления скоростью передачи данных;
улучшенную поддержку микшера и отрисовщика по умолчанию в Enhanced Video Renderer (EVR);
начальную реализацию API Writer Encoding;
улучшенную поддержку загрузчика топологий;
улучшенную поддержку горячего подключения игровых контроллеров;
улучшенную реализацию кода для определения игровых рулей на базе библиотеки SDL;
улучшенную поддержку эффекта виброотклика (Force feedback) при использовании игровых рулей;
возможность управления левым и правым вибромоторами, использующими спецификацию HID Haptic;
новое оформление панели управления джойстиком;
поддержку контроллеров Sony DualShock и DualSense через использование бэкенда hidraw;
WinRT-модуль Windows.Gaming.Input с реализацией программного интерфейса для доступа к геймпадам, джойстикам и игровым рулям;
генерацию корректной БД локалей в формате locale.nls из репозитория Unicode CLDR (Unicode Common Locale Data Repository);
алгоритм Windows Sortkey для функции сравнения строк Unicode вместо алгоритма Unicode Collation;
поддержку верхних диапазонов кодов (плоскостей) Unicode;
возможность использования UTF-8 в качестве ANSI-кодировки;
обновление спецификации таблицы символов до Unicode 15.0.0;
связывание шрифтов для большинства системных шрифтов, чтобы решить проблему с отсутствием глифов на системах с китайскими, корейскими и японскими локалями;
новый откат на запасной шрифт в DirectWrite;
реализацию БД ApiSetSchema, которая заменила собой модули api-ms-* и позволила сократить потребление диска и адресного пространства;
сохранение на диске файловых атрибутов DOS в совместимом с Samba формате;
поддержку протокола OCSP (Online Certificate Status Protocol) для проверки отозванных сертификатов;
расширенный спектр возможностей EcmaScript в режиме соответствия стандартам JavaScript;
сборщик мусора для JavaScript;
средства для людей с ограниченными возможностями в пакете с движком Gecko;
поддержку API Web Storage, объекта Performance и дополнительных объектов для обработки событий в MSHTML;
перевод встроенных приложений на использование библиотеки Common Controls 6 с поддержкой тем оформления и отрисовки с учётом экранов c высокой плотностью пикселей;
новые возможности отладки потоков в отладчике Wine Debugger (winedbg);
поддержку типа QWORD в утилитах для работы с реестром (REGEDIT и REG);
строку состояния с информацией о позиции курсора и функция Goto Line для перехода на указанный номер строки в Notepad;
вывод данных в кодовой странице OEM во встроенной консоли;
команду 'query' в утилите sc.exe (Service Control);
возможность сборки исполняемых файлов в формате PE для нескольких архитектур (например, '--enable-archs=i386,x86_64');
переопределение типов на платформах с 32-разрядным типом long ('long' вместо 'int');
возможность генерации библиотек без использования dlltool (через опцию '--without-dlltool' в winebuild);
опцию '--data-only' в winegcc для повышения эффективности загрузки и снижения размера библиотек без кода;
новые версии встроенных библиотек Faudio 22.11, LCMS2 2.14, LibJPEG 9e, LibMPG123 1.31.1, LibPng 1.6.39, LibTiff 4.4.0, LibXml2 2.10.3, LibXslt 1.1.37, Zlib 1.2.13;
обновление движка Wine Mono с реализацией платформы .NET до выпуска 7.4;
поддержку шифрования на базе алгоритма RSA и цифровых подписей RSA-PSS;
начальную версию API UI Automation;
включение в дерево исходных текстов библиотек LDAP и vkd3d, которые собираются в формате PE;
прекращение использования библиотеки OpenAL.
Версия Wine 7.5 вышла в марте 2022 года. В неё внесли 360 изменений и исправили 28 ошибок.