Новые версии Wine 11.19, Wine-staging 11.19 и D7VK 2.3

Опубликован экспериментальный выпуск открытой реализации Win32 API — Wine 11.19. С момента выпуска 11.18 был закрыто 23 отчёта об ошибках и внесено 358 изменений.

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

  • В библиотеке GDIPlus реализована возможность вертикальной отрисовки текста.
  • Таблицы символов обновлены до выпуска Unicode 18.0.0.
  • Реализована поддержка кэширования DNS-запросов.
  • Улучшен парсер VBScript.
  • В mountmgr добавлена поддержка операций IOCTL_DVD_SEND_KEY,
    IOCTL_DVD_END_SESSION,
    IOCTL_DVD_GET_REGION,
    IOCTL_DVD_READ_STRUCTURE,
    IOCTL_CDROM_CHECK_VERIFY,
    IOCTL_SCSI_PASS_THROUGH,
    IOCTL_SCSI_PASS_THROUGH_DIRECT,
    IOCTL_SCSI_GET_ADDRESS,
    IOCTL_SCSI_GET_CAPABILITIE и IOCTL_SCSI_GET_INQUIRY_DATA.

  • Закрыты отчёты об ошибках, связанные с работой приложений: ArcGIS Pro, Time clock SBE 1.2/2.2, BOINC, Paint.net 5.2, Steam 4126040.
  • Закрыты отчёты об ошибках, связанные с работой игр: Command Post, Zombie Army 4: Dead War, Evolution: The Game of Intelligent Life, Euro Truck Simulator 2, Aniimo, Desperados 2: Cooper’s Revenge, Final Fantasy XI Online, Hard Truck Apocalypse.

Параллельно сформирован выпуск проекта Wine Staging 11.19, предоставляющего расширенные сборки Wine, включающие не полностью готовые или рискованные патчи, пока непригодные для принятия в основную ветку Wine. По сравнению с Wine в Wine Staging предоставляется 279 дополнительных патчей. В новом выпуске Wine Staging осуществлена синхронизация с кодовой базой Wine 11.19 и обновлён код vkd3d. В основной состав Wine перенесены патчи, реализующие структуры для настройки параметров и недостающие определения типов для d3d12.

Дополнительно можно отметить выпуск проекта D7VK 2.3, развивающего реализацию графических API Direct3D 3, 5, 6 и 7, предложенных компанией Microsoft в 1996, 1997, 1998 и 1999 годах. D7VK работает через трансляцию вызовов в API Vulkan и позволяет при помощи Wine запускать в Linux ретро игры, завязанные на API Direct3D 3, 5, 6 и 7. Код проекта написан на языке C++ и распространяется под лицензией Zlib. В качестве основы при разработке использован код бэкенда d3d9 от проекта DXVK — D7VK преобразует API Direct3D 3, 5, 6 и 7 в вызовы Direct3D 9, которые затем транслируются в API Vulkan. Разработчик не намерен добиваться включения D7VK в состав DXVK, как это было с реализациями Direct3D 8 и Direct3D 9 поверх Vulkan.

В примечании к выпуску D7VK 2.3 указано, что кодовая база достигла зрелости и проект переводится в режим сопровождения, в котором планируется формировать редкие выпуски с мелкими доработками и исправлением ошибок. Среди изменений:

  • Переход на работу поверх выпуска DXVK 3.1.1.
  • Оптимизация отрисовки теней.
  • Улучшение совместимости с мобильными GPU.
  • Унификация работы с текстурами, материалами и вьюпортами для D3D 3/5/6.
  • Реализация ProcessVerticesStrided для D3D 7.
  • Исправления, улучшающие поддержку игр:
    • Forsaken,
    • Dark Vengeance,
    • G-Police,
    • Grandia II,
    • Empire Earth,
    • HyperBlade,
    • Need for Speed: Porsche,
    • Redline Racer,
    • Star Trek: Armada,
    • Star Wars: X-Wing Alliance и
    • Z.A.R.

Источник: http://www.opennet.ru/opennews/art.shtml?num=66387