В проекте Wine обсуждается потенциально важное изменение, которое может повлиять на работу OpenGL-приложений. В репозитории появился новый запрос на слияние (merge request), предлагающий использовать Zink для реализации OpenGL поверх Vulkan.
Автором инициативы выступил Реми Бернон (Remi Bernon) – разработчик из CodeWeavers, участвующий в развитии Wine и Proton.
Что предлагается изменить
Суть предложения – использовать Zink в качестве реализации OpenGL в Wine. Это означает, что вызовы OpenGL будут транслироваться в Vulkan, а не обрабатываться напрямую через традиционные OpenGL-драйверы.
В описании запроса говорится:
Включает подмножество Mesa 26.0.3, необходимое для сборки Zink, используемое как реализация OpenGL поверх Vulkan на стороне PE.
Steam и «Star Wars: Knights of the Old Republic» работают, что означает, что всё остальное тоже будет работать.
В рамках изменения предлагается встроить часть Mesa, необходимую для работы Zink, и использовать её как реализацию OpenGL на стороне Windows (PE), работающую поверх Vulkan.
Что такое Zink
Zink – это драйвер OpenGL, работающий поверх Vulkan. Он переводит команды OpenGL в Vulkan, позволяя запускать приложения OpenGL без прямой зависимости от нативной реализации этого API в драйверах.
Проект развивается уже несколько лет и за это время получил значительные улучшения в плане совместимости и производительности.
- Трансляция OpenGL в Vulkan;
- Снижение зависимости от устаревших OpenGL-драйверов;
- Использование современных возможностей Vulkan;
- Развитие в рамках графического стека Mesa.