Check out our Monthly Survey Page to see what our users are running.
The Witcher 3 in Wine
Page: «37/88»
  Go to:
Faattori 8 Mar 2018
So I uncountered a weird bug / feature while testing the wine-devel 3.3 version. My FPS is locked to 30 except the inventory is locked to 60. No settings seems to unlock either of them. Limiting FPS from the game graphics menu to 30 does limit the inventory FPS to 30, but unlimited still locks them to 30 in game and 60 in inventory.

Changing from borderless/full screen/windowed, enabling/disabling VSYNC in game or from drivers does nothing.

I haven't yet tried to completely nuke my settings, but would anyone have any guess what is going on or has encountered this already?

Spoiler, click me

Also Hairworks hair "works".
![](https://i.imgur.com/g7YR3hL.png)
devland 8 Mar 2018
Can you please explain how you built it? See my questions above.

That's not my video. It's from this reddit thread: https://www.reddit.com/r/linux_gaming/comments/82te09/dxvk_85d28f7_the_witcher_3_wild_hunt_nvidia/
Shmerl 8 Mar 2018
I'll experiment with building later today. The instructions are confusing, but I suspect it needs actual binary wine-vulkan to be installed and available in the path.
YoRHa-2B 8 Mar 2018
In case you don't feel like building dxvk, I just created a new binary release (v0.31 which contains all the tessellation stuff and a bunch of fixes for the game (Lighting now works correctly as well).

In order to build it, you'll need wine in $PATH, but any wine will do (it's only relevant for automated tests, but since there are no automated tests at the moment, it's not used during the build process). wine-vulkan is only required for running anything with dxvk.

As for wine-vulkan, yes, you need to set up the Vulkan SDK. Just follow these instructions and see if you can get cube.exe from the SDK to run.
Shmerl 8 Mar 2018
In order to build it, you'll need wine in $PATH, but any wine will do (it's only relevant for automated tests, but since there are no automated tests at the moment, it's not used during the build process). wine-vulkan is only required for running anything with dxvk.

Ah, thanks for clarifying, that makes sense. Since I was building inside a VM, it has only minimally required set of packages, and the build complained that wine wasn't found, and I wasn't sure whether it needs regular or vulkanized Wine :) May be you can update the instructions to differentiate build vs runtime requirements, since currently they say:

Build instructions
Requirements:
wine-vulkan for Vulkan support
...

which is misleading.

As for wine-vulkan, yes, you need to set up the Vulkan SDK. Just follow these instructions and see if you can get cube.exe from the SDK to run.

Thanks! I'll play around with it later today, and hopefully will build dxvk master to give it a try with TW3.

Meanwhile, Vulkan patches are gradually coming into upstream Wine. Will it also depend on Vulkan SDK somehow? It sounds like somewhat extraneous requirement that shouldn't be really needed.
andda715 8 Mar 2018
So I uncountered a weird bug / feature while testing the wine-devel 3.3 version. My FPS is locked to 30 except the inventory is locked to 60. No settings seems to unlock either of them. Limiting FPS from the game graphics menu to 30 does limit the inventory FPS to 30, but unlimited still locks them to 30 in game and 60 in inventory.

Locked to 15,20,30,60 etc is fixed by:
swapchain fix

Reported in:
https://bugs.winehq.org/show_bug.cgi?id=44623
hilpara 8 Mar 2018
I just compiled wine-vulkan and downloaded the DXVK 0.31 and this is how it looks like with RX580. On menu I get fixed 60fps and then this when I try to play

![](https://i.imgur.com/mEmRBny.png)
YoRHa-2B 8 Mar 2018
@hilpara try mesa-git, some games don't work well with 17.3.x due to a bunch of RADV bugs that have been fixed in -git. You may also have to set RADV_DEBUG=nohiz.
hilpara 8 Mar 2018
I did try with RADV_DEBUG=nohiz. No difference. I will try with mesa-git.

..... or maby not. I don't know how to do it on Solus without breaking everything.
Shmerl 8 Mar 2018
I did try with RADV_DEBUG=nohiz. No difference. I will try with mesa-git.

..... or maby not. I don't know how to do it on Solus without breaking everything.

See how it can be done on Debian: https://www.gamingonlinux.com/wiki/Building_Mesa_from_source

Apply same idea to your distro.
Freidonuten 8 Mar 2018
Just wanted to share with you that I just tried Witcher with 2.21 staging with the just released dxvk 0.31 and so far very smooth experience. I just walked around for a minute because I don't have much time to play but seemed like more than 20fps even on max details (hairworks off, doesn't work). Maybe the time to stop living and start playing TW3 has come... So go grab dxvk and have fun! :)

Linux Mint Cinnamon, 4.13.0-36-generic, AMD A8-7600, GTX 960 2GB binary 390.25
Shmerl 9 Mar 2018
OK, trying to build dxvk. Fails like this:

[1/118] Compiling C++ object 'src/util/util@sta/log_log_debug.cpp.obj'.
FAILED: src/util/util@sta/log_log_debug.cpp.obj 
/usr/bin/x86_64-w64-mingw32-g++ -Og -gdwarf-2 -Isrc/util/util@sta -Isrc/util -I../src/util -I.././include -fdiagnostics-color=always -pipe -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++1z -O3 -MMD -MQ 'src/util/util@sta/log_log_debug.cpp.obj' -MF 'src/util/util@sta/log_log_debug.cpp.obj.d' -o 'src/util/util@sta/log_log_debug.cpp.obj' -c ../src/util/log/log_debug.cpp
In file included from ../src/util/log/log_debug.h:5:0,
                 from ../src/util/log/log_debug.cpp:1:
../src/util/log/log.h:49:10: error: ‘mutex’ in namespace ‘std’ does not name a type
     std::mutex    m_mutex;
          ^~~~~


UPDATE:

Found this detail: https://github.com/doitsujin/dxvk#troubleshooting
Changing default mingw compilers with update-alternatives helps.
Shmerl 9 Mar 2018
Is wine-vulkan only using Vulkan 1.0.51 loader? Instructions say to set that in json.
Shmerl 9 Mar 2018
OK, I installed SDK inside the prefix, configured the json, and run setup for dxvk which created symlinks. Now running d3d11-triangle.exe using Mesa master wnd wine-vulkan, produces:

err:   DxvkInstance::getExtensions: Extension VK_KHR_surface not supported
Failed to create DXGI factory


vulkaninfo.exe from inside Wine produces:

0009:err:vulkan:wine_vk_init Failed to load Wine graphics driver supporting Vulkan.
0009:fixme:setupapi:CM_Get_Device_ID_List_SizeW 0x23ec50 L"{4d36e968-e325-11ce-bfc1-08002be10318}" 0x00000300: stub
0009:fixme:setupapi:CM_Get_Device_ID_ListW L"{4d36e968-e325-11ce-bfc1-08002be10318}" 0x78e10 0 0x00000300: stub
0009:fixme:setupapi:CM_Locate_DevNodeW 0x23ec4c L"\3830\0008" 0x00000000: stub
0009:fixme:setupapi:CM_Get_Device_ID_List_SizeW 0x23ece0 L"{4d36e968-e325-11ce-bfc1-08002be10318}" 0x00000300: stub
0009:fixme:setupapi:CM_Get_Device_ID_ListW L"{4d36e968-e325-11ce-bfc1-08002be10318}" 0x78de0 0 0x00000300: stub
0009:fixme:setupapi:CM_Locate_DevNodeW 0x23ecdc L"\5030\0007" 0x00000000: stub
0009:fixme:setupapi:CM_Get_Device_ID_List_SizeW 0x23e810 L"{4d36e968-e325-11ce-bfc1-08002be10318}" 0x00000300: stub
0009:fixme:setupapi:CM_Get_Device_ID_ListW L"{4d36e968-e325-11ce-bfc1-08002be10318}" 0x83830 0 0x00000300: stub
0009:fixme:setupapi:CM_Locate_DevNodeW 0x23e80c L"\5030\0007" 0x00000000: stub
0009:err:vulkan:wine_vk_init Failed to load Wine graphics driver supporting Vulkan.
0009:fixme:setupapi:CM_Get_Device_ID_List_SizeW 0x23ec50 L"{4d36e968-e325-11ce-bfc1-08002be10318}" 0x00000300: stub
0009:fixme:setupapi:CM_Get_Device_ID_ListW L"{4d36e968-e325-11ce-bfc1-08002be10318}" 0x78e10 0 0x00000300: stub
0009:fixme:setupapi:CM_Locate_DevNodeW 0x23ec4c L"\3830\0008" 0x00000000: stub
0009:fixme:setupapi:CM_Get_Device_ID_List_SizeW 0x23ed40 L"{4d36e968-e325-11ce-bfc1-08002be10318}" 0x00000300: stub
0009:fixme:setupapi:CM_Get_Device_ID_ListW L"{4d36e968-e325-11ce-bfc1-08002be10318}" 0x78ed0 0 0x00000300: stub
0009:fixme:setupapi:CM_Locate_DevNodeW 0x23ed3c L"\5030\0007" 0x00000000: stub
ERROR: [Loader Message] Code 0 : loaderGetDeviceRegistryFiles: failed to open DevNode 0P
0009:fixme:setupapi:CM_Get_Device_ID_List_SizeW 0x23ed40 L"{4d36e968-e325-11ce-bfc1-08002be10318}" 0x00000300: stub
0009:fixme:setupapi:CM_Get_Device_ID_ListW L"{4d36e968-e325-11ce-bfc1-08002be10318}" 0x76750 0 0x00000300: stub
0009:fixme:setupapi:CM_Locate_DevNodeW 0x23ed3c L"\02f0\0001" 0x00000000: stub
ERROR: [Loader Message] Code 0 : loaderGetDeviceRegistryFiles: failed to open DevNode ≡
0009:fixme:setupapi:CM_Get_Device_ID_List_SizeW 0x23e920 L"{4d36e968-e325-11ce-bfc1-08002be10318}" 0x00000300: stub
0009:fixme:setupapi:CM_Get_Device_ID_ListW L"{4d36e968-e325-11ce-bfc1-08002be10318}" 0x7b1c0 0 0x00000300: stub
0009:fixme:setupapi:CM_Locate_DevNodeW 0x23e91c L"\0110\0001" 0x00000000: stub
ERROR: [Loader Message] Code 0 : loaderGetDeviceRegistr


May be that's because I installed the latest SDK for 1.1. Should I use one for 1.0.x? I expected it to keep backwards compatibility.
Shmerl 9 Mar 2018
Nope, exactly same story happens with older SDK (1.0.68):

err:   DxvkInstance::getExtensions: Extension VK_KHR_surface not supported

Or with vulkaninfo.exe:

ERROR: [loader] Code 0 : Failed to open dynamic library "c:\windows\system32\winevulkan.dll" with error 1114
Cannot create Vulkan instance.
C:\VulkanSDKBuild\workspace\LoaderAndValidationLayers\demos\vulkaninfo.c:808: failed with VK_ERROR_INCOMPATIBLE_DRIVER


Quite messy.
YoRHa-2B 9 Mar 2018
@Shmerl Does drive_c/windows/system32/winevulkan.dll exist at all in your wine prefix? If not, you probably forgot to run autoconf while building it.
Shmerl 9 Mar 2018
It exists, but I didn't run autoconf indeed. Trying now with it.
Shmerl 9 Mar 2018
Nope, doesn't make a difference. Same result really. I was building wine-vulkan inside a VM if it affects anything. May be it needs matching Vulkan to be installed to configure correctly?
Shmerl 9 Mar 2018
Witcher 3 + DXVK 0.31
Imgur Album

How did you build / install wine-vulkan? The process is quite messy, I might just wait until upstream Wine will have proper Vulkan support.
Shmerl 9 Mar 2018
Is that correct? HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432NodeKhronos\Vulkan\Drivers
Looks like it should be HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Khronos\Vulkan\Drivers

Also, using "C:\Windows\winevulkan.json" doesn't work with regedit. You need to use "C:\\Windows\\winevulkan.json"

Anyway, I built wine-vulkan as above, but no dice.
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register



Buy Games
Buy games with our affiliate / partner links: