My journey with my rpi5, RetroPie, and Steam. Just sharing cause I've gotten so much from this forum.
-
So I've been using RetroPie for a few years now. I got a rpi4 in 2019 and had a mix of LibreElec and RetroPie called RetroElec. Haven't been very active here cause I've always found all info by searching.
A few months ago I got a couple of rpi5 (one for Kodi, and one for RetroPie) and thanks to this I was able to get RetroPie up and running with my Xarcade stick and two Sinden guns.
While tinkering I found Steamlink, and so I got this running too. Played TMMT Shredder's revenge and Not a Hero for hours. Some hickups here and there but the experience was pretty good, pretty, pretty good. Then messing around further in pi-apps and pi-Kiss I saw the Dolphin emulator, which to my surprise I got running without issues and it runs HotD games better than lr-dolphin, and then I saw it: Steam. omfg, Steam! So I thought "I'll be able to run TMNT Shredder's Revenge on my pi! Perhaps a bit better than through Steamlink?" So I installed it and ran it. At 1st run it asked to install a bunch of libs and failed. I spent some hours trying to figure that out but gave up.
As you've noticed, I'm no dev and many tech things escape me. But I was determined to get this working and so after a local backup of my roms and configs (1,7tb of it that I also have on mega for glorious backup!), I reinstalled Bookworm arm64, installed pi-apps, box86, box64, wine, and Steam first. Steam was able to finish the install and TMNT Shredder's revenge runs really well, better than through Steamlink. So does Not a Hero. Load times are longer than I'm used to on my gaming laptop but I expected this. Also, my rpi5 8gb isn't overclocked so it might run faster on overclocked boards. I don't plan to overclock mine at this moment.
So I went ahead and installed RetroPie following the guide I mentioned earlier. After getting everything installed and a reboot, Steam didn't work anymore and reinstalling didn't fix it. Then I noticed RetroPie installs its own version of sdl2 libraries: it pulls and builds 2.30.8, and Bookworm comes with 2.26.5. v2.30.8 somehow impeded Steam to complete its installation (insert something seemingly educated about dependencies here). This is my uneducated guess so please do let me know if I'm wrong!
With the help of ChatGPT I tried to change the sdl1, sdl2 and sdl2-compat scripts so they built only for RetroPie, not system-wide. Unsurprisingly ChatGPT and I failed miserably. So I tried Ubuntu 24.10, nope. Tried Batocera: after a bit of a learning curve I figured out this wouldn't be my solution either. So I went back to Bookworm.
After a night's sleep, I wondered what would happen if I install Steam first, then commented out the contents of RetroPie's sdl install scripts, and made sure all dependencies were met before builiding anything RetroPie. For that I read through the scripts and installed packages accordingly. And to my surprise it works! Some games like TMNT need to be run using the Legacy Runtime 1.0 in Steam to run when Steam's launched from Emulationstation, and take longer than on my usual computer, but once they've loaded they run perfectly.
In case anyone wonders, I installed these before doing anything RetroPie:
libsdl2-dev libusb-1.0-0-dev libx11-xcb-dev libavcodec-dev libavformat-dev libavdevice-dev debhelper dh-autoreconf devscripts libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libaudiofile-dev libpulse-dev libgl1-mesa-dev libasound2-dev libcaca-dev libdirectfb-dev libglu1-mesa-dev libraspberrypi-dev libsdl1.2-dev cmake g++ libglew-dev libvorbis-dev libmpeg2-4-dev zlib1g-dev gcc gcc-11 g++-11 libgtk2.0-dev qtbase5-private-dev build-essentials mono-complete x11-xserver-utilsI might not have noted all of them and some of those packages are not dependencies but I need them. For honor.
Steam is laggy but doable, I wish there was a way to make it lighter. I'm aware this isn't an elegant solution so please feel free to suggest better, and when anything gets built I often see this (or a similar) error: "dpkg: warning: version 'ne' has bad syntax: version number does not start with digit" but builds and runs everything just fine.
Perhaps there's a guide I missed to get Steam working without my crappy "solution" and I didn't find it cause I didn't search enough - yes I am that lazy, sorry-not-sorry - and most likely there's a better way and/or what I did will give me problems in the future with updates, but this is what's worked for me today. I'm of course happy to hear where I could do better.
Steam runs from Emulationstation fine using xrandr. So far everything else works as I expected, tested arcade, ps2, ps1, and wii games (both with Dolphin and lr-dolphin). Still gotta test Naomi and Dreamcast but I think it'll be fine.
Thanks to everyone here, but a special shout out to @mitu cause you're my forum hero.
-
Interesting story, but I feel that it's missing something - isn't Steam a x86 application ? Didn't you have to install something like
box64
to make it work and this is when you had issues because of RetroPie's SDL version ? Using a translation layer will always make the applications be slower, so I don't think there's a way to accomplish a 'lighter' Steam installation.Steamlink was just recently made compatible with Pi5 and Bookworm, so it should work without the need for X11. It comes with it's own SDL version (it's using SDL3), so RetroPie's own SDL shouldn't interfere here.
-
@mitu well I installed Steam through pi-apps, and I believe it installs box64 with Steam but when I was testing my theory I installed it for good measure together with wine and box86. Shotgun approach and all that, and I need wine for OpenBor and Mugen games.
But what initally happened was that if I installed Steam after RetroPie, Steam wouldn't finish the last installation step, when it asks to install a bunch of dependencies and then fails. So when I install Steam before Retropie, comment out the contents of sdl1.sh, sdl2.sh, and sdl12-compat.sh, (making sure all dependencies are met) and install RetroPie, it seems to use the system's sdl libraries to build things. So far everything's working as expected. Yeah, I see what you mean about using a translation layer. I'm ok with that. I can play TMNT Shredder's Revenge and a few others just fine.
Yeah, had no issues with Steamlink. Installed it and it worked right out of the box which is nice to have for games unwilling to run locally!
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.