Uživatelské nástroje

Nástroje pro tento web


dxvk

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“:

  1. Vstup: Hra posílá příkazy DirectX (např. „vykresli tento trojúhelník“).
  2. Překlad: DXVK tyto příkazy zachytí a v reálném čase je přepíše do jazyka Vulkan.
  3. 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