HeroicGamesLauncher icon indicating copy to clipboard operation
HeroicGamesLauncher copied to clipboard

When flatpak is not installed, Scummvm games from GoG cannot launch

Open Kingwad opened this issue 1 year ago • 4 comments

Describe the bug

Running heroic natively installed, not using flatpak. Flatpak is not installed on the system. Running Scummvm games from GoG attempts to load flatpak version of scummvm and fails to fallback to alternate versions.

Add logs

Launching "Space Quest 4 - Roger Wilco and the Time Rippers" (gog)
Native? No
Installed in: /home/mhf/.local/share/Heroic/Space Quest 4

System Info:
CPU: 16x AMD Ryzen 7 4800H with Radeon Graphics
Memory: 16.15 GB (used: 11 GB)
GPUs:
  GPU 0:
    Name: Advanced Micro Devices, Inc. [AMD/ATI] Renoir [Radeon Vega Series / Radeon Vega Mobile Series]
    IDs: D=1636 V=1002 SD=1100 SV=1d05
    Driver: amdgpu
  GPU 1:
    Name: NVIDIA Corporation GA106M [GeForce RTX 3060 Mobile / Max-Q]
    IDs: D=2520 V=10de SD=1111 SV=1d05
    Driver: nvidia
OS: Gentoo 6.6.47-gentoo-dist (linux)

The current system is not a Steam Deck
We are not running inside a Flatpak container

Software Versions:
  Heroic: 2.15.1 Emeth
  Legendary: 0.20.35 Lowlife (Heroic)
  gogdl: 1.1.1
  comet: comet 0.1.2

  Nile: 1.1.1 Will A. Zeppeli

Game Settings: {
	"autoInstallDxvk": true,
	"autoInstallDxvkNvapi": false,
	"autoInstallVkd3d": true,
	"preferSystemLibs": false,
	"enableEsync": true,
	"enableMsync": false,
	"enableFsync": true,
	"nvidiaPrime": false,
	"enviromentOptions": [],
	"wrapperOptions": [],
	"showFps": false,
	"useGameMode": false,
	"battlEyeRuntime": false,
	"eacRuntime": false,
	"language": "",
	"beforeLaunchScriptPath": "",
	"afterLaunchScriptPath": "",
	"wineVersion": {
		"bin": "/etc/eselect/wine/bin/wine",
		"name": "Wine Default - wine-9.0",
		"type": "wine",
		"wineserver": "/etc/eselect/wine/bin/wineserver"
	},
	"winePrefix": "/home/mhf/.local/share/Heroic/Prefixes/default/Space Quest 4 - Roger Wilco and the Time Rippers",
	"wineCrossoverBottle": ""
}

Game launched at: Sun Sep 15 2024 11:20:49 GMT-0400 (Eastern Daylight Saving Time)

Winetricks packages: 

Launch Command: HEROIC_APP_NAME=1207661443 HEROIC_APP_RUNNER=gog GAMEID=umu-0 HEROIC_APP_SOURCE=gog STORE=gog STEAM_COMPAT_INSTALL_PATH="/home/mhf/.local/share/Heroic/Space Quest 4" LD_PRELOAD= WINEPREFIX="/home/mhf/.local/share/Heroic/Prefixes/default/Space Quest 4 - Roger Wilco and the Time Rippers" WINEDLLOVERRIDES=winemenubuilder.exe=d WINE_FULLSCREEN_FSR=0 WINEESYNC=1 WINEFSYNC=1 ORIG_LD_LIBRARY_PATH= /opt/heroic-2.15.1/resources/app.asar.unpacked/build/bin/x64/linux/gogdl launch "/home/mhf/.local/share/Heroic/Space Quest 4" 1207661443 --wine /etc/eselect/wine/bin/wine --platform windows

Game Log:
Traceback (most recent call last):
  File "gogdl/cli.py", line 67, in <module>
  File "gogdl/cli.py", line 62, in main
  File "gogdl/launch.py", line 82, in launch
  File "gogdl/launch.py", line 27, in get_flatpak_command
  File "subprocess.py", line 505, in run
  File "subprocess.py", line 951, in __init__
  File "subprocess.py", line 1837, in _execute_child
FileNotFoundError: [Errno 2] No such file or directory: 'flatpak'
[30886] Failed to execute script 'cli' due to unhandled exception!
============= End of log =============

Steps to reproduce

  • Without flatpak installed on system:
  • install native version of scummvm
  • Install GoG scummvm game via Heroic (eg. Space Quest 4)
  • Attempt to run game
  • remove native version of scummvm
  • Attempt to run game

Expected behavior

Heroic should not abort the search for an appropriate scummvm if flatpak is not installed. It should fail to launch the flatpak version, then attempt the other options in the expected order "flatpak scummvm, in path scummvm, wine scummvm"

Screenshots

No response

Heroic Version

Latest Stable

System Information

  • OS Gentoo

Additional information

No response

Kingwad avatar Sep 15 '24 15:09 Kingwad

A temporary workaround is to put a symbolic link to false called flatpak in the path. Then it will find the fake flatpak, which will error out, and successfully fallback to the scummvm in path or the wine version as expected.

Kingwad avatar Sep 15 '24 15:09 Kingwad

On inspecting the code, this issue should probably be moved to https://github.com/Heroic-Games-Launcher/heroic-gogdl, as the error is there.

https://github.com/Heroic-Games-Launcher/heroic-gogdl/blob/1ff09820915f855ea764c6e49ea2def63e86b3bb/gogdl/launch.py#L96

https://github.com/Heroic-Games-Launcher/heroic-gogdl/blob/1ff09820915f855ea764c6e49ea2def63e86b3bb/gogdl/launch.py#L106

Either catch the FileNotFoundError exception thrown by get_flatpak_command in both of these locations or don't throw the exception at all.

Kingwad avatar Sep 15 '24 15:09 Kingwad

this was solved in gogdl 1.1.2 https://github.com/Heroic-Games-Launcher/heroic-gogdl/releases/tag/v1.1.2

you can use that binary as an alternative binary in heroic temporarily until the next release (in settings > advanced)

arielj avatar Sep 15 '24 16:09 arielj

Thank you, I can confirm that heroic-gogdl 1.1.2 indeed works as expected

Kingwad avatar Sep 15 '24 16:09 Kingwad

closing since gogdl 1.1.2 was included in heroic 2.15.2

arielj avatar Jan 17 '25 03:01 arielj