protonscr

Steam doesn't work correctly with the external GPU setup

steamclosed
ValveSoftware/steam-for-linux#8120 · opened 2021-10-02 by radistmorse · updated 2023-06-16 · 4 comments · github
Rradistmorse 2021-10-02 github

Your system information

  • Steam client version (build number or date): 1631912732 (Sep 17 2021 04:27:28)
  • Distribution (e.g. Ubuntu): Fedora 34 x64
  • Opted into Steam client beta?: No
  • Have you checked for system updates?: Yes

Please describe your issue in as much detail as possible:

I have a laptop with intel videocard (TigerLake-LP GT2 Iris Xe), and an external videocard in eGPU box attached through thunderbolt (AMD Vega 56). The external monitor is attached to the AMD card, and the laptop monitor is switched off.

The system recognises the intel card as /dev/dri/card0, and AMD as /dev/dri/card1. But the GNOME DE is launched on the AMD card, so it is the default for mesa, and launching anything with DRI_PRIME=1 fails. glxinfo shows the details of the AMD card.

Still, steam uses the intel card for its hardware acceleration, so when you switch these features on everything becomes super slow. My guess is that thunderbolt throughput becomes a bottleneck.

Steps for reproducing this issue:

  1. Use the eGPU with the monitor attached to it
  2. Launch the DE on the external GPU, thus making it "primary"
  3. Launch steam with the HW acceleration options on
  4. Enjoy your lags
Kkisak-valve maintainer 2021-10-02 github

Hello @radistmorse, if you completely close Steam, then run steam from a terminal, does it run on the GPU you expected?

Rradistmorse 2021-10-02 github

Not sure how exactly should I see it. Here is the full log

Running Steam on fedora 34 64-bit
STEAM_RUNTIME is enabled automatically
Steam runtime environment up-to-date!
Steam client's requirements are satisfied
WARNING: Using default/fallback debugger launch
/home/morse/.local/share/Steam/ubuntu12_32/steam
[2021-10-02 14:08:28] Startup - updater built Sep 17 2021 04:27:28
Installing breakpad exception handler for appid(steam)/version(1631912732)
[2021-10-02 14:08:28] Loading cached metrics from disk (/home/morse/.local/share/Steam/package/steam_client_metrics.bin)
[2021-10-02 14:08:28] Using the following download hosts for Public, Realm steamglobal
[2021-10-02 14:08:28] 1. https://cdn.akamai.steamstatic.com, /client/, Realm 'steamglobal', weight was 100, source = 'update_hosts_cached.vdf'
[2021-10-02 14:08:28] 2. https://cdn.cloudflare.steamstatic.com, /client/, Realm 'steamglobal', weight was 100, source = 'update_hosts_cached.vdf'
[2021-10-02 14:08:28] 3. http://media.steampowered.com, /client/, Realm 'steamglobal', weight was 1, source = 'baked in'
Installing breakpad exception handler for appid(steam)/version(1631912732)
[2021-10-02 14:08:28] Verifying installation...
[2021-10-02 14:08:28] Verification complete
Loaded SDL version 2.0.17-6744061
Gtk-Message: 14:08:28.682: Failed to load module "pk-gtk-module"
Installing breakpad exception handler for appid(steam)/version(1631912732)
Runtime for steamwebhelper: defaulting to /home/morse/.local/share/Steam/ubuntu12_64/steam-runtime-heavy
+ exec /home/morse/.local/share/Steam/ubuntu12_64/steam-runtime-heavy.sh --unpack-dir=/home/morse/.local/share/Steam/ubuntu12_64 --runtime=steam-runtime-heavy -- ./steamwebhelper -lang=en_US -cachedir=/home/morse/.local/share/Steam/config/htmlcache -steampid=3320 -buildid=1631912732 -steamid=0 -cachedir=/home/morse/.local/share/Steam/config/htmlcache -steamuniverse=Public -realm=Global -clientui=/home/morse/.local/share/Steam/clientui --enable-blink-features=ResizeObserver,Worklet,AudioWorklet --enable-media-stream --enable-smooth-scrolling --password-store=basic --log-file=/home/morse/.local/share/Steam/logs/cef_log.txt --disable-quick-menu
Installing breakpad exception handler for appid(steam)/version(1631912732)
Installing breakpad exception handler for appid(steam)/version(1631912732)
Installing breakpad exception handler for appid(steam)/version(1631912732)
Installing breakpad exception handler for appid(steam)/version(1631912732)
Installing breakpad exception handler for appid(steam)/version(1631912732)
Installing breakpad exception handler for appid(steam)/version(1631912732)
Installing breakpad exception handler for appid(steam)/version(1631912732)
Installing breakpad exception handler for appid(steam)/version(1631912732)
Installing breakpad exception handler for appid(steam)/version(1631912732)
CAppInfoCacheReadFromDiskThread took 113 milliseconds to initialize
Installing breakpad exception handler for appid(steam)/version(1631912732)
Installing breakpad exception handler for appid(steam)/version(1631912732)
Installing breakpad exception handler for appid(steam)/version(1631912732)
Installing breakpad exception handler for appid(steam)/version(1631912732)
Installing breakpad exception handler for appid(steam)/version(1631912732)
Proceed to auto login
Installing breakpad exception handler for appid(steam)/version(1631912732)
Opted-in Controller Mask for AppId 0: 0

(steam:3320): Gtk-WARNING **: 14:08:29.751: gtk_disable_setlocale() must be called before gtk_init()
MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0

Installing breakpad exception handler for appid(steam)/version(1631912732)
MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0

roaming config store loaded successfully - 2500 bytes.
migrating temporary roaming config store
BRefreshApplicationsInLibrary 1: 10ms
Installing breakpad exception handler for appid(steam)/version(1631912732)
Installing breakpad exception handler for appid(steam)/version(1631912732)
Failed to init SteamVR because it isn't installed
ExecCommandLine: "'/home/morse/.local/share/Steam/ubuntu12_32/steam'"
System startup time: 3.90 seconds
Installing breakpad exception handler for appid(steam)/version(1631912732)
BuildCompleteAppOverviewChange: 375
RegisterForAppOverview 1: 12ms
RegisterForAppOverview 2: 12ms
Installing breakpad exception handler for appid(steam)/version(1631912732)
Installing breakpad exception handler for appid(steam)/version(1631912732)
Installing breakpad exception handler for appid(steam)/version(1631912732)
Installing breakpad exception handler for appid(steam)/version(1631912732)
Installing breakpad exception handler for appid(steam)/version(1631912732)
Installing breakpad exception handler for appid(steam)/version(1631912732)
Installing breakpad exception handler for appid(steam)/version(1631912732)
Installing breakpad exception handler for appid(steam)/version(1631912732)
Installing breakpad exception handler for appid(steam)/version(1631912732)
Installing breakpad exception handler for appid(steam)/version(1631912732)
Installing breakpad exception handler for appid(steam)/version(1631912732)
Installing breakpad exception handler for appid(steam)/version(1631912732)
Installing breakpad exception handler for appid(steam)/version(1631912732)
Installing breakpad exception handler for appid(steam)/version(1631912732)
Installing breakpad exception handler for appid(steam)/version(1631912732)
Installing breakpad exception handler for appid(steam)/version(1631912732)
Installing breakpad exception handler for appid(steam)/version(1631912732)
Installing breakpad exception handler for appid(steam)/version(1631912732)
Installing breakpad exception handler for appid(steam)/version(1631912732)
Installing breakpad exception handler for appid(steam)/version(1631912732)
Installing breakpad exception handler for appid(steam)/version(1631912732)
Installing breakpad exception handler for appid(steam)/version(1631912732)
Installing breakpad exception handler for appid(steam)/version(1631912732)
Exiting workitem thread

(steam:3320): GLib-GObject-CRITICAL **: 14:09:06.306: g_object_unref: assertion 'G_IS_OBJECT (object)' failed

(steam:3320): GLib-GObject-WARNING **: 14:09:06.307: invalid (NULL) pointer instance

(steam:3320): GLib-GObject-CRITICAL **: 14:09:06.307: g_signal_handlers_disconnect_matched: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed

(steam:3320): GLib-GObject-CRITICAL **: 14:09:06.307: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
[2021-10-02 14:09:06] Shutdown

The warnings from MESA-INTEL suggest that at least some parts of steam use intel's card.

On the other hand if I enter "big picture" mode, it works flawlessly, so I guess some other parts of steam use the "correct" card.

Rradistmorse 2022-12-17 github

Hello @kisak-valve. The issue is still there, and makes steam practically unusable on linux with eGPU setups. Are there any plans for this?

Rradistmorse 2023-06-16 github

fixed with the latest update

Nothing extracted yet.