DXVK

Last updated
DXVK
Original author(s) Philip Rebohle
Developer(s) DXVK Project
Initial release14 January 2018;7 years ago (14 January 2018)
Stable release
2.5.3 / 13 January 2025;1 day ago (13 January 2025)
Repository DXVK on GitHub
Written in C++
Operating system OS Independent
Platform x86, x86-64
License zlib License
Website github.com/doitsujin/dxvk

DXVK is an open-source translation layer which converts Direct3D 8/9/10/11 calls to Vulkan. [1] [2] [3] [4] It is used by Proton/Steam [5] for Linux, by Intel Windows drivers, [6] [7] [8] VirtualBox 7.0, [9] and it can be used to run Direct3D-based games under Windows using Vulkan. DXVK has been confirmed to support over 80% of Direct3D Windows games "near flawlessly". [10] [11] [12]

Contents

History

DXVK was first developed by Philip Rebohle to support Direct3D 11 games only [13] as a result of poor compatibility and low performance of Wine's Direct3D 11 to OpenGL translation layer.

In 2018, the developer was sponsored by Valve to work on the project full-time in order to advance compatibility of the Linux version of Steam with Windows games. [13] [14]

In 2019, DXVK received Direct3D 9 support by merging with d9vk. [15] [16]

In November 2022, version 2.0 was released, introducing improvements to Direct3D 9 memory management, shader compilation, state cache, as well as, support for Direct3D 11 feature level 12_1. [17] [18] Vulkan 1.3 support is now required. [19]

Released on January 24, 2023, version 2.1 implemented HDR support and improved quality for certain old games. [4] [20]

Released on May 12, 2023, version 2.2 added D3D11On12 [21] [22] support. [23] [24] [25]

Released on July 10, 2024, version 2.4 added support for Direct3D 8. [26] [27]

Released on November 11, 2024, version 2.5 features an overhauled memory and resource management which resulted in VRAM savings up to 1GB in certain games. Direct3D 8 and 9 received support for software cursor. [28]

Controversies

The use of Wine/DXVK has been associated with users getting banned [29] [30] [31] [32] from online gaming platforms because game publishers have no way of verifying game integrity for people using Linux.

Related Research Articles

<span class="mw-page-title-main">OpenGL</span> Cross-platform graphics API

OpenGL is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve hardware-accelerated rendering.

<span class="mw-page-title-main">Simple DirectMedia Layer</span> Free software multimedia library

Simple DirectMedia Layer (SDL) is a cross-platform software development library designed to provide a hardware abstraction layer for computer multimedia hardware components. Software developers can use it to write high-performance computer games and other multimedia applications that can run on many operating systems such as Android, iOS, Linux, macOS, and Windows.

<span class="mw-page-title-main">Wine (software)</span> Windows compatibility software

Wine is a free and open-source compatibility layer to allow application software and computer games developed for Microsoft Windows to run on Unix-like operating systems. Developers can compile Windows applications against WineLib to help port them to Unix-like systems. Wine is predominantly written using black-box testing reverse-engineering, to avoid copyright issues. No code emulation or virtualization occurs. Wine is primarily developed for Linux and macOS.

Direct3D is a graphics application programming interface (API) for Microsoft Windows. Part of DirectX, Direct3D is used to render three-dimensional graphics in applications where performance is important, such as games. Direct3D uses hardware acceleration if available on the graphics card, allowing for hardware acceleration of the entire 3D rendering pipeline or even only partial acceleration. Direct3D exposes the advanced graphics capabilities of 3D graphics hardware, including Z-buffering, W-buffering, stencil buffering, spatial anti-aliasing, alpha blending, color blending, mipmapping, texture blending, clipping, culling, atmospheric effects, perspective-correct texture mapping, programmable HLSL shaders and effects. Integration with other DirectX technologies enables Direct3D to deliver such features as video mapping, hardware 3D rendering in 2D overlay planes, and even sprites, providing the use of 2D and 3D graphics in interactive media ties.

CrossOver is a Microsoft Windows compatibility layer available for Linux, macOS, and ChromeOS. This compatibility layer enables many Windows-based applications to run on Linux operating systems, macOS, or ChromeOS.

A source port is a software project based on the source code of a game engine that allows the game to be played on operating systems or computing platforms with which the game was not originally compatible.

<span class="mw-page-title-main">Mesa (computer graphics)</span> Free and open-source library for 3D graphics rendering

Mesa, also called Mesa3D and The Mesa 3D Graphics Library, is an open source implementation of OpenGL, Vulkan, and other graphics API specifications. Mesa translates these specifications to vendor-specific graphics hardware drivers.

<span class="mw-page-title-main">Free and open-source graphics device driver</span> Software that controls computer-graphics hardware

A free and open-source graphics device driver is a software stack which controls computer-graphics hardware and supports graphics-rendering application programming interfaces (APIs) and is released under a free and open-source software license. Graphics device drivers are written for specific hardware to work within a specific operating system kernel and to support a range of APIs used by applications to access the graphics hardware. They may also control output to the display if the display driver is part of the graphics hardware. Most free and open-source graphics device drivers are developed by the Mesa project. The driver is made up of a compiler, a rendering API, and software which manages access to the graphics hardware.

<span class="mw-page-title-main">Dolphin (emulator)</span> Nintendo GameCube and Wii emulation software

Dolphin is a free and open-source video game console emulator of GameCube and Wii that runs on Windows, Linux, macOS, Android, Xbox One, Xbox Series X and Series S.

Linux-based operating systems can be used for playing video games. Because few games natively support the Linux kernel, various software has been made to run Windows games, software, and programs, such as Wine, Cedega, DXVK, and Proton, and managers such as Lutris and PlayOnLinux. The Linux gaming community has a presence on the internet with users who attempt to run games that are not officially supported on Linux.

<span class="mw-page-title-main">SteamOS</span> Linux distribution made by Valve

SteamOS is an Arch Linux-based Linux distribution developed by Valve. It incorporates Valve's video game storefront Steam and is the official operating system for the Steam Deck, Valve's portable gaming device, as well as Valve's earlier Steam Machines.

<span class="mw-page-title-main">Mantle (API)</span> Low-overhead rendering API

Mantle was a low-overhead rendering API targeted at 3D video games. AMD originally developed Mantle in cooperation with DICE, starting in 2013. Mantle was designed as an alternative to Direct3D and OpenGL, primarily for use on personal computers. In 2015, Mantle's public development was suspended and in 2019 completely discontinued, as DirectX 12 and the Mantle-derived Vulkan rose in popularity.

Besides the Linux distributions designed for general-purpose use on desktops and servers, distributions may be specialized for different purposes including computer architecture support, embedded systems, stability, security, localization to a specific region or language, targeting of specific user groups, support for real-time applications, or commitment to a given desktop environment. Furthermore, some distributions deliberately include only free software. As of 2015, over four hundred Linux distributions are actively developed, with about a dozen distributions being most popular for general-purpose use.

CodeXL was an open-source software development tool suite which included a GPU debugger, a GPU profiler, a CPU profiler, a graphics frame analyzer and a static shader/kernel analyzer.

Vulkan is a low-level, low-overhead cross-platform API and open standard for 3D graphics and computing. It was intended to address the shortcomings of OpenGL, and allow developers more control over the GPU. It is designed to support a wide variety of GPUs, CPUs and operating systems, and it is also designed to work with modern multi-core CPUs.

<span class="mw-page-title-main">LunarG</span> American software company

LunarG is an American software company specializing in device driver development for video cards.

<span class="mw-page-title-main">GPUOpen</span> Middleware software suite

GPUOpen is a middleware software suite originally developed by AMD's Radeon Technologies Group that offers advanced visual effects for computer games. It was released in 2016. GPUOpen serves as an alternative to, and a direct competitor of Nvidia GameWorks. GPUOpen is similar to GameWorks in that it encompasses several different graphics technologies as its main components that were previously independent and separate from one another. However, GPUOpen is partially open source software, unlike GameWorks which is proprietary and closed.

MoltenVK is a software library which allows Vulkan applications to run on top of Metal on Apple's macOS, iOS, and tvOS operating systems. It is the first software component to be released for the Vulkan Portability Initiative, a project to have a subset of Vulkan run on platforms lacking native Vulkan drivers.

<span class="mw-page-title-main">Proton (software)</span> Linux compatibility layer for Windows games

Proton is a compatibility layer that allows Windows games to run on Linux-based operating systems. Proton is developed by Valve in cooperation with developers from CodeWeavers. It is a collection of software and libraries combined with a patched version of Wine to improve performance and compatibility with Windows games. Proton is designed for integration into the Steam client as "Steam Play". It is officially distributed through the client, although third-party forks can be manually installed.

<span class="mw-page-title-main">Steam Deck</span> Handheld gaming console by Valve

The Steam Deck is a handheld gaming computer produced by Valve Corporation, designed to run the large library of games available on the Steam storefront client. Built upon the experiences gained from Valve's earlier ventures with Steam Machine and the Steam Controller, the Steam Deck integrates a custom AMD APU and SteamOS, a Linux-based operating system. The Steam Deck represents Valve's pivot towards a fully in-house hardware development approach, following the challenges faced with Steam Machines' reliance on OEMs and the requirement for native Linux game support.

References

  1. Staff, Ars (2018-08-21). "Valve's "Steam Play" uses Vulkan to bring more Windows games to Linux". Ars Technica. Retrieved 2023-01-01.
  2. Conway, Adam (2022-12-23). "How Proton on the Steam Deck works". XDA Developers. Retrieved 2023-01-01.
  3. "Chapter 13. WINE". FreeBSD Documentation Portal. Retrieved 2024-04-28.
  4. 1 2 Proven, Liam. "WINE 8.0 and DXVK 2.1 released". www.theregister.com. Retrieved 2024-05-31.
  5. Compatibility tool for Steam Play based on Wine and additional components: ValveSoftware/Proton, Valve, 2019-04-03, retrieved 2019-04-03
  6. "Intel using DXVK (part of Steam Proton) for their Windows Arc GPU DX 9 drivers". GamingOnLinux. 7 December 2022. Retrieved 2022-12-27.
  7. Wilson, Jason R. (2022-11-01). "Intel Arc A750 Shows Boosted Performance In Older Gaming Titles Using Vulkan "DXVK"". Wccftech. Retrieved 2023-01-01.
  8. Aaron Klotz (2022-12-08). "Intel Arc Driver Optimizations Leverage Valve's DXVK Translator". Tom's Hardware. Retrieved 2024-05-31.
  9. "VirtualBox 7.0 is out with their DirectX 11 support using DXVK". GamingOnLinux. 11 October 2022. Retrieved 2022-12-27.
  10. Aaron Klotz (2021-12-21). "80 Percent of Steam's Top 100 Games Run 'Nearly Flawlessly' on Linux". Tom's Hardware. Retrieved 2024-05-31.
  11. "It's Now Even Easier To Check How A Game Runs On Steam Deck". Kotaku. 2023-08-16. Retrieved 2024-05-31.
  12. Conway, Adam (2022-12-06). "Need more games to play on your Steam Deck? Check out ProtonDB". XDA Developers. Retrieved 2024-05-31.
  13. 1 2 "An interview with the developer of DXVK, part of what makes Valve's Steam Play tick". GamingOnLinux. 11 September 2018. Retrieved 2022-12-27.
  14. Proven, Liam (2023-02-03). "WINE 8.0 and DXVK 2.1 released". The Register. Retrieved 2023-05-20.
  15. "D9VK Merged Into Upstream DXVK". www.phoronix.com. Retrieved 2024-05-31.
  16. "D9VK is no more as it merges with DXVK, making DXVK a D3D 9/10/11 to Vulkan layer". GamingOnLinux. 16 December 2019. Retrieved 2022-12-27.
  17. Meo, Francesco De (2023-03-06). "Hogwarts Legacy Vulkan DXVK 2.1 ASYNC Mod Reduces Texture Loading Stutter". Wccftech. Retrieved 2024-05-31.
  18. Larabel, Michael (2022-11-10). "DXVK 2.0 Released With Many Improvements For Direct3D Over Vulkan". www.phoronix.com. Retrieved 2023-05-20.
  19. "Driver support". GitHub. Retrieved 2024-07-17.
  20. "Release Version 2.1 · doitsujin/dxvk". GitHub. Retrieved 2023-10-21.
  21. microsoft/D3D11On12, Microsoft, 2024-07-07, retrieved 2024-07-08
  22. stevewhims (2021-12-30). "Direct3D 11 on 12 - Win32 apps". learn.microsoft.com. Retrieved 2024-07-08.
  23. "DXVK 2.2 Released With D3D11On12 Support, Many Game Fixes". www.phoronix.com. Retrieved 2024-05-31.
  24. Wilson, Jason R. (2023-05-13). "DXVK 2.2 Launches With D3D11On12 Support For Unity Engine, Game Fixes & More". Wccftech. Retrieved 2024-05-31.
  25. "Release Version 2.2 · doitsujin/dxvk". GitHub. Retrieved 2023-10-21.
  26. "Release Version 2.4 · doitsujin/dxvk". GitHub. Retrieved 2024-07-10.
  27. "DXVK 2.4 Released With Direct3D 8 Support, Native WSI Improvements". www.phoronix.com. Retrieved 2024-07-21.
  28. "DXVK 2.5 Brings Memory Management Rewrite & Other Improvements". www.phoronix.com. Retrieved 2024-11-11.
  29. "Linux Gamers Banned in Battlefield V if Using Wine and DXVK". BleepingComputer. Retrieved 2024-05-31.
  30. "Some Linux Gamers Using Wine/DXVK To Play Blizzard's Overwatch Banned - Updated". www.phoronix.com. Retrieved 2024-05-31.
  31. "Caution: Playing 'Overwatch' On Linux May Get You Banned". North America. Retrieved 2024-05-31.
  32. "Some Linux Gamers Using Wine/DXVK To Play Blizzard's Overwatch Banned - Slashdot". tech.slashdot.org. 2018-09-14. Retrieved 2024-05-31.