doitsujin / dxvk

Vulkan-based implementation of D3D8, 9, 10 and 11 for Linux / Wine
zlib License
12.84k stars 827 forks source link

FAQ meta-issue #88

Closed roothorick closed 6 years ago

roothorick commented 6 years ago

Post solutions to common (or not-so-common) problems here!

I can't compile! There's a bunch of weird syntax-related errors.

Some popular distros' MinGW packages (most notably Ubuntu 16.04) are too old to compile dxvk. If you already have another machine running a more recent distro, just build it there and copy the binaries over; if not, the path of least resistance is likely to create a Docker container for building, as @ChristophHaag details here: https://haagch.frickel.club/files/dxvk/how_to_docker_build.txt

32bit games aren't working!

Make sure you have both 64bit AND 32bit Vulkan libraries and drivers.

On Ubuntu this means installing libvulkan1 AND libvulkan1:i386 and the appropriate driver package. For Nvidia binary drivers, the single nvidia-### package will suffice; AMD users need mesa-vulkan-drivers AND mesa-vulkan-drivers:i386.

I have an Intel CPU and an AMD discrete GPU, and things aren't working!

Even though your onboard may be "disabled", it's still usable as a headless GPU. Depending on the order Mesa presents them in, dxvk may try to use it, which won't work. The workaround is to prevent the Intel Vulkan driver from being loaded, via this environment variable:

export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.x86_64.json:/usr/share/vulkan/icd.d/radeon_icd.i686.json

The paths may need to be adjusted depending on where your distro puts things.

IngeniousDox commented 6 years ago

Would be handy to add that Haagch has nightly builds set up: https://haagch.frickel.club/files/dxvk/

And that for NVidia, Vesim has a branch with a workaround: https://github.com/vesim987/dxvk

ChristophHaag commented 6 years ago

Just adding that some games will not even start or hang when the Steam Overlay is enabled (for example Skyrim SE).

fagoatse commented 6 years ago

Why not just move this FAQ to the wiki?

roothorick commented 6 years ago

Grand Theft Auto V crashes at the start of the opening Rockstar logo

Some things are missing or not quite working right in the 11.x feature levels yet. Put DXVK_FEATURE_LEVEL=10_1 in your environment for now.

roothorick commented 6 years ago

I'm using Vesim's branch and Grand Theft Auto V crashes after the Rockstar logos

GTAV will crash if shader compilation takes too long. Running SPIR-V optimization on the fly takes too long. You must run spirv-opt on the shaders manually.

  1. Download the SPIRV Tools binary package for Linux and extract it somewhere.
  2. unset DXVK_SPIRV_OPT_PATH and DXVK_SPIRV_OPT
  3. Set DXVK_SHADER_DUMP_PATH and DXVK_SHADER_READ_PATH to two different folders.
  4. Launch the game (DO NOT select Online). Let it load into the main menu, then quit.
  5. Run cd <shader dump path>; ls | parallel -j0 <path of spirv-opt> --legalize-hlsl {} <shader dump path>/{}. Wait for it to finish. There's 4-5 shaders that take a long time, just be patient.
  6. Launch the game again. It should get into gameplay fine now.
ChristophHaag commented 6 years ago

In mesa git and/or stable there are some issues with HIZ. RADV_DEBUG=nohiz may help.

Example Skyrim SE:

TiZ-HugLife commented 6 years ago

Okay so I think there is something that merits discussion of some sort, and an official answer in this FAQ. You have closed and locked an issue suggesting the creation of a patreon without discussion, and you have deleted comments from myself and another contributor offering to purchase a game for you for testing purposes also without discussion. It looks really dodgy for you to be doing that. And it'll look even dodgier if you delete this comment too without some sort of official word or statement on why you cannot accept monetary or game contributions in exchange for or as utility to your work here.

tl;dr: You can't accept gifts. That's fine, but please state that along with the reasoning either here or somewhere else easily visible so we know why you're closing/locking issues and deleting comments.

shmerl commented 6 years ago

Just for the benefit of the participants. There might be some valid reason why @doitsujin can't talk about it. So let's not pressure this if he doesn't comment.

doitsujin commented 6 years ago

Closing as we have most of this info on the wiki these days.