Разработка Wine продолжается ритмичными релизами. Версия 11.5, как и её предшественницы, не приносит громких новых функций, но методично улучшает фундаментальные компоненты и закрывает очередную партию давних проблем. Рассказываем о ключевых новшествах и исправлениях.
Что нового в Wine 11.5
Улучшения системы сборки и компонентов
- Поддержка C++ в системе сборки: Внесены изменения, позволяющие использовать C++ в процессе сборки Wine. Это открывает возможности для более современной разработки и интеграции с библиотеками, написанными на этом языке.
- Встроенные библиотеки ICU: Теперь Wine поставляется со встроенными библиотеками ICU (International Components for Unicode), что улучшает поддержку интернационализации и корректную обработку текста в приложениях.
- Поддержка Syscall User Dispatch на Linux: Реализован механизм, позволяющий перехватывать и корректно обрабатывать системные вызовы из приложений Windows, что повышает стабильность и совместимость.
- Исправления совместимости VBScript: Улучшена работа скриптов на VBScript, что важно для многих старых приложений и установщиков.
Главные исправления (выбрано из 22)
Критическое: исправление SYSCALL в 64-битных приложениях
Одно из самых важных исправлений в этом релизе касается обработки инструкции SYSCALL в 64-битных приложениях. Ранее прямое использование этой инструкции приводило к падениям в таких играх, как Detroit: Become Human, Red Dead Redemption 2 и Arknights: Endfield (#48291). Теперь эти проблемы устранены.
Игры и приложения
- Stratego (1997): Исправлена ошибка запуска, связанная с функцией
CreateScalableFontResource()(#58963). - Wallpaper Engine: Реализована поддержка RSA-OAEP padding по умолчанию, что исправляет синхронизацию с мобильными устройствами (#59460).
- VOCALOID6: Устранено падение при запуске из-за отсутствующих заглушек
wminet_utils(#59502). - UndertaleModTool: Исправлено падение в диалоге выбора файла в .NET-приложениях (#59474).
- Clip Studio Paint: Исправлена проблема с экспортом таймлапсов (#59138).
- Sony Home Memories: Устранена невосстановимая ошибка при установке (#59223).
- Swift: Добавлена недостающая функция
SaferiIsExecutableFileTypeв ADVAPI32.dll (#59314). - Chromium Embedded Framework (CEF): Исправлено падение при просмотре сайта The Verge, вызванный проблемным файлом шрифта в dwrite (#59542).
- samp.dll (San Andreas Multiplayer): Исправлен баг, из-за которого замена
bass.dllнаsamp.dllприводила к зависанию и чёрному экрану (#59541).
Системные компоненты
- get_timezone_info: Исправлен бинарный поиск в этой функции, что должно улучшить определение часовых поясов (#50532).
- Работа с индексированными битмапами: Исправлено некорректное чтение, возвращавшее 32 бита вместо 8 (#50636).
- time() / localtime(): Устранено значительное падение производительности этих функций (#59514).
- CertCreateCertificateChainEngine: Исправлена ошибка с неверным аргументом в
rustls-platform-verifier(#59531). - jscript: Вызов
GetScriptDispatch("")теперь возвращает глобальный диспетчер вместоE_INVALIDARG(#59504). - vbscript: Исправлена проблема с двоеточием на новой строке после
Then(#55037). - MDI дочерние окна: Исправлено игнорирование атрибутов окна, в частности
WS_MAXIMIZEBOX(#59361). - USB-подключение: Исправлена проблема с распознаванием USB-устройств в Axon MultiClamp Commander 700B (#35904).
- gedit: Восстановлена возможность редактирования настроек в этом редакторе (#31047).
- Evernote и PCG Tools: Исправлены ошибки установки (#42687, #42811).
Wine 11.5 — ещё один шаг вперёд для платформы, которая остаётся критически важной для запуска Windows-приложений на Linux и macOS. Поддержка C++ в системе сборки и встроенные библиотеки ICU делают проект более современным, а десятки исправлений повышают стабильность и совместимость.
Исходный код и бинарные пакеты уже доступны на официальном сайте. Как всегда, проект живёт благодаря труду сотен контрибьюторов по всему миру.