2 мая 2025 года вышла новая экспериментальная версия открытой реализации программного интерфейса Windows Win32 API для ОС Linux Wine 10.7. Выпуск Wine 10.0 состоялся в январе этого года.
При выпуске Wine 10.7 команда проекта (состоит из 1968 участников) отработала 14 отчётов об ошибках и внесла 271 изменение для исправления найденных багов после выхода Wine 10.5. Большую часть работы выполнили 35 контрибуторов.
В проекте Wine подтверждена полноценная работа более 5 тыс. программ для Windows, а также более 4 тыс. приложений стабильно работают при дополнительных настройках и внешних dll.
Основные изменения и доработки в Wine 10.7:
в библиотеке ntdll для повышения производительности отслеживания операций записи в память задействован механизм UFFD (userfaultfd), дающий возможность создавать обработчики обращений к невыделенным страницам памяти (page faults) в пространстве пользователя;
в наборе библиотек WindowsCodecs реализована поддержка преобразования между целочисленными форматами представления цвета и форматами с плавающей запятой: 24bppBGR → 128bppRGBAFloat, 32bppBGRA → 128bppRGBAFloat, 128bppRGBAFloat → 32bppBGRA, 96bppRGBFloat → 128bppRGBFloat и 96bppRGBFloat → 32bppBGRA;
в библиотеке DbgHelp продолжена работа над новым бэкендом для формата PDB (Program database);
закрыты отчёты об ошибках, связанные с работой приложений: Winamp, Teach2000, winhelp, Barnham Junction, HeidiSQL, Native Access 1.13.5;
закрыты отчёты об ошибках, связанные с работой игр: Stray, The Forest, PokerStars.
«Основной мотивацией для текущего набора исправлений является улучшение производительности в коде управления памятью .Net Core/сборщика мусора. Проблема изначально наблюдалась в игре Streets of Rage 4, в которой уровни иногда загружались около 1–1,5 минут, тогда как в Windows это происходило почти мгновенно», — пояснила команда проекта Wine.
Источник: habr.com