Dolphin works from the GUI but not from Emulation Station
-
I had to install Dolphin on my own. RetroPie wanted to compile it on my machine and that didn't work. I installed it using a snap. I fooled RetroPie by adding two placeholder files,
dolphin-emu
anddolphin-emu-nogui
in the build folder. Then, I changed theemulators.cfg
file as per these instructions.It actually took me a bit more work than that to get Dolphin working on my machine, but now it works great. However, when I start it from Emulation Station, it breaks. This is the output from
/dev/shm/runcommand.log
:libGL error: MESA-LOADER: failed to open i965 (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri) libGL error: failed to load driver: i965 libGL error: MESA-LOADER: failed to open i965 (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri) libGL error: failed to load driver: i965 libGL error: MESA-LOADER: failed to open swrast (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri) libGL error: failed to load driver: swrast Failed to initialize video backend! /opt/retropie/emulators/dolphin/bin/dolphin-emu-nogui: line 2: 66538 Segmentation fault snap run dolphin-emulator.dolphin-emu-nogui -e "$2"
The last line is the bash script I wrote to launch the snap.
What puzzles me is that snaps are supposed to be completely self-contained. They should not care about their environment at all. That's why they were created in the first place. What could be different between running Dolphin from Emulation Station and from the GUI?
-
@eje211 said in Dolphin works from the GUI but not from Emulation Station:
What could be different between running Dolphin from Emulation Station and from the GUI?
What's the command that you configured for
runcommand
to start the emulator ? -
@mitu I'm terrible sorry. I thought I had included it
The command that RetroPie uses to start Dolphin is (from memory; I'm not by the computer):
snap run dolphin-emulator.dolphin-emu-nogui -e "$2"
from a script that's calleddolphin-emu-nogui
. -
@eje211 And the
emulators.cfg
entry ? Can you also post the entireruncommand.log
- it should show the entire command started by EmulationStation. -
emulators.cfg
for the Game Cube:dolphin = "/opt/retropie/emulators/dolphin/bin/dolphin-emu-nogui -e %ROM%" default = "dolphin" dolphin-gui = "/opt/retropie/emulators/dolphin/bin/dolphin-emu -b -e %ROM%"
Contents of
/opt/retropie/emulators/dolphin/bin/dolphin-emu
:#/bin/bash snap run dolphin-emulator.dolphin-emu -e "$2"
Contents of
/opt/retropie/emulators/dolphin/bin/dolphin-emu-nogui
:#/bin/bash snap run dolphin-emulator.dolphin-emu-nogui -e "$2"
Contents of:
/dev/shm/runcommand.log
:Parameters: Executing: /opt/retropie/emulators/dolphin/bin/dolphin-emu-nogui -e "/home/eje211/RetroPie/roms/gc/Wind Waker.iso" /snap/dolphin-emulator/118/usr/bin/xdg-screensaver: 629: /snap/dolphin-emulator/118/usr/bin/xdg-screensaver: xset: not found libGL error: MESA-LOADER: failed to open i965 (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri) libGL error: failed to load driver: i965 libGL error: MESA-LOADER: failed to open i965 (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri) libGL error: failed to load driver: i965 libGL error: MESA-LOADER: failed to open swrast (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri) libGL error: failed to load driver: swrast Failed to initialize video backend! /opt/retropie/emulators/dolphin/bin/dolphin-emu-nogui: line 2: 66538 Segmentation fault snap run dolphin-emulator.dolphin-emu-nogui -e "$2"
I am not running Wayland.
xset
actually works outside of the snap. -
Your script should have
snap run dolphin-emulator.dolphin-emu-nogui -e "$1"
since the 'rom' file is actually the 1st parameter of the invoking script, 2nd one is empty. You can put the script anywhere, it doesn't have to be located under
/opt/retropie
.I am not running Wayland. xset actually works outside of the snap.
It seems the integration of snaps is not that seamless. The snap may have it's own
$PATH
and can't find the system'sxset
binary. -
@mitu Actually, the first parameter is
-e
. The ROM file's path is the second parameter.Originally, I forgot the double quotation marks and I got an error if the ROM's filename contained spaces, so I know this is correct.
I could actually combine these two by having instead:
snap run dolphin-emulator.$0 "$@"
Maybe with a hard link between the two, but that feels like overkill. I tried the version with
-e
and the ROM file's path, and that worked from the command line. -
@eje211 said in Dolphin works from the GUI but not from Emulation Station:
@mitu Actually, the first parameter is -e. The ROM file's path is the second parameter.
You're right.
Then I don't know why it's not working - there's nothing special added byruncommand
, it just runs your script with the parameters given. -
@mitu I figured it out!
The issue was not with the snap or with Emulation Station!
dolphin-emu
worksdolphin-emu-nogui
does not. That's it. I don't know why and I no longer care. I changed to configuration files to make sure that thenogui
version is never used. That did it. There are still a few more things to configure, such as getting RetroPie's shortcuts to work in Dolphin, but at least the games start! -
@eje211 said in Dolphin works from the GUI but not from Emulation Station:
There are still a few more things to configure, such as getting RetroPie's shortcuts to work in Dolphin, but at least the games start!
If you are referring to the Hotkeys, you would have to be running
lr-dolphin
for that to work. The standalone emulator does have the ability to configure hotkeys, but you will need to do it through the dolphin settings menu.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.