dxvk
Obsah
DXVK (DirectX Over Vulkan)
DXVK je knihovna založená na rozhraní Vulkan, která slouží k překladu instrukcí grafického rozhraní Microsoft DirectX 9, 10 a 11 na rozhraní Vulkan.
Tento nástroj umožňuje spouštět graficky náročné aplikace a hry pro Windows v prostředí Linuxu (např. přes Proton nebo Wine) s minimální ztrátou výkonu, a v některých případech dokonce i s výkonem vyšším.
Jak DXVK funguje?
Většina her pro Windows používá rozhraní DirectX k tomu, aby komunikovala s grafickou kartou. Linuxové systémy však DirectX nativně nepodporují. DXVK funguje jako „překladatel“:
- Vstup: Hra posílá příkazy DirectX (např. „vykresli tento trojúhelník“).
- Překlad: DXVK tyto příkazy zachytí a v reálném čase je přepíše do jazyka Vulkan.
- Výstup: Grafický ovladač na Linuxu zpracuje instrukce Vulkan a vykreslí obraz na monitor.
Proč je DXVK tak důležité?
- Výkon: Před DXVK se používal překlad přímo do OpenGL (WineD3D), což bylo velmi pomalé a nestabilní. Vulkan je nízkoúrovňové rozhraní (stejně jako DX11/12), což umožňuje mnohem efektivnější využití hardwaru.
- Kompatibilita: Díky DXVK fungují na Steam Decku tisíce her, které byly původně vyvinuty výhradně pro Windows.
- Vylepšení na Windows: Paradoxně se DXVK někdy používá i na Windows ke zrychlení starších her (např. GTA IV), které mají špatně optimalizovaný původní kód DirectX 9.
Klíčové vlastnosti
- Shader Caching: DXVK musí kompilovat shadery (grafické efekty) při prvním spuštění, což může způsobit krátké „cukání“ (stuttering). Moderní verze a Steam tento problém řeší předběžným stažením shaderů.
- Open Source: Projekt je vyvíjen komunitou pod licencí zlib/libpng, hlavním vývojářem je programátor vystupující pod přezdívkou doitsujin.
- Podpora HW: Vyžaduje grafickou kartu a ovladače, které plně podporují standard Vulkan (všechny moderní karty AMD, NVIDIA a Intel).
Srovnání s ostatními vrstvami
| Nástroj | Účel |
| DXVK | Překlad DX9 / DX10 / DX11 → Vulkan |
| VKD3D-Proton | Překlad DX12 → Vulkan |
| D8VK | Novější projekt pro překlad velmi starého DX8 → Vulkan |
Tip pro hráče: Pokud používáte Linux a hra se seká, zkontrolujte, zda máte v launcherech (jako Lutris nebo Steam) zapnuté DXVK. U starších her to může znamenat rozdíl mezi 10 a 60 FPS.
Související: Proton, Steam Deck, Zdrojový kód na GitHubu
dxvk.txt · Poslední úprava: autor: admin
