Релиз Wine 10.7 Beta — очередной двухнедельный выпуск открытого программного обеспечения, предназначенного для запуска приложений и игр Windows на платформах Linux и других операционных системах. Обновление включает значительные улучшения производительности, новые функции и исправления ошибок, что делает его важным шагом в развитии проекта.
Что нового в Wine 10.7
Оптимизация производительности с поддержкой User Fault FD
Ключевой особенностью Wine 10.7 стала поддержка User Fault FD (UFFD), направленная на повышение эффективности работы механизма write-watches. Эта технология позволяет значительно сократить время загрузки уровней в некоторых играх и улучшить общую производительность приложений. Разработкой данной функции занимался инженер компании CodeWeavers Пол Гофман.
В запросе на включение изменений Гофман подробно описал преимущества новой реализации:
Основная цель данного набора патчей — повышение производительности. Проблема была впервые замечена в игре Streets of Rage 4, где загрузка уровней занимала от 1 до 1,5 минут, в то время как на Windows этот процесс выполнялся практически мгновенно. Причиной низкой производительности являлись особенности работы механизма управления памятью и сборщика мусора в .Net Core. Значительное замедление вызывалось не только прямой разницей в скорости обработки памяти с отслеживанием записи, но и спецификой алгоритма, который использовал различные пулы памяти и стратегии, зависящие от времени доступа к памяти. Это приводило к особенно неудачному шаблону, при котором страницы памяти, защищенные для отслеживания записи, использовались гораздо чаще, чем обычно. Хотя с тех пор в игре или в используемой версии .Net Core произошли изменения, и разница во времени загрузки уровней стала менее выраженной, без данной оптимизации загрузка занимает 6–8 секунд, а с патчем — 1,5–2 секунды, что соответствует показателям Windows. Таким образом, патч обеспечивает значительный прирост производительности, особенно для приложений, использующих .Net Core.
Микро-бенчмарки, проведенные в рамках запроса на включение изменений, также демонстрируют положительное влияние новой реализации на производительность Wine.
Новые функции и исправления ошибок
Помимо оптимизации производительности, Wine 10.7 включает следующие улучшения:
-
Поддержка преобразования форматов Float в WindowsCodecs. Это расширяет возможности обработки графических данных в приложениях, работающих через Wine.
-
Доработка PDB-бэкенда. Улучшения в обработке отладочной информации повышают стабильность и совместимость приложений.
-
Исправление 14 известных ошибок. В их числе:
-
Устранение проблем с обработкой клавиатурного ввода в играх при использовании режима виртуального рабочего стола.
-
Исправления для приложений, таких как WinAmp и HeidiSQL, что повышает их стабильность и функциональность.
-
Обновление Wine 10.7 будет полезно пользователям Linux, macOS и других платформ, которые используют Wine для запуска Windows-приложений и игр. Особенно заметные улучшения ощутят те, кто работает с играми или приложениями, использующими .Net Core, благодаря значительному ускорению загрузки и обработки данных.
Linux: обзоры и обновления
• Пользователям Ubuntu 24.10 пора обновляться — поддержка заканчивается 10 июля
• GE-Proton 10-7 для Linux, SteamOS и на Steam Deck вышел с исправлениями для популярных игр и поддержки Wine Wayland
• Обновления Linux за неделю: 23 – 29 июня 2025 года
• SteamOS демонстрирует превосходство над Windows в тестах на Lenovo Legion Go S
• Canonical сообщает о росте выручки до 292$ млн в 2024 году
• Релиз Wine 10.11: Исправления для игр и поддержка WIDL