These are instructions for installing and configuring the StepMania fork OutFox to run on a Raspberry Pi 3B+ using a soft dancepad and an LCD TV.
Item | Cost |
---|---|
CanaKit Raspberry Pi 3 B+ Starter Kit | $80 |
256GB Micro SD card | $35 |
Dance Pad | $26 |
Download the Raspberry Pi Imager and launch it with the SD card plugged in. Select RetroPie (v4.7.1) for RPI 2/3 and flash SD card.
- There was difficulty launching StepMania from the Raspberry Pi Full OS.
Boot the Raspberry Pi with the SD card with a keyboard attached. When RetroPie loads hit F4 to drop to a shell.
The default keyboard configuaton is for United Kingdom. If using a different keyboard layout, edit XKBLAYOUT in /etc/default/keyboard
with the correct layout. The two letter layout possibilities are listed in /usr/share/X11/xkb/rules/evdev.lst
.
Install the following packages:
sudo apt update -y
sudo apt install xinit libopengl0 -y
The PI has 1GB of RAM. Update /boot/config.txt
to allocate 384 MB of RAM to the GPU by updating:
gpu_mem_1024=384
By default the GPU is disabled. Enable the GPU by launching:
sudo raspi-config
- Select
6 Advanced Options
- Select
A2 GL Driver
- Select
G2 GL (Fake KMS)
G3 GL (Full KMS)
causes StepMania's audio to not work
- Reboot
- Note that changing this setting breaks RetroPie, it will now just drop to a shell on boot.
Launch RetroPie, and drop to a shell by hitting F4. Download the arm32 build for OutFox in the home directory and unpack it:
wget https://github.com/TeamRizu/OutFox/releases/download/OF4.10.0/OutFox-5.3.0-alpha-4.10.0-HF1-arm32v7-date-20211001.tar.gz
tar xf OutFox-5.3.0-alpha-4.10.0-HF1-arm32v7-date-20211001.tar.gz
mv OutFox-5.3.0-alpha-4.10.0-HF1-arm32v7-date-20211001 outfox
Create a launcher for OutFox in RetroPie's ports directory, so it can be launched from RetroPie. Create the script /home/pi/RetroPie/roms/ports/OutFox.sh
with the following contents:
#!/bin/bash >
xinit /home/pi/outfox/stepmania $* -- :0 vt$XDG_VTNR
Launch OutFox from the terminal with the script. It may crash the first launch with an GL_OUT_OF_MEMORY
error. To avoid this, open ~/.stepmania-5.3/Save/Preferences.ini
and reduce MaxTextureResolution
to 512.
Launch OutFox again. When it launches, configure the game type to be dance
.
In the options menu, configure the following settings:
- Options > Display & Graphics > Display and Resolution
- Show Stats: On
- Enables FPS statistics, to get an indication of performance
- Display Resolution: 1280x720
- Show Stats: On
- Options > Display & Graphics > Graphics Settings
- Fast Note Rendering: Yes
To configure the gamepad, plug it in and navigate to Options > Input & Calibration > Config Key/Joy Mappings. In the secondary column map the gamepad buttons to the following items:
OutFox | Gamepad |
---|---|
Start | start |
Select | O |
Back | X |
Left (MenuLeft) | left arrow |
Right (MenuRight) | Right arrow |
Up (MenuUp) | Up arrow |
Down (MenuDown) | Down arrow |
Go to the bottom of the settings and Save to Disk then Exit.
The audio sync to the TV will need to be calibrated. Enter Options > Input & Calibration > Calibrate Audio Sync. Dance the arrows to the music the best you can. On screen it will suggest an offset. My case was -0.15. If the game asks to accept the offset, say yes. Otherwise, it can be manually input into the GlobalOffsetSeconds
setting in ~/.stepmania-5.3/Save/Preferences.ini
.
Boot the pi to a shell, and update the /home/pi/.bashrc file to contain the following at the end which will launch OutFox once at boot:
if [ ! -e /tmp/outfox-started ]; then
touch /tmp/outfox-started
/home/pi/RetroPie/roms/ports/OutFox.sh
fi
- https://retropie.org.uk/forum/topic/29312/how-to-install-ultrastar-deluxe-and-stepmania-on-retropie
- https://www.reddit.com/r/DanceDanceRevolution/comments/l64vln/running_stepmania_moondance_on_raspberry_pi_3_b/
- https://puurunen.ca/2021/02/21/stepmania-outfox-on-raspberry-pi-3b/
These are experiments with settings, seeing what the ideal setting combination is.
song wheel: the song selection screen, at rest calibrate: Options > Input & Calibration > Calibrate Audio Sync song: A song in medium difficulty
no gpu, default resolution:
- song wheel: 8f ps
- calibrate: 32 fps
- song: 20 fps
gpu, default resolution:
- song wheel: 39 fps
- calibrate: 21 fps
- song: 26 fps
gpu, resolution 1280x720
- song wheel: 36 fps
- calibrate: 7 fps
- song: 10 fps
gpu, resolution 1280x720, Options > Display & Graphics > Graphics Settings > Fast Note Rendering: On
- song wheel: 35 fps
- calibrate: 58 fps
- song: 54 fps