Run Spelunky and other Android Game Maker games on Pi5 / arm64
-
With the advent of the Pi5 and the increased popularity of arm64 bit the
droidports
(Game Maker Loader) did no longer compile and run.I provided a solution for the
gmloader.sh
scriptmodule which crosscompiles on the Pi5/arm64 a 32bit binary of gmloader.In case you missed Spelunky: https://www.polygon.com/2019/11/8/20953893/spelunky-most-important-game-of-the-decade-2010
I have tested it on a Rpi5, RaspiOS Lite 64bit with RetroPie-Setup -> Basic Install and the dev version of EmulationStation and also on a more crowded installation which uses some Retroarch emulators.
Please test and report back.
Notes:
- Be aware that the setting
kernel=kernel8.img
is mandatory in/boot/firmware/config.txt
. - Make sure to have a full backup of your current setup in the rare case something goes foobar.
Some Qs to the community:
-
As several extra armhf packages are installed, what is the "RetroPie way" for the remove function (
remove_gmloader()
): E.g. Remove them and also run aapt autoremove
? -
The scriptmodule pulls in the RetroPie compiled SDL2 libs, namely
libsdl2-2.0-0_2.26.3+1rpi_armhf.deb
andlibsdl2-dev_2.26.3+1rpi_armhf.deb
. I assume they are provided for a reason, or will the upstream packages do as well?
- Be aware that the setting
-
-
@Lolonois said in Run Spelunky and other Android Game Maker games on Pi5 / arm64:
As several extra armhf packages are installed, what is the "RetroPie way" for the remove function (remove_gmloader()): E.g. Remove them and also run a apt autoremove?
In general, there's no removal of dependencies on package removal, since we can't know if that package is also used elsewhere.
The scriptmodule pulls in the RetroPie compiled SDL2 libs, namely libsdl2-2.0-0_2.26.3+1rpi_armhf.deb and libsdl2-dev_2.26.3+1rpi_armhf.deb. I assume they are provided for a reason, or will the upstream packages do as well?
Not sure what you mean, are you asking why your scriptmodule pulls some dependencies ? Isn't this coded in your scriptmodule already ?
-
@mitu said in Run Spelunky and other Android Game Maker games on Pi5 / arm64:
[remove function of scriptmodule]
In general, there's no removal of dependencies on package removal, since we can't know if that package is also used elsewhere.
Ok. Makes sense.
[SDL2 libs from RetroPie vs Upstream]
Not sure what you mean, are you asking why your scriptmodule pulls some dependencies ? Isn't this coded in your scriptmodule already ?
It puzzles me as on a Pi4 there is the SDL2 lib package from RetroPie set on hold.
On a Pi5 with 64bit RaspiOS AFAIR the SDL2 scriptmodule installs also the 2.26.3+1rpi_arm64 (from sources). Thus I assumed this RetroPie SDL2 version is needed also on the Pi5/arm64 for some reason.My question is like this then:
When a RetroPie SDL2 lib is found on a Pi5/arm64 do also install the counterpart on armhf?
-or-
Whatever version of SDL2 is installed (or even if it is absent), replace it with the one from the upstream package for arm64 and armhf? -
@Lolonois said in Run Spelunky and other Android Game Maker games on Pi5 / arm64:
On a Pi5 with 64bit RaspiOS AFAIR the SDL2 scriptmodule installs also the 2.26.3+1rpi_arm64 (from sources). Thus I assumed this RetroPie SDL2 version is needed also on the Pi5/arm64 for some reason.
On non-X11 platforms, RetroPie always tries to install its custom SDL2 version. You can bypass this if you want, but you'll be missing the
kms
bits which allowruncommand
's resolution settings to propagate to SDL2 applications (emulators).
You can bypass this by settingown_sdl2=0
inretropie.cfg
.My question is like this then:
When a RetroPie SDL2 lib is found on a Pi5/arm64 do also install the counterpart on armhf?Technically I don't think you'd be able to have different versions, one for each arch. But things are no so simple, see this issue and the discussion around it.
-or-
Whatever version of SDL2 is installed (or even if it is absent), replace it with the one from the upstream package for arm64 and armhf?You override the install flag (
own_sdl2
) so you can use the distro's packages, but with the caveats explained above.
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.