libretro / retroarch-snap

RetroArch snap package
https://snapcraft.io/retroarch
15 stars 6 forks source link

Ubuntu 20.04, failed to open libretro core (wrong snap config directory referenced?) #44

Closed exerf closed 2 years ago

exerf commented 3 years ago

Haven't used Retroarch in about a month. At some point during that time, it stopped working; specifically, it fails to load the desired core. Here's the log.

[INFO] RetroArch 1.9.6 (Git 119788593c)
[INFO] === Build =======================================
[INFO] CPU Model Name: 11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz
[INFO] Capabilities:  MMX MMXEXT SSE SSE2 SSE3 SSSE3 SSE4 SSE4.2 AES AVX AVX2
[INFO] Built: Jul  1 2021
[INFO] Version: 1.9.6
[INFO] Git: 119788593c
[INFO] =================================================
[INFO] [Input]: Found input driver: "x".
[INFO] [Environ]: SET_PIXEL_FORMAT: RGB565.
[INFO] Cannot resolve save file path.
[INFO] Cannot resolve save state file path.
[INFO] Version of libretro API: 1
[INFO] Compiled against API: 1
[INFO] [Audio]: Set audio input rate to: 48000.00 Hz.
[INFO] [Video]: Video @ fullscreen
[ERROR] [Wayland]: Failed to connect to Wayland server.
[INFO] [GLX]: GLX_EXT_swap_control_tear supported.
[INFO] [GLCore]: Found GL context: x
[INFO] [GLCore]: Detecting screen resolution 1920x1080.
[INFO] [GLX]: Window manager is GNOME Shell.
[INFO] [GLX]: X = 0, Y = 0, W = 1920, H = 1080.
[INFO] [GLX]: Using true fullscreen.
[INFO] [GLX]: Creating context for requested version 3.2.
[INFO] [GLX]: Not running Mesa, trying higher versions...
[INFO] [GLX]: Creating context for version 4.6.
[INFO] [GLX]: Found swap function: glXSwapIntervalEXT.
[INFO] [GLCore]: Vendor: NVIDIA Corporation, Renderer: NVIDIA GeForce GTX 1650 Ti/PCIe/SSE2.
[INFO] [GLCore]: Version: 4.6.0 NVIDIA 465.31.
[INFO] [GLCore]: Using resolution 1920x1080
[INFO] [udev]: Pad #0 (/dev/input/event256) supports force feedback.
[INFO] [udev]: Pad #0 (/dev/input/event256) supports 16 force feedback effects.
[INFO] [Joypad]: Found joypad driver: "udev".
[INFO] [GLCore]: Loading stock shader.
[INFO] [slang]: Building pass #0 (N/A)
[INFO] [GLCore]: Not using frame history.
[INFO] [GLCore]: Not using framebuffer feedback.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [DBus]: Suspended screensaver via DBus.
[INFO] [Video]: Found display server: x11
[INFO] [PulseAudio]: Requested 24576 bytes buffer, got 18432.
[INFO] [Display]: Found display driver: "glcore".
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [SRAM]: SRAM will not be saved.
[INFO] [Playlist]: Loading history file: [/home/exerf/snap/retroarch/648/.config/retroarch/content_history.lpl].
[INFO] [Playlist]: Loading history file: [/home/exerf/snap/retroarch/648/.config/retroarch/content_music_history.lpl].
[INFO] [Playlist]: Loading history file: [/home/exerf/snap/retroarch/648/.config/retroarch/content_video_history.lpl].
[INFO] [Playlist]: Loading history file: [/home/exerf/snap/retroarch/648/.config/retroarch/content_image_history.lpl].
[INFO] [Playlist]: Loading favorites file: [/home/exerf/snap/retroarch/648/.config/retroarch/content_favorites.lpl].
[INFO] [PulseAudio]: Pausing.
[INFO] [GLX]: Resized fullscreen resolution to 1920x1080.
[ERROR] Failed to open libretro core: "/home/exerf/snap/retroarch/580/.config/retroarch/cores/ppsspp_libretro.so"
[ERROR] Error(s): /home/exerf/snap/retroarch/580/.config/retroarch/cores/ppsspp_libretro.so: cannot open shared object file: No such file or directory

The reason for the failure is pretty obvious. RA is looking for the cores in the wrong numeric config directory -- 580 instead of 648. However, I can't find where RA is getting this stale path. The only workaround fix I could come up with was to create a symbolic link to current (which presently is a link to 648) named 580:

$ pwd
/home/exerf/snap/retroarch
$ ls -l
total 12
lrwxrwxrwx 1 exerf exerf    7 Jul 15 20:29 580 -> current
drwxr-xr-x 4 exerf exerf 4096 Jun 16 19:22 611
drwxr-xr-x 4 exerf exerf 4096 Jul 15 20:03 648
drwxr-xr-x 3 exerf exerf 4096 Jun  5 12:35 common
lrwxrwxrwx 1 exerf exerf    3 Jul 15 20:03 current -> 648
hizzlekizzle commented 3 years ago

Are you launching from a playlist? If so, it probably hardcoded the path instead of using 'current' as it should.

exerf commented 3 years ago

Are you launching from a playlist? If so, it probably hardcoded the path instead of using 'current' as it should.

No, I was loading the content from the "Load Content" menu option.

exerf commented 2 years ago

I'll go ahead and close this given that this issue has not manifested on any more recent versions of the retroarch snap package.