protonscr

Since "PrefersNonDefaultGPU=true", Steam client now defaults to the "wrong" GPU

steamopen
ValveSoftware/steam-for-linux#8983 · opened 2022-12-12 by Saroumane · updated 2026-02-17 · 5 comments · github
1 matching comments, n / p to jump
SSaroumane 2022-12-12 github

Your system information

Ubuntu 22.10
Xorg
Steam Build Dec 1 2022
2 discrete graphics card : a modern Radeon RX 5700 XT (default card) + a very old Radeon HD6450 (not vulkan capable, used for its analog VGA out, plugged to a CRT)

From vulkaninfo :

VK_LAYER_MESA_device_select (Linux device selection layer) Vulkan version 1.3.211, layer version 1:
    Layer Extensions: count = 0
    Devices: count = 2
        GPU id = 0 (AMD Radeon RX 5700 XT (RADV NAVI10))
        Layer-Device Extensions: count = 0

        GPU id = 1 (llvmpipe (LLVM 15.0.2, 256 bits))
        Layer-Device Extensions: count = 0 

Obviously I want to use the default powerful card, except for old (80s - 90s - early 2000s) games

Please describe your issue in as much detail as possible:

I discovered that gamescope (which use vulkan) was suddenly crashing everytime I tried to use it.
After a long search, I found that the problem disappeared when I launched steam from command-line instead of the desktop shortcut.
The culprit was indeed in the steam.desktop :
PrefersNonDefaultGPU=true
As stated above, I do want to use my default GPU, the Radeon RX 5700 XT :)

Workaround

remove PrefersNonDefaultGPU=true from steam.desktop
=> seems to work but can be overwritten at anytime by a steam update ?

or add "DRI_PRIME=0" in Launch Options of every game (very tedious)

Real solution

We could have a GUI setting to choose globally GPU used.
It is not exactly this https://github.com/ValveSoftware/steam-for-linux/issues/634 : because now we are forced (without tweaking) to use the secondary GPU, whatever it is.

BBeinsezii 2023-06-12 github

Also I've found if your 2nd gpu isn't connected to a display, it causes the client to attempt launch on a desktop that doesn't exist. Ever since I've enabled my iGPU I've found that the client gets stuck in a loop trying to launch if you use steam.desktop

Ttctimmeh 2023-07-23 github

Just ran into this on an ASUS laptop. I have two monitors connected via USB hub so maybe that's causing confusion? If it helps these are my displays:

  *-display                 
       description: VGA compatible controller
       product: Alder Lake-P Integrated Graphics Controller
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       logical name: /dev/fb0
       version: 0c
       width: 64 bits
       clock: 33MHz
       capabilities: pciexpress msi pm vga_controller bus_master cap_list rom fb
       configuration: depth=32 driver=i915 latency=0 mode=2880x1620 resolution=2880,1620 visual=truecolor xres=2880 yres=1620
       resources: iomemory:610-60f iomemory:400-3ff irq:211 memory:614e000000-614effffff memory:4000000000-400fffffff ioport:3000(size=64) memory:c0000-dffff memory:4010000000-4016ffffff memory:4020000000-40ffffffff
  *-display
       description: Display controller
       product: DG2 [Arc A370M]
       vendor: Intel Corporation
       physical id: 0
       bus info: pci@0000:04:00.0
       version: 05
       width: 64 bits
       clock: 33MHz
       capabilities: pciexpress msi pm bus_master cap_list rom
       configuration: driver=i915 latency=0
       resources: iomemory:600-5ff irq:212 memory:87000000-87ffffff memory:6000000000-60ffffffff memory:88000000-881fffff
RRua 2023-07-31 github

I ran into the issue, and it was fixed by this. I'm running a Ryzen 7600, which has integrated graphics, and an RX 580 dedicated card.

Ttheofficialgman 2024-01-22 github

Still a problem in 2024. Steam please fix this. I want to use my default GPU

Jjakkdl 2026-02-17 github

Also I've found if your 2nd gpu isn't connected to a display, it causes the client to attempt launch on a desktop that doesn't exist. Ever since I've enabled my iGPU I've found that the client gets stuck in a loop trying to launch if you use steam.desktop

I'm also getting this

Workaround

remove PrefersNonDefaultGPU=true from steam.desktop
=> seems to work but can be overwritten at anytime by a steam update ?

You can create a modified ~/.local/share/applications/steam.desktop file that will take presedence over the default /usr/share/applications/steam.desktop - and which then won't be touched by your package manager.