Direct3D Wrappers

Vortex Acherontic 587 words 3 minutes vulkan opengl direct3d linux windows wine proton

As it is common that Direct3D is only supported on Microsoft Windows other operating systems need to rely on so called translation layers to render Direct3D content. This page serves as an overview about common translation layers which do work on Linux.

WineD3D

One of the most prominent and oldest Direct3D wrappers is WineD3D which stands for Wine Direct3D. While Wine stands for Wine Is Not an Emulator. This is true for WineD3D as well. Instead of "emulating" a Direct3D device it does in fact understand Direct3D calls and then maps them to corresponding OpenGL calls.

WineD3D is part of Wine it self and works with Direct3D 1 up to 11. Also there is ongoing work to port the OpenGL based WineD3D to a Vulkan based WineD3D for Direct3D 1 up to 9.

DXVK

Another very well know translation layer is the Vulkan based DXVK. Originally developed to play NieR Automata on Linux by Philip Rebohle it has become a part of Valves Wine fork Proton and powers modern Linux Gaming.

DXVK supports Direct3D 8 up to 11. While originally it only supported Direct3D 10 and 11.

D9VK: Now part of DXVK was D9VK but once independent as a Vulkan based Direct3D 9 to Vulkan translator

D8VK: Similar to D9VK and also now part of DXVK is D8VK for Direct3D 8 to Vulkan.

DXVK-native: Is a fork of DXVK with the goal to be used without Wine. It is often used to help game developers porting their Direct3D games to Linux. Prominent users of DXVK-native are Portal 2, Left 4 Dead 2 and Half-Life 2 by Valve.

DXVK-nvapi: Is not a translation layer by itself but rather a re-implementation of the nVidia API (NVAPI) which allows games to query and use certain features of a nVidia GPU with the proprietary driver such as DLSS and PhysX.

VKD3D

Developed by the Wine project as a Direct3D 12 to Vulkan mapper. Often confused with VKD3D-proton. Which itself is a fork of VKD3D developed by Valve and integrated with Proton.

VKD3D also relies on DXVK-nvapi to access additional features of nVidia GPUs.

eOn

Is a proprietary Direct3D to OpenGL mapper developed by Virtual Programming and used in the Linux port of BioShock Infinite, The Witcher 2: Assassins of Kings, Saints Row 3 and a few others.

Tungsten

Is a proprietary Direct3D to OpenGL mapper developed and used by Feral Interactive in their earlier Linux ports. Such as Tomb Raider (2013), Alien Isolation, Mad Max and others. Later on they moved on to Feral3D. Sometimes also called "IndirectX". But which name applies is not very well known.

Feral3D

Is a proprietary Direct3D to Vulkan mapper developed and used by Feral Interactive in their later Linux ports before they stopped porting to Linux. Prominent games using Feral3D are Rise of the Tomb Raider, Shadow of the Tomb Raider as well as a public beta for Mad Max and Lords of the Rings: Shadow of Mordor.

ToGL

Before using DXVK-native Valve used their own ToGL in their Source Engine 2 Linux games to map Direct3D to OpenGL.

Sources