Many thanks to Sebastian for writing this article which inspired me to do this project. And many thanks to Ethan Lee for creating FNA and ported Celeste to it!
Using the method described in this post also works on Raspberry Pi 2 and 3, but those have some hardware limitations and doesn't support texture sizes as big as the Pi 4, so I recommend you use a Pi 4 for this, and the performance is much better too!
This guide assumes you have basic experience with Linux and the command line.
Here is what you need for this guide:
This step can be skipped if you only want to test the game, and don't care about performance.
The Raspberry Pi 4 can be overclocked quite a lot, which will make Celeste run a lot faster. This will generate more heat, so some kind of cooling solution is recommended. I use a small fan on top of the Pi, powered by the gpio pins.
Edit the boot config file with this command:
Scroll to the bottom and after [pi4]
and make it so it looks like this:
You can try with a higher arm_freq if you want, but it may not boot. 2147 is the highest you can set at the moment. If the Pi doesn't boot, put the SD card in another computer and edit the config file and try again. 750 is the highest value for gpu_freq.
Save, exit and reboot.
If you haven't already, buy the game from itch.io. Go to your library and download the Linux version. At the time of writing, Celeste's version number is 1.4.0.0 (Mar 29, 2021).
Extract the game to ~/Celeste
:
Run the following command to install the Mono runtime and SDL2.
Download the following file to your Downloads directory. This contains some native dependencies not available through the package manager, and a new launch script.
If you want to build it yourself, check out the repository.
Extract it to ~/Celeste
:
In a terminal, navigate to the game directory:
There is a file called Celeste.sh
which is the new launch script included in the package you just extracted. You can edit this if you want to disable the fps overlay etc. The script sets the cpu to performance governor, for a higher fps.
To start the game, run ./Celeste.sh
Play the game in fullscreen in 1080p, or 720p for graphical better performance. Grab a controller, some raspberries/strawberries and enjoy Celeste! 🍓
If you are using the Raspberry Pi as a desktop computer, you might want to be able to launch the game without having to use the terminal. Here's how:
Create a new file with the following content:
Save it as ~/.local/share/applications/celeste.desktop
and make it executable:
chmod +x ~/.local/share/applications/celeste.desktop
And if you want to have a desktop launcher:
cp ~/.local/share/applications/celeste.desktop ~/Desktop/celeste.desktop
You can now launch the game from the menu and/or from the desktop!
BONUS: If you want even more performance, launch Celeste.sh from a TTY. Press Ctrl+Alt+F2 to switch to tty2, log in with you username and password, and then run ~/Celeste/Celeste.sh
– djazz
You can reach me at:
Discord: djazz#0147
Twitter: @daniel_hede
YouTube: djazz