В разработке находится более правильная реализация поддержки Vulkan в Wine.
Wine-Vulkan находится в разработке для запуска Windows Vulkan игр на GNU/Linux.
Короче говоря, для тех, кому лень читать весь текст, вся суть в самом начале:
В Wine Staging уже более чем 1,5 года, начиная ещё с Wine Staging 1.9.6, существует реализация поддержки Vulkan для запуска Vulkan Windows-игр в Wine. И даже DOOM 2016 на ней работает. Но, проблема в том, что она по сути написана "на коленке", и устроенна весьма примитивно и "костыльно".
Поэтому, разработчик программ с открытым кодом Roderick Colenbrander обнародовал свой репозиторий "Wine-Vulkan", который он использует, чтобы организовать свою работу вокруг лучшей и максимально правильной реализации поддержки Vulkan в Wine.
Реализация поддержки Vulkan в Wine важна не только для запуска Windows Vulkan игр в Wine, но и для получения технической возможности реализации поддержки D3D12 в Wine в будущем, а также расширения возможностей для разработчиков Wine для получения новых путей для улучшения производительности работы игр в Wine.
Патчи Родерика "Wine-Vulkan" находятся в состоянии экспериментов использования Vulkan на Wine и в настоящее время внедряют Vulkan 1.0.51 с несколькими дополнительными расширениями. Этого достаточно для запуска информационной утилиты Vulkan, Vulkan cube demo и игры vkQuake наряду с другими базовыми приложениями Vulkan. Должны работать как 32-битные, так и 64-битные приложения.
www.phoronix.com/scan.php?page=news_item&px=Win...
Эта работа новее/лучше по сравнению с уже существующим более 1,5 лет в Wine Staging кодом для поддержки Vulkan. Vulkan-код в Wine Staging в основном представляет собой грубо модифицированную библиотеку Vulkan без разделения загрузчик/ICD, где этот новый код разработан как драйвер ICD и будет работать с официальной библиотекой загрузчика Vulkan для Windows от LunarG. Этот чистый подход в основном разработан именно так, как и должен выглядеть правильный драйвер Vulkan, а также позволяет интегрироваться с различными уровнями Vulkan, которые не могут быть использованы с более старым промежуточным кодом.
Эта работа по-прежнему экспериментальна, но желающие узнать больше могут перейти по ссылке, чтобы увидеть репозиторий Wine-Vulkan Git:
github.com/roderickc/wine-vulkan
Маловероятно, что эта работа успеет попасть в Wine 3.0, который скоро войдет в стадию замораживания кода.
Родерик Коленбрандер был давним разработчиком Wine (с 2002 года) в свободное от работы время, в основном работая над кодом D3D/GL (а теперь и Vulkan), а его основной работой