Raspberry Pi 4 - StepMania / OutFox 5.3 Guide

DDR Arrows

I put together this guide on how to setup a Raspberry Pi 4 (Model B) running Project OutFox 5.3 with auto-startup and quick-shutdown keyboard hotkeys.

Contents

  • Overview
  • Raspberry Pi
  • Raspberry Pi OS
    • Software
    • Setup
    • Access
    • Configuration
    • Overclocking
  • Project OutFox
    • Software
    • Setup
    • Options
    • Dance Pads
    • Add Songs
  • Backup
  • Notes
  • Resources

Overview

  1. Build Raspberry Pi
  2. Download Raspberry Pi OS
  3. Install OS to SD Card or USB Flash Drive
  4. Configure OS & Overclock
  5. Set Power Off / Reboot Hotkeys
  6. Download Project OutFox to Pi
  7. Install OutFox
  8. Configure OutFox
  9. Create OutFox Autostart
  10. Backup SD Card

Raspberry Pi

Raspberry Pi

Raspberry Pi 4 (Model B) 4GB or 8GB

Recommendations:

Pi 4 Kits:

  • CanaKit Starter Kit
  • CanaKit EXTREME Kit (Aluminum Fanless Heatsink Case)
  • Vilros Basic Starter Kit
  • Raspberry Pi 4 Official Full Kit

These have the proper power supply, power switch, and quality SD Card.
Or build your own custom setup with heatsink and cooling fan.

Cases:

  • Retroflag NESPi 4
  • anidees Aluminum
  • anidees Aluminum Extra High
  • anidees Aluminum Heat Sink Fanless Extra High
  • GeeekPi Armor Case with Fan

Heatsinks:

  • GeeekPi Aluminum with Fan
  • GeeekPi Low-Profile Cooler with RGB Cooling Fan
  • Noctua NF-A4x10 5V 40x10mm Fan

Drives:

  • Samsung EVO microSDXC Card
  • Samsung FIT Plus USB 3.1 Flash Drive

Raspberry Pi OS

Raspberry Pi OS

Software

Operating System
Raspberry Pi OS (32-bit)

  • Recommended
  • I’m using “Raspberry Pi OS with desktop and recommended software”
  • Can use up to 4GB RAM

Raspberry Pi OS (64-bit)

  • Beta Testing
  • Can use 8GB RAM

Raspberry Pi Imager


Install the OS to the SD Card or USB Flash Drive.

FileZilla SFTP
FileZilla (Windows)
For transferring files over the network if needed.

Setup

  1. Use Raspberry Pi Imager to install the OS to the SD Card or USB Flash Drive.
  2. After installation, eject the drive and insert into the Pi.
  3. Follow the on-screen wizard and set a password (optional) (default password is raspberry) to finish setup.

Access

Once connected to the network, find your Raspberry Pi’s IPv4 Address from your router’s device list.
Or from the Pi’s terminal type ifconfig -a.

SSH
Use this for accessing the Pi’s terminal from Windows.

Enable the OpenSSH Server in Windows 10

In Windows Command Prompt:

ssh [email protected]  

Password: raspberry (or user set)

If something gets messed up, you can open C:\Users\[Username]\.ssh\known_hosts with a text editor and erase it.

SFTP
Use this for transferring files to the Pi from Windows.

Host: 192.168.1.xxx
User: pi
Password: raspberry (or user set)

File Paths

Config
/boot Overclock, GPU Memory, and Overscan set in config.txt
System
/ Root
/opt OutFox Install Location
/home/pi User Home
/home/pi/Downloads OutFox Download
/home/pi/Desktop Desktop Shortcut Location
/home/pi/.config User Config (Hidden)
/home/pi/.config/autostart Executable Autostart
/etc/xdg/openbox/lxde-pi-rc.xml Hotkey Bindings (System)
/home/pi/.config/openbox/lxde-pi-rc.xml Hotkey Bindings (User Config)
Project OutFox
/opt/Project OutFox 5.3 Game Root
/opt/Project OutFox 5.3/stepmania Game Executable
/opt/Project OutFox 5.3/Appearance Themes & NoteSkins
/opt/Project OutFox 5.3/Songs Songs
/home/pi/.stepmania-5.3/Save/Preferences.ini Config

Configuration

Open Raspberry Pi Configuration
Start Menu → Preferences → Raspberry Pi Configuration

Raspberry Pi Configuration

Networking
Connect to Wifi or Ethernet
Interfaces Tab → SSH Enabled

GPU Memory
GPU Options Documentation

Set the GPU Memory Split. CPU and GPU share 1024 MB of RAM.

Performance Tab → Leave default 76 or try higher 128 (Don’t set higher than 512)

Disable Screen Sleep & Overscan (Black Border)
Display Tab → Screen Blanking Disabled
Display Tab → Overscan Disabled

Set Resolution

  1. Start Menu → Preferences → Screen Configuration
  2. Right Click HDMI Rectangle → Select 1080p
  3. Press Green Checkmark to Save

Resolution

Fix Screen Tearing
Disable Desktop Compositor
Open Terminal

sudo raspi-config

Advanced Options → Compositor: Off

Raspberry Pi Configuration Terminal

OpenGL
Install the latest OpenGL

sudo apt update
sudo apt install libopengl0

Power Off / Reboot Keyboard Hotkeys (Optional)

  1. Go to the /home/pi folder.
  2. Press Ctrl + H to show hidden folders.
  3. Open the .config folder.
  4. Create a new folder named openbox.
  5. Copy Openbox Hotkey Config to User Config:
    cp /etc/xdg/openbox/lxde-pi-rc.xml /home/pi/.config/openbox
  6. Edit the lxde-pi-rc.xml file and add:
<!-- Power Off - Ctrl + Alt + P -->
<keybind key="C-A-P">
  <action name="Execute">
    <command>poweroff</command>
  </action>
</keybind>
<!-- Reboot - Ctrl + Alt + R -->
<keybind key="C-A-R">
  <action name="Execute">
    <command>reboot</command>
  </action>
</keybind>

Full lxde-pi-rc.xml file: https://pastebin.com/raw/e326sK1f

Power Off
Ctrl + Alt + P

Reboot
Ctrl + Alt + R

Overclocking

(Optional)

Config
config.txt Documentation
Overclocking Documenation

Using Windows PC
Insert SD Card and open config.txt with Notepad.

Using Raspberry Pi OS
Use terminal command-line to open and edit config:

sudo nano /boot/config.txt

Press Ctrl + X to exit.
Press Y, then Enter to confirm and save.

Settings
Guides
How to overclock Raspberry Pi 4
How to Safely Overclock your Raspberry Pi 4 to 2.147GHz

Warning:

Setting over_voltage higher than 6 or using force_turbo=1 will void the Raspberry Pi’s warranty and could cause damage.

Overclocking requires heatsink cooling. If the Pi overheats passed 85°c it will throttle the CPU, defeating the purpose of the overclock.

Add one of these under the [pi4] section:

Mid

over_voltage=2
arm_freq=1750

High

over_voltage=5
arm_freq=2000
gpu_freq=600

Extreme

over_voltage=6
arm_freq=2147
gpu_freq=750

Recover From a Bad Overclock

From Windows PC

  1. Power off the Pi
  2. Remove SD card
  3. Insert SD card into PC
  4. Open the config.txt with Notepad.
  5. Change, comment out #, or remove the overclock settings.

From the Raspberry Pi

  1. Reboot the Pi.
  2. Hold the Shift key to boot into Recovery Mode.
  3. Press e to edit the config.txt.
  4. Change, comment out #, or remove the overclock settings.
  5. Press Esc to reboot.

Project OutFox

OutFox

Software

Using Raspberry Pi, download the one matching your OS.

Linux 32-bit ARM (arm32v7)
Linux 64-bit ARM (arm64v8)

Setup

Extract Program
Open Terminal

cd /home/pi/Downloads 
tar -xzf OutFox-5.3.0.tar.gz

Use the full name of the file, such as OutFox-5.3.0-alpha-4.9.10-arm32v7-date-20210827.tar.gz or rename it shorter.

Install

  1. Move Project OutFox 5.3 folder to the /opt folder.
sudo mv "/home/pi/Downloads/Project OutFox 5.3" /opt
  1. Make the program executable.
chmod +x "/opt/Project OutFox 5.3/stepmania"
  1. Add a symbolic link to /usr/bin/ so that OutFox can be run from the Terminal by typing stepmania. (Optional)
sudo ln -s "/opt/Project OutFox 5.3/stepmania" /usr/bin/stepmania

Project OutFox Desktop Shortcut
Create new file on Desktop named Project OutFox 5.3.desktop, inside put:
(Make sure to escape file path spaces with a backslash \)

[Desktop Entry]
Name=Project OutFox 5.3
Comment=Dance Dance Revolution
Exec=/opt/Project\ OutFox\ 5.3/stepmania
Type=Application
Encoding=UTF-8
Terminal=false
StartupNotify=false

Disable Executable Prompt
Open File Manager → Edit → Preferences → General → “Don’t ask options on launch executable file”

Project OutFox Autostart at Login (Optional)

  1. Go to the /home/pi folder.
  2. Press Ctrl + H to show hidden folders, if not already done.
  3. Open the .config folder.
  4. Create a new folder named autostart.
  5. Copy the Project OutFox 5.3.desktop shortcut to it.

Options

Set your desired Theme, NoteSkin, Key Maps, and other options.

Display
Display Options → Appearance Options
Theme
NoteSkin

Display Options → UI Options
Center 1 Player: On

Graphics & Sound
Display Mode Monitor (Not Windowed)
Fullscreen Type Borderless Window (Prevents Exclusive's black screen freeze on exit)
Display Resolution 1920x1080
Aspect Ratio 16:9
Display Color 32 bit
Texture Color 32 bit
Vsync Yes
Keep Textures in Memory On
High-Res Textures Force Off
Texture Resolution 1024
Fast Note Rendering On

Preferences
/home/pi/.stepmania-5.3/Save/Preferences.ini

Disable Mouse Cursor

ShowMouseCursor=0

Dance Pads

I have a Cobalt Flux Pad with USB that was recognized by the OS.

Map through Options → Config Key/Joy Mappings

Add Songs

Download songs using the Raspberry Pi OS and place them in the Project OutFox /Songs folder.
Or use FileZilla SFTP to transfer songs from Windows to the Raspberry Pi.


Backup

Win32DiskImager

Create a backup image of your sd card with Win32 Disk Imager.

  1. Select your Device drive letter.
  2. Select Image File save location (make sure it has .img file extension).
  3. Click the Read button.

If the SD ever corrupts, you can restore the backup image with the Write button.


Notes

Notes

My Setup
Windows 10
Raspberry Pi 4 8GB
Raspberry Pi OS (32-bit)
GPU Memory: 128
Overclock: High
Project OutFox 5.3 - Linux 32-bit ARM (arm32v7)
Theme: XX STARLiGHT
NoteSkins: DDR SuperNOVA Vivid
Resolution: 1280x720

60 fps in game
20 fps in menu

Setup Photo

Untested
Raspberry Pi 4 4GB
Raspberry Pi OS (64-bit)
Project OutFox 5.3 - Linux 64-bit ARM (arm64v8)

Frame Rate FPS

  • If you have a 4K TV, make sure to set Raspberry Pi OS and Project OutFox to a lower resolution like 1080p or you will get low FPS.
  • Some themes, such as XX STARLiGHT, cause a drop in FPS and may require 720p resolution.
  • Make sure the Raspberry Pi OS and Project OutFox resolutions match, or upscaling could cause a drop in FPS.
  • To display FPS, while in OutFox hold F3 and press 6.

Safe Shutdown
Always shut off the Raspberry Pi through the Start Menu or keyboard hotkey.
After the green light has stopped blinking, then it is safe to press the power switch.
Improper shutdown could corrupt the SD card.


Resources


1 Like

I raised your trust level, see if you can do it now

Thanks, I’ve updated it to the full guide.

Feel free to post any improvements.