Новые версии Wine 4.17, Wine Staging 4.17, Proton 4.11-6 и D9VK 0.21

Доступен экспериментальный выпуск открытой реализации Win32 API - Wine 4.17. С момента выпуска версии 4.16 было закрыто 14 отчётов об ошибках и внесено 274 изменения.

Наиболее важные изменения:

  • Движок Mono обновлён до версии 4.9.3;
  • В d3dx9 добавлена поддержка сжатых текстур в формате DXTn (перенесено из Wine Staging);
  • Предложена начальная версия runtime-библиотеки Windows Script (msscript);
  • В ntdll добавлена обработка вызовов APC до запуска процесса;
  • В wined3d добавлена поддержка GPU AMD VEGA12;
  • Реализована поддержка обработки уведомлений о смене устройств через API XRandR;
  • Добавлена поддержка генерации ключей RSA;
  • Для архитектуры ARM64 реализована поддержка бесшовных прокси (stubless proxies) для интерфейсов объектов;
  • Закрыты отчёты об ошибках, связанные с работой игр и приложений Vampire the Masquerade, AppCAD, Civilization 4, Shed installer, Royal Quest, iCloud.

Одновременно представлен выпуск проекта Wine Staging 4.17, в рамках которого формируются расширенные сборки Wine, включающие не полностью готовые или рискованные патчи, пока не пригодные для принятия в основную ветку Wine. По сравнению с Wine в Wine Staging предоставляется 855 дополнительных патчей. В новом выпуске осуществлена синхронизация с кодовой базой Wine 4.17. Добавлена поддержка ввода в raw-режиме (Raw Input в user32), что позволило избавиться от проблем в играх на базе движка Source, включая Overwatch и StarCitizen. Включены исправления, устраняющие крахи в играх Empire Earth, Trinklet Supreme и Silent Hill 4: The Room. Добавлена заглушка dsdmo.dll для эффектов DirectSound.

Компания Valve опубликовала новый выпуск проекта Proton 4.11-6, который основан на наработках проекта Wine и нацелен на обеспечение запуска в Linux игровых приложений, созданных для Windows и представленных в каталоге Steam. Наработки проекта распространяются под лицензией BSD. Proton позволяет напрямую запускать в Linux-клиенте Steam игровые приложения, поставляемые только для Windows. Пакет включает в себя реализацию DirectX 9 (на базе D9VK), DirectX 10/11 (на базе DXVK) и DirectX 12 (на базе vkd3d), работающие через трансляцию вызовов DirectX в API Vulkan, предоставляет улучшенную поддержку игровых контроллеров и возможность использования полноэкранного режима независимо от поддерживаемых в играх разрешений экрана.

В новой версии Proton прослойка DXVK (реализация DXGI, Direct3D 10 и Direct3D 11 поверх API Vulkan) обновлена до ветки 1.4, в которой программный интерфейс Direct3D 11 обновлён до версии 11.4, а DXGI до версии 1.5. Тем временем, разработчики DXVK опубликовали корректирующее обновление DXVK 1.4.1, в котором устранили проблемы, приводящие к крахам в коде D3D10, и улучшили поддержку игр "Batman: Arkham City", "Hitman 2" и "Ni no Kuni Remastered".

Дополнительно можно отметить новый значительный выпуск проекта D9VK 0.21, в рамках которого развивается реализация Direct3D 9, работающая через трансляцию вызовов в графический API Vulkan. Проект основан на кодовой базе проекта DXVK, которая была расширена поддержкой Direct3D 9. По сравнению с реализацией Direct3D 9 на базе WineD3D, D9VK позволяет добиться более высокой производительности, так трансляция Direct3D 9 через OpenGL работает медленнее трансляции через Vulkan.

В новой версии добавлены новые вызовы Direct3D 9 D3DBLEND_BOTHSRCALPHA и D3DBLEND_BOTHINVSRCALPHA, реализована система блокировок для изображений MSAA и карт глубины, добавлена поддержка форматов YUV2 и YUVY, добавлен расширенный набор констант при включении программной обработки вершинных шейдеров, проведена оптимизация производительности, для DXSO реализованы вызовы TexM3x3Spec и TexM3x3VSpec, исправлено 27 ошибок.