DXVK

Last updated
DXVK
Developer(s) DXVK Project
Initial release14 January 2018;6 years ago (14 January 2018)
Stable release
2.4.1 / 26 September 2024;47 days ago (26 September 2024)
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">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.

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.

<i>Quake II</i> engine Video game engine

The Quake II engine is a game engine developed by id Software for use in their 1997 first-person shooter Quake II. It is the successor to the Quake engine. Since its release, the Quake II engine has been licensed for use in several other games.

<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 for GameCube and Wii that runs on Windows, Linux, macOS, Android, Xbox One, Xbox Series X and Series S.

<span class="mw-page-title-main">PCSX2</span> PlayStation 2 video game console emulator

PCSX2 is a free and open-source PlayStation 2 emulator for Windows, Linux, and macOS that supports a wide range of PlayStation 2 video games with a high level of compatibility and functionality. Although PCSX2 can closely mirror the original gameplay experience on the PlayStation 2, PCSX2 supports a number of improvements over gameplay on a traditional PlayStation 2, such as the ability to use higher resolutions than native, anti-aliasing and texture filtering.

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 a Linux distribution developed by Valve. It incorporates Valve's popular namesake Steam video game storefront and is the primary operating system for the Steam Deck, Valve's portable gaming device, as well as Valve's earlier Steam Machines. SteamOS is open source with some closed source components.

<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, although Mantle supports the GPUs present in the PlayStation 4 and in the Xbox One. 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.

<span class="mw-page-title-main">Godot (game engine)</span> Cross-platform, open-source game engine

Godot is a cross-platform, free and open-source game engine released under the permissive MIT license. It was initially developed in Buenos Aires by Argentine software developers Juan Linietsky and Ariel Manzur for several companies in Latin America prior to its public release in 2014. The development environment runs on many platforms, and can export to several more. It is designed to create both 2D and 3D games targeting PC, mobile, and web platforms and can also be used to develop non-game software, including editors.

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">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 for 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, 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 3.0, a Linux-based operating system. The Steam Deck represents Valve's pivot towards a fully internal hardware development approach, following the challenges faced with Steam Machines' reliance on external manufacturers 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.; 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.