lutris / lutris

Lutris desktop client
https://lutris.net
GNU General Public License v3.0
7.58k stars 674 forks source link

Detected steam games not being launched properly #5525

Open november781 opened 2 weeks ago

november781 commented 2 weeks ago

Bug description

when trying to launch a game that was installed on steam and detected by lutris, the game just exits without launching. This is because Lutris is failing to pass in a game ID when running /usr/bin/steam steam://rungameid/. In order for a game to launch, its application ID needs to be appended to the end of that command. IE for Balatro it should look like /usr/bin/steam steam://rungameid/2379780

How to Reproduce

  1. install a game through steam. Not through lutris using the steam installer
  2. refresh your steam installed games in the lutris app so the new game is detected
  3. attempt to launch the game

Expected behavior

The game should launch.

Log output

INFO     2024-06-30 01:46:35,005 [application.do_command_line:479]:Starting Lutris 0.5.17
INFO     2024-06-30 01:46:35,087 [startup.run_all_checks:120]:AMD Radeon RX 7800 XT (1002:747e 1eae:7801 amdgpu) Driver 24.1.2
DEBUG    2024-06-30 01:46:35,238 [xrandr.get_resolutions:91]:Retrieving resolution list
DEBUG    2024-06-30 01:46:35,240 [xrandr._get_vidmodes:18]:Retrieving 68 video modes from XrandR
DEBUG    2024-06-30 01:46:35,289 [path_cache._update_missing_games:114]:Checking for missing games
DEBUG    2024-06-30 01:46:35,318 [api.check_stale_runtime_versions:52]:Modified at Sun 30 Jun 2024 01:24:20 AM , will update after Sun 30 Jun 2024 07:24:20 AM 
DEBUG    2024-06-30 01:46:35,327 [lutriswindow.create_runtime_updater_cb:1244]:Runtime up to date
ERROR    2024-06-30 01:46:35,329 [style_manager._call_cb:87]:Error reading color-scheme: g-dbus-error-quark: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface “org.freedesktop.portal.Settings” on object at path /org/freedesktop/portal/desktop (19)
Traceback (most recent call last):
  File "/usr/lib/python3.12/site-packages/lutris/style_manager.py", line 80, in _call_cb
    values = obj.call_finish(result)
             ^^^^^^^^^^^^^^^^^^^^^^^
gi.repository.GLib.GError: g-dbus-error-quark: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface “org.freedesktop.portal.Settings” on object at path /org/freedesktop/portal/desktop (19)
INFO     2024-06-30 01:46:39,853 [runner.use_runtime:413]:Runtime disabled by system configuration
INFO     2024-06-30 01:46:39,854 [runner_interpreter.get_launch_parameters:38]:Do not enable Mangodhud for Steam games in Lutris. Edit the launch options in Steam and set them to mangohud %%command%%
INFO     2024-06-30 01:46:39,854 [runner.use_runtime:413]:Runtime disabled by system configuration
DEBUG    2024-06-30 01:46:39,854 [xrandr.get_outputs:26]:Retrieving display outputs
DEBUG    2024-06-30 01:46:39,856 [xrandr._get_vidmodes:18]:Retrieving 68 video modes from XrandR
lutris-wrapper: Balatro
Started initial process 112976 from /usr/bin/steam steam://rungameid/
Start monitoring process.
steam.sh[112976]: Running Steam on fedora 40 64-bit
steam.sh[112976]: STEAM_RUNTIME is enabled automatically
setup.sh[113049]: Steam runtime environment up-to-date!
Monitored process exited.
Initial process has exited (return code: 0)
All processes have quit
Exit with return code 0
DEBUG    2024-06-30 01:46:40,214 [monitored_command.on_stop:228]:Process 112974 has terminated with code 0
DEBUG    2024-06-30 01:46:41,866 [game.beat:924]:Game thread stopped
WARNING  2024-06-30 01:46:41,866 [game.on_game_quit:962]:Game still running (state: running)
INFO     2024-06-30 01:46:41,866 [game.stop:935]:Stopping Balatro (steam)
DEBUG    2024-06-30 01:46:41,866 [game.stop_game:891]:Balatro (steam) has run for 2 seconds
WARNING  2024-06-30 01:46:41,866 [game.stop_game:893]:The game has run for a very short time, did it crash?
DEBUG    2024-06-30 01:46:41,867 [application.on_game_stopped:794]:Removing 12 from running IDs
DEBUG    2024-06-30 01:46:41,874 [game.stop_game:903]:Playtime: Less than a minute
DEBUG    2024-06-30 01:46:41,874 [game.on_game_quit:980]:Balatro stopped at Sun, 30 Jun 2024 01:46:41
DEBUG    2024-06-30 01:46:41,902 [path_cache.add_to_path_cache:47]:Adding Balatro (steam) to path cache
WARNING  2024-06-30 01:46:41,902 [game.get_path_from_config:652]:No path found in LutrisConfig(level=game, game_config_id=steam-2379780-1709080958, runner=steam)
WARNING  2024-06-30 01:46:41,902 [path_cache.add_to_path_cache:50]:No path for Balatro (steam)
INFO     2024-06-30 01:46:56,495 [application.do_shutdown:1051]:Shutting down Lutris

System Information

Vulkan support: YES
Esync support: YES
Fsync support: YES
Wine installed: YES
Gamescope: YES
Mangohud: YES
Gamemode: YES
Steam: YES
In Flatpak: NO
[System]
OS: Fedora Linux 40 KDE Plasma
Arch: x86_64
Kernel: 6.9.6-200.fc40.x86_64
Desktop: KDE
Display Server: wayland
[CPU]
Vendor: AuthenticAMD
Model: AMD Ryzen 7 5800X3D 8-Core Processor
Physical cores: 8
Logical cores: 16
[Memory]
RAM: 31.3 GB
Swap: 8.0 GB
[Graphics]
Vendor: AMD
OpenGL Renderer: AMD Radeon RX 7800 XT (radeonsi, navi32, LLVM 18.1.6, DRM 3.57, 6.9.6-200.fc40.x86_64)
OpenGL Version: 4.6 (Compatibility Profile) Mesa 24.1.2
OpenGL Core: 4.6 (Core Profile) Mesa 24.1.2
OpenGL ES: OpenGL ES 3.2 Mesa 24.1.2
Vulkan Version: 1.3.283
Vulkan Drivers: AMD Radeon RX 7800 XT (RADV NAVI32) (1.3.278)

Media (optional)

No response

danieljohnson2 commented 2 weeks ago

I think what may be happening is that this game doesn't have an appid set.

Take a look at the game's configuration. Look for an "Application ID" setting. Is it blank?

november781 commented 2 weeks ago

I think what may be happening is that this game doesn't have an appid set.

Take a look at the game's configuration. Look for an "Application ID" setting. Is it blank?

Indeed it's blank. It's the same for all of my detected games.

I would personally consider it a bug that lutris is failing to populate that field on detection since the ID should be either collectable from the folder structure of the game or from something like protondb.

november781 commented 2 weeks ago

update: 4 games did auto-populate... But I dont have a pattern on which ones and why... Hades2, Manor lords, vampire survivors, and the Planetside2 test client all have the application ID populated but everything else does not

edit: it seems that games installed when lutris is running properly get their IDs populated but games that were either bulk added or installed with lutris shut down dont.