DXVK

Last updated
DXVK
Developer(s) DXVK Project
Initial release14 January 2018;6 years ago (14 January 2018)
Stable release
2.3.1 / 20 March 2024;3 months ago (20 March 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 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, DXVK 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, and general improvements to performance and stability across numerous games. [17] [18]

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

Released on May 12, 2023, DXVK 2.2 added D3D11On12 support. [20] [21] [22]

Controversies

The use of Wine/DXVK has been associated with users getting banned [23] [24] [25] [26] 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">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 it is 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.

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

Mac gaming refers to the use of video games on Macintosh personal computers. In the 1990s, Apple computers did not attract the same level of video game development as Microsoft Windows computers due to the high popularity of Microsoft Windows and, for 3D gaming, Microsoft's DirectX technology. In recent years, the introduction of Mac OS X and support for Intel processors has eased porting of many games, including 3D games through use of OpenGL and more recently Apple's own Metal API. Virtualization technology and Boot Camp also permit the use of Windows and its games on Macintosh computers. Today, a growing number of popular games run natively on macOS, though as of early 2019, a majority still require the use of Microsoft Windows.

Linux-based operating systems can be used for playing video games. Because many games are not natively supported for the Linux kernel, various software has been made to run Windows games, 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">Timothee Besset</span> French software programmer

Timothée Besset is a French software programmer, best known for supporting Linux, as well as some Macintosh, ports of id Software's products. He was involved with the game ports of various id properties through the 2000s, starting with Quake III Arena. Since the development of Doom 3 he was also in charge of the multiplayer network code and various aspects of game coding for id, a role which had him heavily involved in the development of their online game QuakeLive. Since departing id in January 2012 he has worked as a software contractor, including for Valve Software.

<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.

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 a 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.

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 computer by Valve

The Steam Deck is a handheld gaming computer developed by Valve and released on February 25, 2022. The device uses Valve's Linux distribution SteamOS, which incorporates the namesake Steam storefront. SteamOS uses Valve's Proton compatibility layer, allowing users to run Windows applications and games. In addition to handheld use, the Steam Deck can be connected to a Television or monitor through a docking station and be used like a desktop computer or home video game console. In desktop mode, users can install third-party applications for Linux.

<span class="mw-page-title-main">Intel Arc</span> Graphics processing unit brand

Intel Arc is a brand of graphics processing units designed by Intel. These are discrete GPUs mostly marketed for the high-margin PC gaming market. The brand also covers Intel's consumer graphics software and services.

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. "Release Version 2.1 · doitsujin/dxvk". GitHub. Retrieved 2023-10-21.
  20. "DXVK 2.2 Released With D3D11On12 Support, Many Game Fixes". www.phoronix.com. Retrieved 2024-05-31.
  21. Wilson, Jason R. (2023-05-13). "DXVK 2.2 Launches With D3D11On12 Support For Unity Engine, Game Fixes & More". Wccftech. Retrieved 2024-05-31.
  22. "Release Version 2.2 · doitsujin/dxvk". GitHub. Retrieved 2023-10-21.
  23. "Linux Gamers Banned in Battlefield V if Using Wine and DXVK". BleepingComputer. Retrieved 2024-05-31.
  24. "Some Linux Gamers Using Wine/DXVK To Play Blizzard's Overwatch Banned - Updated". www.phoronix.com. Retrieved 2024-05-31.
  25. "Caution: Playing 'Overwatch' On Linux May Get You Banned". North America. Retrieved 2024-05-31.
  26. "Some Linux Gamers Using Wine/DXVK To Play Blizzard's Overwatch Banned - Slashdot". tech.slashdot.org. 2018-09-14. Retrieved 2024-05-31.