lutris / buildbot

41 stars 25 forks source link

ScummVM missing multiple libraries on Fedora 35 #165

Closed jibsaramnim closed 1 year ago

jibsaramnim commented 2 years ago

Bug description

Attempting to run Lutris' own ScummVM on Fedora 35 fails as there seem to be quite a few missing libraries it expects. I had a similar issue with just one library before under a different Linux flavor, as described lutris/agora#84, but with Fedora there's more libraries missing.

That's as far as I got after manually "resolving" each missing library by symlinking fluidsynth and temporarily installing libjpeg8 and libcurl-gnutls, but I wasn't able to proceed after the last error so there might be additional libraries missing.

How to Reproduce

Steps to reproduce the behavior:

  1. Install any ScrummVM game through Lutris
  2. Attempt to launch it through Lutris
  3. It will fail, with the logs mentioning a missing library.
  4. Fixing/patching each library (ie. by symlinking to a version/variant that is installed) will expose the next missing library

Expected behavior

Have ScummVM work completely through Lutris, just like a system/flatpak installed version does.

Log output

2022-03-22 12:38:21,484: Magic not available. Unable to automatically find game executables. Please install python-magic
2022-03-22 12:38:21,516: Starting Lutris 0.5.9.1
2022-03-22 12:38:21,531: No cores found
2022-03-22 12:38:22,674: Failed to read content length on response from https://api.github.com/repos/lutris/dxvk/releases
2022-03-22 12:38:22,996: Failed to read content length on response from https://api.github.com/repos/lutris/dxvk-nvapi/releases
2022-03-22 12:38:23,311: Failed to read content length on response from https://api.github.com/repos/lutris/vkd3d/releases
2022-03-22 12:38:23,596: Startup complete
INFO     2022-03-22 12:38:23,597 [startup.check_driver:61]:Running AMD Mesa driver 22.1.0 on AMD Radeon RX 6800 XT (sienna_cichlid, LLVM 13.0.0, DRM 3.44, 5.16.12-200.fc35.x86_64) (0x73bf)
INFO     2022-03-22 12:38:23,597 [startup.check_driver:73]:GPU: 1002:73BF 1DA2:439E (amdgpu drivers)
DEBUG    2022-03-22 12:38:23,961 [lutriswindow.update_store:451]:Showing 12 games
DEBUG    2022-03-22 12:38:32,259 [application.show_window:259]:Showing window <class 'lutris.gui.config.preferences_dialog.PreferencesDialog'>{}
DEBUG    2022-03-22 12:39:06,468 [application.on_app_window_destroyed:276]:Removed window <class 'lutris.gui.config.preferences_dialog.PreferencesDialog'>{}
DEBUG    2022-03-22 12:41:31,892 [grid.on_item_activated:57]:Item activated: 4
DEBUG    2022-03-22 12:41:31,892 [lutriswindow.on_game_activated:833]:No service for view
DEBUG    2022-03-22 12:41:31,918 [command.start:139]:DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1="1"
DEBUG    2022-03-22 12:41:31,918 [command.start:139]:SDL_VIDEO_FULLSCREEN_DISPLAY="off"
DEBUG    2022-03-22 12:41:31,918 [command.start:139]:LD_LIBRARY_PATH="/lib64:/lib:/usr/lib64/pipewire-0.3/jack:/usr/lib64/iscsi:/usr/lib:/usr/lib64:/home/davejansen/.local/share/lutris/runtime/Ubuntu-18.04-i686:/home/davejansen/.local/share/lutris/runtime/steam/i386/lib/i386-linux-gnu:/home/davejansen/.local/share/lutris/runtime/steam/i386/lib:/home/davejansen/.local/share/lutris/runtime/steam/i386/usr/lib/i386-linux-gnu:/home/davejansen/.local/share/lutris/runtime/steam/i386/usr/lib:/home/davejansen/.local/share/lutris/runtime/Ubuntu-18.04-x86_64:/home/davejansen/.local/share/lutris/runtime/steam/amd64/lib/x86_64-linux-gnu:/home/davejansen/.local/share/lutris/runtime/steam/amd64/lib:/home/davejansen/.local/share/lutris/runtime/steam/amd64/usr/lib/x86_64-linux-gnu:/home/davejansen/.local/share/lutris/runtime/steam/amd64/usr/lib:$LD_LIBRARY_PATH"
DEBUG    2022-03-22 12:41:31,918 [command.start:139]:game_name="Blade Runner - GOG - ScummVM"
DEBUG    2022-03-22 12:41:31,918 [command.start:139]:PYTHONPATH="/usr/lib/lutris:/usr/bin:/usr/lib64/python310.zip:/usr/lib64/python3.10:/usr/lib64/python3.10/lib-dynload:/usr/lib64/python3.10/site-packages:/usr/lib/python3.10/site-packages"
DEBUG    2022-03-22 12:41:31,918 [command.start:139]:LUTRIS_GAME_UUID="c02295a4-78e8-4ad9-99a7-0cf0ee195de3"
lutris-wrapper: Blade Runner - GOG - ScummVM
Started initial process 2146183 from gamemoderun /home/davejansen/.local/share/lutris/runners/scummvm/bin/scummvm --extrapath=/home/davejansen/.local/share/lutris/runners/scummvm/share/scummvm --themepath=/home/davejansen/.local/share/lutris/runners/scummvm/share/scummvm --aspect-ratio --subtitles --fullscreen --gfx-mode=2x --path=/home/davejansen/Games/blade-runner bladerunner-win
Start monitoring process.
/home/davejansen/.local/share/lutris/runners/scummvm/bin/scummvm: /home/davejansen/.local/share/lutris/runtime/Ubuntu-18.04-x86_64/libcurl-gnutls.so.4: no version information available (required by /home/davejansen/.local/share/lutris/runners/scummvm/bin/scummvm)
/home/davejansen/.local/share/lutris/runners/scummvm/bin/scummvm: /lib64/libtinfo.so.5: no version information available (required by /home/davejansen/.local/share/lutris/runtime/Ubuntu-18.04-x86_64/libreadline.so.7)
/home/davejansen/.local/share/lutris/runners/scummvm/bin/scummvm: symbol lookup error: /home/davejansen/.local/share/lutris/runners/scummvm/bin/scummvm: undefined symbol: fluid_sfloader_set_callbacks
Monitored process exited.
Initial process has exited (return code: 32512)
All processes have quit
Exit with return code 32512
DEBUG    2022-03-22 12:41:32,063 [command.on_stop:193]:Process 2146181 has terminated with code 32512
DEBUG    2022-03-22 12:41:33,928 [game.beat:588]:Game thread stopped
WARNING  2022-03-22 12:41:33,928 [game.on_game_quit:614]:Game still running (state: running)
INFO     2022-03-22 12:41:33,928 [game.stop:599]:Stopping Blade Runner - GOG - ScummVM (scummvm)
DEBUG    2022-03-22 12:41:33,929 [game.stop_game:554]:Blade Runner - GOG - ScummVM (scummvm) has run for 2 seconds
WARNING  2022-03-22 12:41:33,929 [game.stop_game:556]:The game has run for a very short time, did it crash?
DEBUG    2022-03-22 12:41:33,936 [game.on_game_quit:632]:Blade Runner - GOG - ScummVM stopped at Tue, 22 Mar 2022 12:41:33
DEBUG    2022-03-22 12:41:33,936 [game.save:257]:Saving Blade Runner - GOG - ScummVM (scummvm) with config ID blade-runner-change-me-1623736959

System Information

[System]
OS:              Fedora Linux 35 
Arch:            x86_64
Kernel:          5.16.12-200.fc35.x86_64
Desktop:         GNOME
Display Server:  wayland

[CPU]
Vendor:          AuthenticAMD
Model:           AMD Ryzen 9 5900X 12-Core Processor
Physical cores:  12
Logical cores:   24

[Memory]
RAM:             62.8 GB
Swap:            8.0 GB

[Graphics]
Vendor:          AMD
OpenGL Renderer: AMD Radeon RX 6800 XT (sienna_cichlid, LLVM 13.0.0, DRM 3.44, 5.16.12-200.fc35.x86_64)
OpenGL Version:  4.6 (Compatibility Profile) Mesa 22.1.0-devel
OpenGL Core:     4.6 (Core Profile) Mesa 22.1.0-devel
OpenGL ES:       OpenGL ES 3.2 Mesa 22.1.0-devel
Vulkan:          Supported

Media (optional)

No response

Checklist:

jibsaramnim commented 2 years ago

Small update: I removed the scrummvm runner directory completely and restarted Lutris, which fetched a what appears to be slightly updated version. With libjpeg8 and libcurl-gnutls manually installed as mentioned above it seems to successfully load (after I manually adjusted the game ID to bladerunner, my install still had it configured as bladerunner-win which I guess is an older ID, but that's not related to this issue).

While I'm not sure why Lutris didn't fetch a the more recent version of ScummVM if there was an update, but it seems like with this in place the only two libraries missing for Fedora 35 compatibility are libjpeg8 and libcurl-gnutls.

I hope this helps!

strycore commented 2 years ago

I copied several libraries from the Steam runtime to the lutris runtime and was able to get ScummVM to run on Fedora 36.

Libraries added:

libjpeg.so.8 libcurl-gnutls.so.4 libidn.so.11 librtmp.so.0 libhogweed.so.4 libnettle.so.6

Plus fuildsynth and tinfo may also be needed as you mentioned.

Moving the issue to the buildbot repo since we have to do a runtime update.

legluondunet commented 1 year ago

ScummVM updated to 2.8 and added missing libraries to runner archive. Tested on Fedora 38 --> OK