HeroicGamesLauncher
HeroicGamesLauncher copied to clipboard
GOG Linux native Dead Cells on Steam Deck misses libbsd
Describe the bug
Dead Cells installs fine, but does not launch. The error message says:
** ERROR ** Missing library libbsd.so.0
When starting the game with minigalaxy, it works fine in desktop mode.
The game is installed on the SD card here:
/run/media/mmcblk0p1/gog/Dead Cells
Add logs
(deck@steamdeck logs)$ pwd /home/deck/Games/Heroic/HeroicBashLauncher/GameFiles/logs (deck@steamdeck logs)$ cat DeadCells_Heroic.log ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. 3.32.0 ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. Using Bash Launcher v2.9.2 NOTE - This is an independent project and not affiliated with Heroic Games Launcher.
ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. Running Dead Cells ** ERROR ** Missing library libbsd.so.0 ** ERROR ** Missing library libbsd.so.0 ** ERROR ** Missing library libbsd.so.0 ** ERROR ** Missing library libbsd.so.0 ** ERROR ** Missing library libbsd.so.0 src/module.c(321) : FATAL ERROR : Failed to load library sdl.hdll Launch command: ['/run/media/mmcblk0p1/gog/Dead Cells/start.sh'] ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. pid 110 != 2, skipping destruction (fork without exec?)
Steps to reproduce
- Install Dead Cells from GOG, use Linux native version
- start game in heroic
Expected behavior
Game starts
Screenshots
Game starts
System Information
- OS: Steam OS (
Linux steamdeck 5.13.0-valve21.1-1-neptune-02211-gc54cda5a36f3 #1 SMP PREEMPT Mon, 08 Aug 2022 22:27:56 +0000 x86_64 GNU/Linux) - Heroic Version: 2.4.3
Additional information
No response
Interesstingly if I install heroic with pacman (yes, I disabled readonly) instead of using the flatpack version, Dead Cells starts just fine.
Interesstingly if I install heroic with pacman (yes, I disabled readonly) instead of using the flatpack version, Dead Cells starts just fine.
this means one thing: the flatpak runtime does not include this lib. HAve you tried to enable the Steam runtime on the game settings in Heroic? Might be that it works.
I think I tried that without success, but I am not sure. In the end I fell back to using pacman, but that is not a general solution to the problem. I would need to reinstall heroic and add all the games once again ...
Is there any other way on how to check this?
minigalaxy uses runtime/org.gnome.Platform/x86_64/42 and heroic uses runtime/org.freedesktop.Platform/x86_64/22.08 as far as I can tell.
I tried with the steam runtime with a flatpak install of heroic and it does not work.
I'd rename this to 'Executing native linux games from flatpak'.
I faced similar issues with 3 games:
- 1 dosbox game is missing
libcaca.so - 1 scummvm game is missing
libjpeg.so.8 - 1 native game is missing
libpng8.so
It seems games have no access to /usr/lib, because even putting a symlink to game-dir/libs/ (or something similar) has no effect.
For example:
...
Game Log:
Running The Pillars of the Earth
./pillars: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory
It looks like the player crashed! If you need support, please include the
contents of the log file in your problem report.
Unfortunately, no log file has been created!
Launch command: ['/home/deck/Games/Heroic/The Pillars of the Earth/start.sh']
But:
deck@steamdeck ~> ll /home/deck/Games/Heroic/The\ Pillars\ of\ the\ Earth/game/libs64/
total 111M
-rw-r--r-- 1 deck deck 21M Mar 13 2018 libGalaxy64.so
-rw-r--r-- 1 deck deck 75M Mar 13 2018 libGalaxyPeer64.so
-rw-r--r-- 1 deck deck 11M Mar 13 2018 libavcodec.so.56
-rw-r--r-- 1 deck deck 15K Mar 13 2018 libavdevice.so.56
-rw-r--r-- 1 deck deck 1.1M Mar 13 2018 libavfilter.so.5
-rw-r--r-- 1 deck deck 1.9M Mar 13 2018 libavformat.so.56
-rw-r--r-- 1 deck deck 319K Mar 13 2018 libavutil.so.54
-rw-r--r-- 1 deck deck 680K Mar 13 2018 libopenal.so
lrwxrwxrwx 1 deck deck 20 Dec 3 12:27 libpng12.so.0 -> /usr/lib/libpng12.so*
-rw-r--r-- 1 deck deck 107K Mar 13 2018 libswresample.so.1
-rw-r--r-- 1 deck deck 475K Mar 13 2018 libswscale.so.3
-rw-r--r-- 1 deck deck 101K Mar 13 2018 libz.so.1
Manually executing /home/deck/Games/Heroic/The Pillars of the Earth/start.sh works fine.
I can confirm that adding the start.sh directly to steam or calling it directly works fine.
I tried with the steam runtime with a flatpak install of heroic and it does not work.
One thing, for the Steam runtime to work you need to confirm that the path to steam is correct on Heroic settings. If you have the Steam flatpak then that setting needs to be changed.
@flavioislima thank you for looking into this!
I tried with different settings in heroic, but unfortunately to no avail yet:
- FAILS fresh install of dead cells started from heroic
- FAILS dead cells set to "use steam runtime" in heroic
- WORKS run start.sh from dead cells in desktop mode
- WORKS add start.sh as non-steam game to steam
Here are some configs:
Dead Cells log:
System Info:
Heroic Version: 2.5.1 Yamato
Legendary Version: 0.20.31 Dark Energy (hotfix #5)
GOGdl Version: 0.5
OS: Freedesktop SDK KERNEL: 5.13.0-valve21.3-1-neptune ARCH: x64
CPU: AMD Custom APU 0405 @2.4 GOVERNOR: schedutil
RAM: Total: 14.49 GiB Available: 11.31 GiB
GRAPHICS: GPU0: VanGogh [AMD Custom GPU 0405] VRAM: 512MB
PROTOCOL: x11
Game Settings: {
"autoInstallDxvk": false,
"autoInstallVkd3d": false,
"preferSystemLibs": false,
"maxSharpness": 2,
"nvidiaPrime": false,
"enviromentOptions": [],
"wrapperOptions": [],
"savesPath": "",
"showFps": false,
"targetExe": "",
"useGameMode": false,
"useSteamRuntime": true,
"language": "",
"wineVersion": {
"bin": "",
"name": "Default Wine - Not Found",
"type": "wine"
},
"winePrefix": "/home/deck/Games/Heroic/Prefixes/Dead Cells",
"eacRuntime": false,
"battlEyeRuntime": false,
"gogSaves": []
}
Game launched at: Sun Dec 11 2022 11:58:32 GMT+0100 (Central European Standard Time)
Launch Command: /home/deck/.local/share/Steam/ubuntu12_32/steam-runtime/run.sh /app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/gogdl launch "/run/media/mmcblk0p1/gog/Dead Cells" 1237807960 --platform linux
Game Log:
Running Dead Cells
** ERROR ** Missing library libbsd.so.0
** ERROR ** Missing library libbsd.so.0
** ERROR ** Missing library libbsd.so.0
** ERROR ** Missing library libbsd.so.0
** ERROR ** Missing library libbsd.so.0
src/module.c(321) : FATAL ERROR : Failed to load library sdl.hdll
Launch command: ['/run/media/mmcblk0p1/gog/Dead Cells/start.sh']
All processes exited
Heroic Settings
{
"checkUpdatesInterval": 10,
"enableUpdates": false,
"addDesktopShortcuts": false,
"addStartMenuShortcuts": false,
"autoInstallDxvk": false,
"autoInstallVkd3d": false,
"addSteamShortcuts": true,
"preferSystemLibs": false,
"checkForUpdatesOnStartup": false,
"customWinePaths": [],
"defaultInstallPath": "/run/media/mmcblk0p1/gog",
"libraryTopSection": "recently_played_installed",
"defaultSteamPath": "/home/deck/.steam/steam",
"defaultWinePrefix": "/home/deck/Games/Heroic/Prefixes",
"hideChangelogsOnStartup": false,
"language": "en",
"maxWorkers": 0,
"minimizeOnLaunch": false,
"nvidiaPrime": false,
"enviromentOptions": [],
"wrapperOptions": [],
"showFps": false,
"useGameMode": false,
"userInfo": {
"epicId": "e7b0717ad5a7463fae23c0b13c11ee89",
"name": "deck"
},
"wineCrossoverBottle": "Heroic",
"winePrefix": "/home/deck/.wine",
"wineVersion": {
"bin": "/home/deck/.var/app/com.heroicgameslauncher.hgl/config/heroic/tools/wine/Wine-GE-Proton7-31/bin/wine",
"name": "Wine - Wine-GE-Proton7-31",
"type": "wine",
"lib": "/home/deck/.var/app/com.heroicgameslauncher.hgl/config/heroic/tools/wine/Wine-GE-Proton7-31/lib64",
"lib32": "/home/deck/.var/app/com.heroicgameslauncher.hgl/config/heroic/tools/wine/Wine-GE-Proton7-31/lib",
"wineserver": "/home/deck/.var/app/com.heroicgameslauncher.hgl/config/heroic/tools/wine/Wine-GE-Proton7-31/bin/wineserver",
"wineboot": "/home/deck/.var/app/com.heroicgameslauncher.hgl/config/heroic/tools/wine/Wine-GE-Proton7-31/bin/wineboot"
},
"altLegendaryBin": "",
"altGogdlBin": "",
"darkTrayIcon": false,
"disableController": false,
"egsLinkedPath": "",
"maxRecentGames": 5,
"showUnrealMarket": false,
"eacRuntime": false,
"battlEyeRuntime": false
}
Dead Cells Settings
{"appName":"1237807960","title":"Dead Cells","autoInstallDxvk":false,"autoInstallVkd3d":false,"preferSystemLibs":false,"maxSharpness":2,"nvidiaPrime":false,"enviromentOptions":[],"wrapperOptions":[],"savesPath":"","showFps":false,"targetExe":"","useGameMode":false,"useSteamRuntime":false,"language":"","wineVersion":{"bin":"","name":"Default Wine - Not Found","type":"wine"},"winePrefix":"/home/deck/Games/Heroic/Prefixes/Dead Cells","eacRuntime":false,"battlEyeRuntime":false,"gogSaves":[]}
I just tested with 2.12.0 flatpak and dead cells linux native works out of the box