Dxvk
DXVK (aka ДиксВик, ДэИксВэКа, Вуду для виндузятников) — транслятор Direct3D 9/10/11 в Vulkan, написанный сумрачным немецким гением по имени Филип «doitsujin» Ребо. Работает сие поделие под линуксом (и не только) в связке с Wine. Позволяет запускать виндовые игры, используя всю мощь богомерзкого Вулкана, который, по заявлениям адептов, уделывает православный ДиректИкс как школьника.
Суть[править]
В двух словах, DXVK перехватывает вызовы DirectX и преобразует их в понятные Вулкану команды. Это позволяет запускать виндовые игры, используя нативную поддержку Vulkan в драйвере видеокарты, что в теории должно давать прирост производительности и лучшую совместимость. На практике… ну, бывает по-разному, но в большинстве случаев всё действительно работает быстрее и стабильнее, чем через ванильный WineD3D.
История создания[править]
DXVK был рождён сумрачным гением doitsujin’а в 2018 году, как ответ на убогость WineD3D и нежелание Microsoft портировать свои игры на Linux. Первая версия поддерживала только DirectX 10, но потом обросла поддержкой DX9 и DX11. Doitsujin, по слухам, разрабатывал DXVK, чтобы играть в свой любимый Ведьмак 3 на Linux, но потом понеслось…
Как это работает[править]
- Ты запускаешь свою любимую виндовую игру через Wine.
- DXVK подменяет собой системные библиотеки DirectX.
- Игра думает, что общается с DirectX, а на самом деле её вызовы перехватываются и транслируются в Vulkan.
- Вулкан рисует всё это на экране, а ты радуешься, что не пришлось ставить эту вашу венду.
Преимущества[править]
- Производительность: В большинстве случаев игры работают быстрее, чем через WineD3D. Особенно заметно на AMD’шных картах, которые исторически лучше дружат с Vulkan.
- Совместимость: DXVK позволяет запускать игры, которые не работают или работают криво через WineD3D.
- Стабильность: Меньше вылетов и графических артефактов.
- Открытый исходный код: Можно поковырять самому, если руки не из жопы.
- Doitsujin: Он просто крут.
Недостатки[править]
- Не работает на калькуляторах: Нужна более-менее современная видеокарта с поддержкой Vulkan.
- Настройка: Иногда приходится потанцевать с бубном, чтобы всё заработало как надо.
- Не все игры поддерживаются: Но список постоянно пополняется.
- Nvidia: Исторически сложилось, что с Nvidia бывают нюансы и работает все не так гладко как на AMD. Но последние драйвера, вроде как, все пофиксили.
- Shader compilation stutter — подгрузки шейдеров вызывают заикания, которые фиксится прохождением игры, но по первости может подбешивать.
DXVK vs WineD3D[править]
- WineD3D: Это транслятор DirectX в OpenGL, встроенный в Wine. Работает, но медленно и печально.
- DXVK: Это транслятор DirectX в Vulkan. Работает быстро и весело.
- Вердикт: DXVK > WineD3D, если у вас есть поддержка Vulkan.
DXVK и Valve[править]
Valve настолько впечатлилась DXVK, что наняла doitsujin’а и внедрила его разработку в свой инструмент под названием Proton, который используется в Steam Deck. Теперь даже школьники могут запускать свои калофдутии на линуксе без особых проблем. А все благодаря Филу!
Ссылки[править]
- GitHub DXVK — исходники и всякое такое.