0

Proton is working fine with the latest DXVK implementation but when I browse on the log files of the games used by Proton I notice a mismatch between the mesa driver version of my host system and the listed there. What I know so far is that dxvk is a bridge so calls from D3D10/D3D11 can be translated to Vulkan and processed in your host system, thus relying on your graphical driver and the Vulkan mesa driver (Amdgpu RADV in my case).

These are the mesa driver version and the apiversion used by Vulkan listed on the log of the game loaded by Proton (a win64 game):

AMD RADV POLARIS10 (LLVM 7.0.1):
Driver: 18.3.6
Vulkan: 1.1.70

The output of vulkaninfo reports apiversion "1.1.90" which is different form the version "1.1.70" used on Proton:

Vulkan Instance Version: 1.1.107
GPU id : 0
(AMD RADV POLARIS10 (LLVM 8.0.0))
apiVersion = 0x40105a (1.1.90)
driverInfo = Mesa 19.1.0 (LLVM 8.0.0)

The output from glxinfo agrees on the mesa driver version and on the version of LLVM displayed on vulkaninfo:

OpenGL renderer string: Radeon RX 570 Series (POLARIS10, DRM 3.30.0, 5.1.14-arch1-1-ARCH, LLVM 8.0.0)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 19.1.0

Also, before the vulkan environment initialization happens, the following DLLs are loaded as reported by the log of the game:

Loaded L"C:\windows\system32\vulkan-1.dll" at 0x7fa05e6e0000: builtin

Loaded L"C:\windows\system32\winevulkan.dll" at 0x7fa05e6a0000: builtin

Maybe these DLLs are the causative of such a mismatch.

EDIT: When opening another game on Lutris with custom DXVK_HUD options I can see that both vulkan API version and mesa version match respective versions on my host. Still don't know why Proton has that behaviour.

Summarizing

  1. LLVM version from Proton is different from the version found on my graphics driver: LLVM 7.0.1 (Proton) - LLVM 8.0.0 (Host)
  2. Mesa driver version from Proton is different from the version of the mesa driver that provides GL and VK implementation on my host system: Mesa 18.3.6 (Proton) - Mesa 19.1.0 (Host)
  3. Vulkan API version from Proton is different from the version used by the implementation of Vulkan as reported by vulkaninfo: 1.1.70 (Proton) - 1.1.90 (Host)

I'm missing something here AFAIK Proton doesn't provide it's own mesa implementation. Can anyone shed some light and tell me why such a mismatch exists between these versions?

0

The problem was that my steam installation came from Flathub repository where the runtime is loaded in an isolated environment (sandbox). Therefore steam cannot see far from its root path (/home/user/var/app.valve...). It seems that the isolation was the cause to display such mismatch between version when running DXVK_HUD but I cannot confirm as you will see in the 3rd paragraph.

Probably the Flathub's steam was reading my host package versions badly, reporting incorrect versions but using them as well since I haven't even LLVM 7 installed, then how come can DXVK_HUD say that I'm using it?

From now, I've solved the issue by removing the Flathub version of steam and installing the package located in multilib (32 bit ARCH repo). Now versions of Mesa, Vulkan-API and LLVM match between my host and the ones displayed by DXVK_HUD. I start to think that this issue may exist between users of the Flathub's steam version, but who knows I haven't found any post online discussing my problem.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.