[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-71583":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":35,"readmeContent":36,"aiSummary":37,"trendingCount":16,"starSnapshotCount":16,"syncStatus":38,"lastSyncTime":39,"discoverSource":40},71583,"dxvk","doitsujin\u002Fdxvk","doitsujin","Vulkan-based implementation of D3D8, 9, 10 and 11 for Linux \u002F Wine","",null,"C++",17300,1138,272,309,0,31,78,201,93,119.17,"zlib License",false,"master",true,[27,28,29,30,31,32,33,34],"d3d11","d3d9","dxbc","gaming","linux","spir-v","vulkan","wine","2026-06-12 04:01:01","# DXVK\n\nA Vulkan-based translation layer for Direct3D 8\u002F9\u002F10\u002F11 which allows running 3D applications on Linux using Wine.\n\nFor the current status of the project, please refer to the [project wiki](https:\u002F\u002Fgithub.com\u002Fdoitsujin\u002Fdxvk\u002Fwiki).\n\nThe most recent development builds can be found [here](https:\u002F\u002Fgithub.com\u002Fdoitsujin\u002Fdxvk\u002Factions\u002Fworkflows\u002Fartifacts.yml?query=branch%3Amaster).\n\nRelease builds can be found [here](https:\u002F\u002Fgithub.com\u002Fdoitsujin\u002Fdxvk\u002Freleases).\n\n## How to use\nIn order to install a DXVK package obtained from the [release](https:\u002F\u002Fgithub.com\u002Fdoitsujin\u002Fdxvk\u002Freleases) page into a given wine prefix, copy or symlink the DLLs into the following directories as follows, then open `winecfg` and manually add `native` DLL overrides for `d3d8`, `d3d9`, `d3d10core`, `d3d11` and `dxgi` under the Libraries tab.\n\nIn a default Wine prefix that would be as follows:\n```\nexport WINEPREFIX=\u002Fpath\u002Fto\u002Fwineprefix\ncp x64\u002F*.dll $WINEPREFIX\u002Fdrive_c\u002Fwindows\u002Fsystem32\ncp x32\u002F*.dll $WINEPREFIX\u002Fdrive_c\u002Fwindows\u002Fsyswow64\nwinecfg\n```\n\nFor a pure 32-bit Wine prefix (non default) the 32-bit DLLs instead go to the `system32` directory:\n```\nexport WINEPREFIX=\u002Fpath\u002Fto\u002Fwineprefix\ncp x32\u002F*.dll $WINEPREFIX\u002Fdrive_c\u002Fwindows\u002Fsystem32\nwinecfg\n```\n\nVerify that your application uses DXVK instead of wined3d by enabling the HUD (see notes below).\n\nIn order to remove DXVK from a prefix, remove the DLLs and DLL overrides, and run `wineboot -u` to restore the original DLL files.\n\nTools such as Steam Play, Lutris, Bottles, Heroic Launcher, etc will automatically handle setup of dxvk on their own when enabled.\n\n#### DLL dependencies \nListed below are the DLL requirements for using DXVK with any single API.\n\n- d3d8: `d3d8.dll` and `d3d9.dll`\n- d3d9: `d3d9.dll`\n- d3d10: `d3d10core.dll`, `d3d11.dll` and `dxgi.dll`\n- d3d11: `d3d11.dll` and `dxgi.dll`\n\n### Notes on Vulkan drivers\nBefore reporting an issue, please check the [Wiki](https:\u002F\u002Fgithub.com\u002Fdoitsujin\u002Fdxvk\u002Fwiki\u002FDriver-support) page on the current driver status and make sure you run a recent enough driver version for your hardware.\n\n### Online multi-player games\nManipulation of Direct3D libraries in multi-player games may be considered cheating and can get your account **banned**. This may also apply to single-player games with an embedded or dedicated multiplayer portion. **Use at your own risk.**\n\n### HUD\nThe `DXVK_HUD` environment variable controls a HUD which can display the framerate and some stat counters. It accepts a comma-separated list of the following options:\n- `devinfo`: Displays the name of the GPU and the driver version.\n- `fps`: Shows the current frame rate.\n- `frametimes`: Shows a frame time graph.\n- `submissions`: Shows the number of command buffers submitted per frame.\n- `drawcalls`: Shows the number of draw calls and render passes per frame.\n- `pipelines`: Shows the total number of graphics and compute pipelines.\n- `descriptors`: Shows the number of descriptor pools and descriptor sets.\n- `memory`: Shows the amount of device memory allocated and used.\n- `allocations`: Shows detailed memory chunk suballocation info.\n- `gpuload`: Shows estimated GPU load. May be inaccurate.\n- `version`: Shows DXVK version.\n- `api`: Shows the D3D feature level used by the application.\n- `cs`: Shows worker thread statistics.\n- `compiler`: Shows shader compiler activity\n- `samplers`: Shows the current number of sampler pairs used *[D3D9 Only]*\n- `ffshaders`: Shows the current number of shaders generated from fixed function state *[D3D9 Only]*\n- `swvp`: Shows whether or not the device is running in software vertex processing mode *[D3D9 Only]*\n- `scale=x`: Scales the HUD by a factor of `x` (e.g. `1.5`)\n- `opacity=y`: Adjusts the HUD opacity by a factor of `y` (e.g. `0.5`, `1.0` being fully opaque).\n\nAdditionally, `DXVK_HUD=1` has the same effect as `DXVK_HUD=devinfo,fps`, and `DXVK_HUD=full` enables all available HUD elements.\n\n### Logs\nWhen used with Wine, DXVK will print log messages to `stderr`. Additionally, standalone log files can optionally be generated by setting the `DXVK_LOG_PATH` variable, where log files in the given directory will be called `app_d3d11.log`, `app_dxgi.log` etc., where `app` is the name of the game executable.\n\nOn Windows, log files will be created in the game's working directory by default, which is usually next to the game executable.\n\n### Device filter\nSome applications do not provide a method to select a different GPU. In that case, DXVK can be forced to use a given device:\n- `DXVK_FILTER_DEVICE_NAME=\"Device Name\"` Selects devices with a matching Vulkan device name, which can be retrieved with tools such as `vulkaninfo`. Matches on substrings, so \"VEGA\" or \"AMD RADV VEGA10\" is supported if the full device name is \"AMD RADV VEGA10 (LLVM 9.0.0)\", for example. If the substring matches more than one device, the first device matched will be used.\n- `DXVK_FILTER_DEVICE_UUID=\"00000000000000000000000000000001\"` Selects a device by matching its Vulkan device UUID, which can also be retrieved using tools such as `vulkaninfo`. The UUID must be a 32-character hexadecimal string with no dashes. This method provides more precise selection, especially when using multiple identical GPUs.\n\n**Note:** If the device filter is configured incorrectly, it may filter out all devices and applications will be unable to create a D3D device.\n\n### Debugging\nThe following environment variables can be used for **debugging** purposes.\n- `VK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_validation` Enables Vulkan debug layers. Highly recommended for troubleshooting rendering issues and driver crashes. Requires the Vulkan SDK to be installed on the host system.\n- `DXVK_LOG_LEVEL=none|error|warn|info|debug` Controls message logging.\n- `DXVK_LOG_PATH=\u002Fsome\u002Fdirectory` Changes path where log files are stored. Set to `none` to disable log file creation entirely, without disabling logging.\n- `DXVK_DEBUG=markers|validation` Enables use of the `VK_EXT_debug_utils` extension for translating performance event markers, or to enable Vulkan validation, respecticely.\n- `DXVK_CONFIG_FILE=\u002Fxxx\u002Fdxvk.conf` Sets path to the configuration file.\n- `DXVK_CONFIG=\"dxgi.hideAmdGpu = True; dxgi.syncInterval = 0\"` Can be used to set config variables through the environment instead of a configuration file using the same syntax. `;` is used as a seperator.\n- `DXVK_SHADER_CACHE=0`: Disables the internal shader cache.\n- `DXVK_SHADER_CACHE_PATH=\u002Fsome\u002Fdirectory`: Path to internal shader cache files. By default, this will use `%LOCALAPPDATA%\u002Fdxvk` in a Windows\n  or Wine environment, and `$HOME\u002F.cache` or `$XDG_CACHE_HOME` in a native Linux environment.\n\n### Graphics Pipeline Library\nOn drivers which support `VK_EXT_graphics_pipeline_library` Vulkan shaders will be compiled at the time the game loads its D3D shaders, rather than at draw time. This reduces or eliminates shader compile stutter in many games when compared to the previous system.\n\nIn games that load their shaders during loading screens or in the menu, this can lead to prolonged periods of very high CPU utilization, especially on weaker CPUs. For affected games it is recommended to wait for shader compilation to finish before starting the game to avoid stutter and low performance. Shader compiler activity can be monitored with `DXVK_HUD=compiler`.\n\n**Note:** Games which only load their D3D shaders at draw time (e.g. most Unreal Engine games) will still exhibit some stutter, although it should still be less severe than without this feature.\n\n## Build instructions\n\nIn order to pull in all submodules that are needed for building, clone the repository using the following command:\n```\ngit clone --recursive https:\u002F\u002Fgithub.com\u002Fdoitsujin\u002Fdxvk.git\n```\n\n### Requirements:\n- [wine 10.0](https:\u002F\u002Fwww.winehq.org\u002F) or newer\n- [Meson](https:\u002F\u002Fmesonbuild.com\u002F) build system (at least version 0.58)\n- [Mingw-w64](https:\u002F\u002Fwww.mingw-w64.org) compiler and headers (at least version 10.0)\n- [glslang](https:\u002F\u002Fgithub.com\u002FKhronosGroup\u002Fglslang) compiler\n\n### Building DLLs\n\n#### The simple way\nInside the DXVK directory, run:\n```\n.\u002Fpackage-release.sh master \u002Fyour\u002Ftarget\u002Fdirectory --no-package\n```\n\nThis will create a folder `dxvk-master` in `\u002Fyour\u002Ftarget\u002Fdirectory`, which contains both 32-bit and 64-bit versions of DXVK, which can be set up in the same way as the release versions as noted above.\n\nIn order to preserve the build directories for development, pass `--dev-build` to the script. This option implies `--no-package`. After making changes to the source code, you can then do the following to rebuild DXVK:\n```\n# change to build.32 for 32-bit\ncd \u002Fyour\u002Ftarget\u002Fdirectory\u002Fbuild.64\nninja install\n```\n\n#### Compiling manually\n```\n# 64-bit build. For 32-bit builds, replace\n# build-win64.txt with build-win32.txt\nmeson setup --cross-file build-win64.txt --buildtype release --prefix \u002Fyour\u002Fdxvk\u002Fdirectory build.w64\ncd build.w64\nninja install\n```\n\nThe D3D8, D3D9, D3D10, D3D11 and DXGI DLLs will be located in `\u002Fyour\u002Fdxvk\u002Fdirectory\u002Fbin`.\n\n### Build troubleshooting\nDXVK requires threading support from your mingw-w64 build environment. If you\nare missing this, you may see \"error: ‘std::cv_status’ has not been declared\"\nor similar threading related errors.\n\nOn Debian and Ubuntu, this can be resolved by using the posix alternate, which\nsupports threading. For example, choose the posix alternate from these\ncommands:\n```\nupdate-alternatives --config x86_64-w64-mingw32-gcc\nupdate-alternatives --config x86_64-w64-mingw32-g++\nupdate-alternatives --config i686-w64-mingw32-gcc\nupdate-alternatives --config i686-w64-mingw32-g++\n```\nFor non debian based distros, make sure that your mingw-w64-gcc cross compiler \ndoes have `--enable-threads=posix` enabled during configure. If your distro does\nship its mingw-w64-gcc binary with `--enable-threads=win32` you might have to\nrecompile locally or open a bug at your distro's bugtracker to ask for it. \n\n# DXVK Native\n\nDXVK Native is a version of DXVK which allows it to be used natively without Wine.\n\nThis is primarily useful for game and application ports to either avoid having to write another rendering backend, or to help with port bringup during development.\n\n[Release builds](https:\u002F\u002Fgithub.com\u002Fdoitsujin\u002Fdxvk\u002Freleases) are built using the Steam Runtime.\n\n### How does it work?\n\nDXVK Native replaces certain Windows-isms with a platform and framework-agnostic replacement, for example, `HWND`s can become `SDL_Window*`s, etc.\nAll it takes to do that is to add another WSI backend.\n\n**Note:** DXVK Native requires a backend to be explicitly set via the `DXVK_WSI_DRIVER` environment variable. The current built-in options are `SDL3`, `SDL2`, and `GLFW`.\n\nDXVK Native comes with a slim set of Windows header definitions required for D3D9\u002F11 and the MinGW headers for D3D9\u002F11.\nIn most cases, it will end up being plug and play with your renderer, but there may be certain teething issues such as:\n- `__uuidof(type)` is supported, but `__uuidof(variable)` is not supported. Use `__uuidof_var(variable)` instead.\n","DXVK 是一个基于Vulkan的Direct3D 8\u002F9\u002F10\u002F11实现，用于在Linux环境下通过Wine运行3D应用程序。该项目的核心功能是将Direct3D API调用转换为Vulkan调用，从而提高兼容性和性能。它支持多种DirectX版本，并且能够与Wine无缝集成，使得大量Windows游戏和应用能够在Linux上流畅运行。适用于需要在Linux系统中使用原本只支持Windows平台的游戏或软件的场景，特别是对于那些希望利用现代图形API优势同时保持良好兼容性的用户来说非常有用。",2,"2026-06-11 03:38:42","high_star"]