Original author(s) | Philip Rebohle |
---|---|
Developer(s) | DXVK Project |
Initial release | 14 January 2018 |
Stable release | 2.5.3 / 13 January 2025 |
Repository | DXVK on GitHub |
Written in | C++ |
Operating system | OS Independent |
Platform | x86, x86-64 |
License | zlib License |
Website | github |
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]
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]
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.
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.
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.
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.
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.
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.
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.
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.
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.
LunarG is an American software company specializing in device driver development for video cards.
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 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.
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.