DX11 issues starting Proton games

I have trouble starting some proton enables games in steam. Specifically Chess Ultra and Gorgogoa . Both are platinum according to ProtonDB and both have similar error messages, so maybe it is related.

Chess Ultra complains: “DX11 feature level 10.0 is required to run the engine.”

Gorgogoa complains: “Failed to initialize graphics. Make sure you have DirectX 11 installed, have up to date drivers for your graphics card and have not disabled 3D accelartion in display settings.”

I have a AMD Radeon R9 290 GPU, and installed the nonfree AMD drivers (as far as I know). I tried several versions of proton (experimental, 7.x, 6.x, 5.x). And I tried the option “PROTON_USE_WINED3D11=1” in the launch options in Steam. Nothing worked.

Anyone any idea what I am doing wrong or ideas of what I could try? I am new to Manjaro and have little experience, so it might be a lot of things I don’t get right.

That would be correct:

PROTON_USE_WINED3D=1

dx11 is always enabled and can be only disabled. However, it could be possible that vulkan doesn’t work. Without wined3d it uses always vulkan, otherwise opengl.

Does this report any errors?

vulkaninfo

Is amdvlk and lib32-amdvlk installed?

It seems I don’t have the native drivers installed anyway. Vulkaninfo (after installen vulkan-tools) says:

ERROR: [../mesa-22.0.3/src/amd/vulkan/radv_device.c:597] Code 0 : Device '/dev/dri/renderD128' is not using the AMDGPU kernel driver: Invalid argument (VK_ERROR_INCOMPATIBLE_DRIVER)
ERROR: [Loader Message] Code 0 : setup_loader_term_phys_devs:  Failed to detect any valid GPUs in the current config
ERROR at /build/vulkan-tools/src/Vulkan-Tools-1.3.207/vulkaninfo/vulkaninfo.h:230:vkEnumeratePhysicalDevices failed with ERROR_INITIALIZATION_FAILED

So, how do I install the amdgpu drivers? According to mhwd -li, I have now installed the free driver “video-linux” version 2018.05.04.

amdvlk and lib32-amdvlk are not installed.

edit: when I do

sudo mhwd -a pci nonfree 0300

I get

> Skipping already installed config 'video-linux' for device: 0000:01:00.0 (0300:1002:67b1) Display controller ATI Technologies Inc Hawaii PRO [Radeon R9 290/390]

So I guess I have the right drivers?

for intel , amdgpu , radeon , APU amd this is Free driver ( non free drivers is for NVIDIA and hybrid NVIDIA cards )

sudo mhwd -a pci free 0300
sudo mhwd -a pci free 0300

This gives the same response as before, unfortunately.

can you return

inxi -Fza

Normally it has been installed by default, but must be loaded. That reveals what driver you use:

inxi -Gazy

So you installed this driver? AMD Radeon Software Crimson Edition 15.12 Proprietary Linux x86 Display Driver

System Requirements

Before attempting to install the AMD Radeon Software Crimson Edition Linux 15.12 Proprietary Graphics Driver, the following software must be installed:

Xorg/Xserver 7.4 and above (up to 1.17)
Linux kernel 2.6 or above (up to 3.19)
glibc version 2.2 or 2.3
POSIX Shared Memory (/dev/shm) support is required for 3D applications

NOTE: If a Linux 2.6.11 or newer kernel was built with CONFIG_AGP enabled, the kernel AGP frontend is required to load the fglrx kernel module. To identify whether your kernel with CONFIG_AGP enabled, look for CONFIG_AGP=y in the kernel config file, or if the ‘agpgart’ module is loaded

I wonder if that even work on Manjaro?

Or do you mean AMDGPU-Pro? So this package: amdgpu-pro-libgl ?

If so, then you must set the correct icd.

ls /usr/share/vulkan/icd.d/

then choose the correct one:

export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/amd_icd64.json

and execute again:

vulkaninfo
inxi -Gazy

gives:

Graphics:
  Device-1: AMD Hawaii PRO [Radeon R9 290/390] driver: radeon v: kernel
    alternate: amdgpu pcie: gen: 3 speed: 8 GT/s lanes: 16 ports:
    active: DVI-D-2 empty: DP-1,DVI-D-1,HDMI-A-1 bus-ID: 01:00.0
    chip-ID: 1002:67b1 class-ID: 0300
  Display: x11 server: X.Org v: 21.1.3 compositor: xfwm v: 4.16.1 driver: X:
    loaded: radeon unloaded: modesetting alternate: fbdev,vesa gpu: radeon
    display-ID: :0.0 screens: 1
  Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x285mm (20.00x11.22")
    s-diag: 582mm (22.93")
  Monitor-1: DVI-D-2 mapped: DVI-1 model: HP V241a serial: <filter>
    built: 2014 res: 1920x1080 hz: 60 dpi: 102 gamma: 1.2
    size: 476x268mm (18.74x10.55") diag: 595mm (23.4") ratio: 16:9 modes:
    max: 1920x1080 min: 720x400
  Message: Unable to show GL data. Required tool glxinfo missing.

So you installed this driver? AMD Radeon Software Crimson Edition 15.12 Proprietary Linux x86 Display Driver

I didn’t. I meant that during install of Manjaro I chose ‘nonfree’. For the rest I have a clean install and no changes compared to default. So no AMDGPU-Pro. Do I need that?

I also found this on the ArchWiki. Might that be relevant?

Ah well… nonfree is only a trigger for nvidia. amd is fully open source beside its “pro-libraries”. So if it is not nvidia, then it will fallback to open source drivers.

However… I would first try to deal with the radeon driver, before enabling the experimental support for amdgpu.

So radeon driver, there you need to install this:

pamac install vulkan-radeon lib32-vulkan-radeon

Then force to use this:

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

and run this at the same terminal session:

vulkaninfo

or like that:

VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.x86_64.json vulkaninfo

I literally copied your commands. vulkan-radeon en lib32-vulkan-radeon where already installed. The last command results in this message:

ERROR: [../mesa-22.0.3/src/amd/vulkan/radv_device.c:597] Code 0 : Device '/dev/dri/renderD128' is not using the AMDGPU kernel driver: Invalid argument (VK_ERROR_INCOMPATIBLE_DRIVER)
ERROR: [Loader Message] Code 0 : setup_loader_term_phys_devs:  Failed to detect any valid GPUs in the current config
ERROR at /build/vulkan-tools/src/Vulkan-Tools-1.3.207/vulkaninfo/vulkaninfo.h:230:vkEnumeratePhysicalDevices failed with ERROR_INITIALIZATION_FAILED

So what’s wrong with the radeon driver?

The radeon driver does not support Vulkan, only amdgpu does. You can try installing amdgpu-experimental and reboot. If it works, you’ll boot successfully and running inxi -Gazy will report the driver as amdgpu. If it doesn’t work, you will not boot successfully. If that happens, switch to a TTY, remove amdgpu-experimental and reboot.

1 Like

I must apologize. @Yochanan is correct. The radeon driver does not support vulkan; you need to switch to the amdgpu driver for that.

There are 2 libaries for vulkan at AMD:

  • /usr/lib/libvulkan_radeon.so
  • /usr/lib32/libvulkan_radeon.so
  • /usr/lib/amdvlk64.so
  • /usr/lib32/amdvlk32.so

Both are only usable by the amdgpu driver and not by the old radeon driver.

Yes, it works! With amdgpu-experimental everything works as expected. Thanks a lot stephane, megavolt and yochanan!

Are there any downsides to using amdgpu-experimental, even if everything seems to work? Is it less efficient, can I expect glitches or some such?

1 Like

Most things should work, but you can expect problems with apm, fans etc. But if you are satisfied with the given performance, it should be okay.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.