A scriptmodule to install a Godot "emulator" for RetroPie.
MIT License
A scriptmodule to install a Godot "emulator" for RetroPie.
Thanks to @efornara (for creating FRT - A Godot "platform" targeting single board computers) you can now play 2D games made with the Godot Engine on the Raspberry Pi (and other single-board computers) using RetroPie.
If you are running RetroPie on an x86/x86_64
Linux PC you can also play Godot games, since the Godot "emulator" is actually the official Linux/X11 export template.
There are plenty of games made with Godot, most of them hosted on https://itch.io.
You can find Godot games using the following links:
Most games are free to dowload, some are "pay what you want" with a suggested price (including free) and a few are paid. If you like the game, consider supporting the authors 😊.
Take a look at the compatibility list to check which games work.
Everyone can contribute to the list by starting a discussion.
cd ~
git clone https://github.com/hiulit/RetroPie-Godot-Game-Engine-Emulator.git
cd RetroPie-Godot-Game-Engine-Emulator/
sudo chmod +x setup-godot-engine-scriptmodule.sh
cd ~/RetroPie-Godot-Game-Engine-Emulator/
git pull
./setup-godot-engine-scriptmodule.sh [OPTIONS]
If no options are passed, you will be prompted with a usage example:
USAGE: ./setup-godot-engine-scriptmodule.sh [OPTIONS]
Use '--help' to see all the options.
The script assumes that you are running it on a Raspberry Pi with the RetroPie-Setup
folder being stored in ~/RetroPie-Setup
. If your setup differs, you can pass the path where your RetroPie-Setup
folder is stored as a parameter, like this:
./setup-godot-engine-scriptmodule.sh [OPTION] "/path/to/your/RetroPie-Setup"
--help
: Prints the help message and exit.--version
: Shows the script version.--install [path]
: Installs the godot-engine
scriptmodule.
RetroPie-Setup
folder.~/RetroPie-Setup
.--uninstall [path]
: Uninstalls the godot-engine
scriptmodule.
RetroPie-Setup
folder.~/RetroPie-Setup
.--update [path]
: Updates the godot-engine
scriptmodule.
RetroPie-Setup
folder.~/RetroPie-Setup
.Once you've successfully installed the scriptmodule, run:
sudo ~/RetroPie-Setup/retropie_setup.sh
Go to:
The script installs all the major versions of Godot for maximum compatibility:
2.1.6
3.0.6
3.4.5
3.5.1
A new godot-engine
folder will be created in ~/RetroPie/roms
, where you can install the Godot games using the .pck
and .zip
extensions.
Run:
sudo ~/RetroPie-Setup/retropie_setup.sh
Go to:
Before updating the "emulator", you must update the setup script and the scriptmodule.
Run:
# Update the setup script.
cd ~/RetroPie-Godot-Game-Engine-Emulator/
git pull
# Update the scriptmodule.
./setup-godot-engine-scriptmodule.sh --update
Then, to update the Godot "emulator", run:
sudo ~/RetroPie-Setup/retropie_setup.sh
Go to:
When you download a game from https://itch.io, the downloaded .zip
usually contains 2 files:
The later is, most of the times, a .pck
file. That's the one we want!
Those .pck
files will most likely be found on the Linux downloads (maybe on the Windows downloads too).
If you can't find a .pck
file on neither the Linux nor the Windows downloads, you can try the Mac/OSX downloads. You'll have to:
.zip
file.Contents -> Resources
(the .pck
file should be in this folder).To install it, just copy the .pck
file to ~/RetroPie/roms/godot-engine
.
A scraper for games hosted on https://itch.io is bundled with this script.
Check out its documentation.
You can find it in EmulationStation's RetroPie menu.
⚠️ When using a GPIO/Virtual keyboard, the actual keyboard won't work anymore. But you can always remove the GPIO/Virtual keyboard (see below).
As of v1.2.0, when using the FRT "emulator", you can use a GPIO/Virtual keyboard, such as GPIOnext or Adafruit's Retrogame.
Run:
sudo ~/RetroPie-Setup/retropie_setup.sh
and then go to:
Select GPIO/Virtual keyboard.
You will be prompted with a menu showing all the results from the command cat /proc/bus/input/devices
. Select the GPIO/Virtual keyboard that you want.
If you want to to reverse that action, follow the same steps and select None.
Useful information about errors can be found at
/dev/shm/runcommand.log
.
If the game you are trying to play doesn't work, it will most likely be because it was made with another version of Godot. Try changing the Godot "emulator" version in the runcommand.
If you downloaded the game from https://itch.io, there's a good chance the author stated which version of Godot that game uses.
In case none of the "emulators" work, it could be something related to the video driver.
See VIDEO ISSUES.
See AUDIO ISSUES.
As there is no way to create a script to automate this, because themes don't have the same structure, the best way is to manually create a new system in your preferred theme.
system.svg
.controller.svg
./etc/emulationstation/themes/[THEME]/nes
).godot-engine
.system.svg
and controller.svg
to the godot-engine/art
folder.NOTE:
The folder structure in the theme you are using might differ. Take a look at how this particular theme works to create the godot-engine
folder accordingly. You might need to delete extra icons that are not needed.
I've created a couple of ready-to-use Godot systems:
If you want to add a new theme, feel free to open a pull request.
The default EmulationStation theme is installed automaticaly and can't be deleted.
To install a Godot system, copy the theme/[THEME]/godot-engine
folder from this repository to /etc/emulationstation/themes/[THEME]
.
Or you can run:
sudo ~/RetroPie-Setup/retropie_setup.sh
and then go to:
Select Install themes.
Select the theme you would like to install.
See CHANGELOG.
hiulit
Feel free to:
If you love this project or find it helpful, please consider supporting it through any size donations to help make it better ❤️.
If you can't, consider sharing it with the world...
... or giving it a star ⭐️.
Thank you very much!
Thanks to: