разработчики выпустили Wine 11.21 – новую версию ветки разработки слоя совместимости для запуска Windows-приложений и игр в Linux, macOS и других Unix-подобных системах. Главное изменение – повышение производительности OpenGL в режиме WoW64 благодаря поддержке расширения MESA_map_buffer_client_pointer. Также добавлена начальная реализация библиотеки Voice Capture DSP, улучшена поддержка учётных записей Windows и закрыты 20 отчётов об ошибках. Исходный код опубликован; готовые пакеты для дистрибутивов будут доступны через соответствующие каналы загрузки.
OpenGL в WoW64, обработка голоса и учётные записи
Согласно официальному анонсу, Wine 11.21 улучшает производительность OpenGL при запуске 32-разрядных Windows-приложений в 64-разрядном окружении. Для нового механизма нужна поддержка MESA_map_buffer_client_pointer со стороны графического драйвера. Разработчики не приводят результатов измерений или процента прироста.
WoW64 – механизм запуска 32-разрядных Windows-приложений в 64-разрядном окружении. В Wine он позволяет таким приложениям взаимодействовать с 64-разрядными компонентами системы.
Расширение MESA_map_buffer_client_pointer позволяет задавать диапазоны адресов, в которые отображаются буферы OpenGL. Его спецификацию подготовили с учётом потребностей Wine: 32-разрядному приложению требуется адрес буфера, укладывающийся в его адресное пространство.
Начальная реализация Voice Capture DSP находится в библиотеке mfwmaaec. Изменения включают захват звука, настройку выходного формата и обработку отдельных свойств компонента. Это первый этап реализации Windows-библиотеки для работы с голосовым звуком.
Доработки учётных записей затрагивают имена пользователей, владельцев и основные группы токенов доступа, а также вход под служебными учётными записями через LogonUserW.
Исправления Skyrim, BioShock 2 и других игр
В игровую часть списка вошли исправления сбоев, звука, изображения и клавиатурного ввода:
| Игра | Исправленная проблема |
|---|---|
| Skyrim (2011) | Сбой при обработке неподдерживаемых флагов raw input 0x230, возникавший начиная с Wine 11.11. |
| Skyrim Special Edition | Аварийное завершение при срабатывании внутренней проверки VPROT_SYSTEM. |
| BioShock 2 Remastered | Сбой при применении настроек изображения, связанный с нулевым выходным указателем в D3D11 FinishCommandList. |
| Fate/stay night REMASTERED | Чёрный экран при использовании EGL. |
| Tron 2.0 | Отсутствие музыки в игре и меню. |
| No One Lives Forever 2 | Отсутствие музыки из-за отклонения 64-байтных заголовков wave-item. |
| World of Tanks | В чате не обрабатывались отдельные клавиши, включая Enter и Delete. |
| I Love Science! | Игра не обнаруживала свой компакт-диск. |
| Zeus: Master of Olympus | Ошибка доступа в системном потоке при выходе из игры. |
FL Studio, Cinebench и системные компоненты
Остальные исправления затрагивают запуск приложений, сертификаты, сетевые ответы, интерфейс и низкоуровневые механизмы Wine:
| Приложение или компонент | Исправленная проблема |
|---|---|
| FL Studio 26.1.5 / crypt32 | Проверка цифровой подписи меняла порядок подписанных атрибутов PKCS#7 и отклоняла корректные подписи, если атрибуты не были упорядочены по DER. Ошибка мешала запуску FL Studio. |
| Cinebench 2026 | Сбой при обращении к D3D12GetInterface в d3d12.dll. Добавлена заглушка функции. |
| .NET Framework 4.8 | Ошибка округления при преобразовании допускающей null переменной float со значением 0,001 в decimal. |
| WinHTTP | Строки заголовков ответа длиннее 1459 байт незаметно обрезались. Это нарушало работу перенаправлений на предварительно подписанные URL Amazon S3. |
| crypt32 | При проверке сертификатов ошибочно отклонялись сертификаты с IP-адресом в поле Subject Alternative Name. |
| Клавиатурные сочетания | Не обрабатывались Ctrl+Tab и Ctrl+Shift+Tab. |
| ComboBoxEx | Сбой из-за нулевого указателя при завершении редактирования элемента с пустым текстом или текстом, получаемым через callback. |
| JPEG XR | Ошибки работы с памятью при обработке повреждённых файлов. Встроенная библиотека jxr обновлена до версии 1.4.4. |
| Wine 11.20 | Ошибка сегментации при работе успешно собранной версии. |
| Сборки ELF | Ошибка сборки после изменения способа создания DLL, предназначенных для ARM64X. |
| i386 | Регрессия развёртывания стека при структурной обработке исключений SEH после изменения выделения начальных данных потока. |
Исправление Cinebench относится к конкретному сбою на отсутствующей функции. Заглушка D3D12GetInterface не означает полной реализации этого API.
Доступность Wine 11.21
Wine 11.21 продолжает ветку разработки после Wine 11.20. Это не стабильный выпуск. Разработчики опубликовали архив исходного кода и сообщили, что бинарные пакеты для разных дистрибутивов будут доступны на соответствующих страницах загрузки. Наличие обновления следует проверять для своего дистрибутива и подключённого репозитория.
Вывод
Обновление полезно пользователям, которые столкнулись с перечисленными сбоями игр, запуском FL Studio или ошибками обработки сетевых ответов и сертификатов. Улучшение OpenGL касается работы в WoW64 и требует поддержки соответствующего расширения драйвером, поэтому оценивать его эффект нужно на конкретной системе.