Skip to content

libgamemode.so unavailable inside pressure-vessel container, game process cannot self-register with GameMode #814

Description

@smithyyang

Environment

  • OS: Arch Linux
  • Kernel: 6.19.11-zen1-1-zen
  • GPU: NVIDIA (driver 595.58.03)
  • umu-launcher: 1.4.0 (system) / 1.4.0 (Faugus bundled)
  • GE-Proton: 10-34
  • steamrt3 runtime
  • GameMode: active (gamemoded -s confirms)

Problem

When launching a game through pressure-vessel (via umu-launcher, Steam, or directly), the following error appears repeatedly in logs:

gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory

GameMode IS active on the host — gamemoded -s returns gamemode is active — but game processes inside the container cannot load libgamemode.so, so they cannot self-register with the GameMode daemon. As a result, per-process optimizations such as renice and CPU pinning do not apply to the game process.

Reproduction

The issue is reproducible regardless of launcher. Even when bypassing all third-party launchers and launching directly:

PROTONPATH=GE-Proton10-34 WINEPREFIX=~/.local/share/wineprefixes/test gamemoderun umu-run /path/to/game.exe

The error still appears, confirming this is not a launcher configuration issue.

What was attempted

  1. LD_PRELOAD=/usr/lib/libgamemodeauto.so — no effect inside container
  2. PRESSURE_VESSEL_FILESYSTEMS_RW=/usr/lib/libgamemode.so.0.0.0 — rejected:

    pressure-vessel-wrap: W: Not sharing path because "/usr" is reserved by the container framework

  3. Copying libgamemode.so to pressure-vessel overrides directory — no effect
  4. LD_PRELOAD=/usr/lib/libgamemodeauto.so:/usr/lib/libgamemode.so (via Faugus) — dlopen failed disappears, but game process still not registered with GameMode daemon

Tested launchers

Launcher dlopen failed GameMode active Process registered
Faugus + LD_PRELOAD workaround ✅ gone
Steam + gamemoderun ❌ present
Direct umu-run + gamemoderun ❌ present

Expected behavior

Game processes inside the pressure-vessel container should be able to load libgamemode.so and self-register with the GameMode daemon, similar to how native Linux games work.

Related

some logs:


 PROTONPATH=GE-Proton10-34 WINEPREFIX=~/Games/Faugus/wutheringwaves gamemoderun umu-run \
           ~/Games/WutheringWaves/Client/Binaries/Win64/Client-Win64-Shipping.exe
INFO: umu-launcher version 1.3.0 (3.14.3 (main, Feb 13 2026, 15:31:44) [GCC 15.2.1 20260209])
INFO: No GAMEID set, using umu-default
INFO: steamrt3 is up to date
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
ProtonFixes[107373] INFO: Running protonfixes on "GE-Proton10-34", build at 2026-03-23 03:55:11+00:00.
ProtonFixes[107373] INFO: Running checks
ProtonFixes[107373] INFO: All checks successful
ProtonFixes[107373] WARN: Game title not found in CSV
ProtonFixes[107373] INFO: Non-steam game UNKNOWN (umu-default)
ProtonFixes[107373] INFO: No store specified, using UMU database
ProtonFixes[107373] INFO: Using early stage global defaults for UNKNOWN (umu-default)
ProtonFixes[107373] INFO: Non-steam game UNKNOWN (umu-default)
ProtonFixes[107373] INFO: No store specified, using UMU database
ProtonFixes[107373] INFO: No early stage global protonfix found for UNKNOWN (umu-default)
ProtonFixes[107373] INFO: Running protonfixes on "GE-Proton10-34", build at 2026-03-23 03:55:11+00:00.
ProtonFixes[107373] INFO: Running checks
ProtonFixes[107373] INFO: All checks successful
ProtonFixes[107373] INFO: Non-steam game UNKNOWN (umu-default)
ProtonFixes[107373] INFO: No store specified, using UMU database
ProtonFixes[107373] INFO: Using main stage global defaults for UNKNOWN (umu-default)
ProtonFixes[107373] INFO: Non-steam game UNKNOWN (umu-default)
ProtonFixes[107373] INFO: No store specified, using UMU database
ProtonFixes[107373] INFO: No main stage global protonfix found for UNKNOWN (umu-default)
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
Proton: /home/youngshine/Games/WutheringWaves/Client/Binaries/Win64/Client-Win64-Shipping.exe
Proton: Executable a unix path, launching with /unix option.
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
fsync: up and running.
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
^CTraceback (most recent call last):
  File "/usr/bin/umu-run", line 8, in <module>
    sys.exit(main())
             ~~~~^^
  File "/usr/lib/python3.14/site-packages/umu/__main__.py", line 90, in main
    return umu_run(args)
  File "/usr/lib/python3.14/site-packages/umu/umu_run.py", line 910, in umu_run
    return run_command(command)
  File "/usr/lib/python3.14/site-packages/umu/umu_run.py", line 666, in run_command
    ret = run_in_steammode(proc) if is_steammode else proc.wait()
                                                      ~~~~~~~~~^^
  File "/usr/lib/python3.14/subprocess.py", line 1278, in wait
    return self._wait(timeout=timeout)
           ~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.14/subprocess.py", line 2083, in _wait
    (pid, sts) = self._try_wait(0)
                 ~~~~~~~~~~~~~~^^^
  File "/usr/lib/python3.14/subprocess.py", line 2041, in _try_wait
    (pid, sts) = os.waitpid(self.pid, wait_flags)
                 ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
KeyboardInterrupt

log of steam:

chdir "/home/youngshine/Games/WutheringWaves/Client/Binaries/Win64/"
ERROR: ld.so: object '/home/youngshine/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/youngshine/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/youngshine/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Game Recording - would start recording game 17697682656126304256, but recording for this game is disabled
Adding process 101893 for gameID 17697682656126304256
ERROR: ld.so: object '/home/youngshine/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
gamemodeauto: 
ERROR: ld.so: object '/home/youngshine/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
gamemodeauto: 
ERROR: ld.so: object '/home/youngshine/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/youngshine/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Adding process 101954 for gameID 17697682656126304256
Adding process 101955 for gameID 17697682656126304256
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
ProtonFixes[102045] INFO: Running protonfixes on "GE-Proton10-34", build at 2026-03-23 03:55:11+00:00.
ProtonFixes[102045] INFO: Running checks
ProtonFixes[102045] INFO: All checks successful
ProtonFixes[102045] INFO: Using early stage global defaults for UNKNOWN (0)
ProtonFixes[102045] INFO: No early stage global protonfix found for UNKNOWN (0)
Adding process 102045 for gameID 17697682656126304256
ProtonFixes[102045] INFO: Running protonfixes on "GE-Proton10-34", build at 2026-03-23 03:55:11+00:00.
ProtonFixes[102045] INFO: Running checks
ProtonFixes[102045] INFO: All checks successful
ProtonFixes[102045] INFO: Using main stage global defaults for UNKNOWN (0)
ProtonFixes[102045] INFO: No main stage global protonfix found for UNKNOWN (0)
Adding process 102046 for gameID 17697682656126304256
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
fsync: up and running.
Adding process 102051 for gameID 17697682656126304256
Adding process 102052 for gameID 17697682656126304256
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
Adding process 102053 for gameID 17697682656126304256
Adding process 102056 for gameID 17697682656126304256
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
Adding process 102058 for gameID 17697682656126304256
Adding process 102061 for gameID 17697682656126304256
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
Adding process 102070 for gameID 17697682656126304256
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
Adding process 102075 for gameID 17697682656126304256
Adding process 102082 for gameID 17697682656126304256
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
Adding process 102114 for gameID 17697682656126304256
Adding process 102124 for gameID 17697682656126304256
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
Adding process 102126 for gameID 17697682656126304256
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
Adding process 102135 for gameID 17697682656126304256
gamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
Adding process 102300 for gameID 17697682656126304256

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions