Building for RG35XXSP
You have three options to get a working binary onto your device.
Option A: Docker (Recommended for macOS)
This builds inside a Linux aarch64 container, avoiding cross-compilation issues.
just docker-aarch64
just package # Create tools/ folder zip (default)
# or:
just package-portmaster # Create PortMaster zip
Requirements: Docker Desktop installed.
Option B: Native Linux / WSL2
If you have a Linux environment with the aarch64 cross-compiler:
just install-deps-debian # apt install libsdl2-dev libsdl2-ttf-dev
just install-cross-debian # apt install gcc-aarch64-linux-gnu
just aarch64 # Cross-compile
just package # Create tools/ folder zip
WSL2 with Debian or Ubuntu is the most reliable native setup.
Option C: Build Directly on the Device
The RG35XXSP runs Linux. If you can SSH into it:
# On the device
sudo apt install libsdl2-dev libsdl2-ttf-dev git curl
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env
git clone <repo>
cd cardagain
cargo build --release
# Copy binary to the tools directory
mkdir -p /userdata/roms/tools/cardagain/
cp target/release/cardagain /userdata/roms/tools/cardagain/
# Download an open-source font
wget https://github.com/dejavu-fonts/dejavu-fonts/raw/master/ttf/DejaVuSans.ttf
mkdir -p /userdata/roms/tools/cardagain/fonts/
cp DejaVuSans.ttf /userdata/roms/tools/cardagain/fonts/
This avoids ALL cross-compilation issues entirely.
Installing
Tools Folder (Default)
Extract the zip to /userdata/roms/tools/.
Required structure:
/userdata/roms/tools/
└── cardagain/ # app folder
├── Cardagain.sh # launcher (EmulationStation discovers this)
├── cardagain # binary
├── fonts/ # bundled font
└── gameinfo.xml # metadata
- Extract
cardagain-0.1.0.zipto/userdata/roms/tools/ - Press START → Game Settings → Update Gameslist
- Launch Cardagain from the Tools menu
PortMaster
- Copy
cardagain-0.1.0.ziptoroms/ports/ - Install via the PortMaster GUI
- Launch from the Ports menu
Updating
To update to a new version:
- Download the new
cardagain-X.Y.Z.zip - Extract it over your existing folder (tools/ or ports/)
- Your
data.json(decks, reviews) and any.csvdecks are preserved — they are not included in the release zip, so extracting won’t overwrite them - Press START → Game Settings → Update Gameslist
Troubleshooting
| Problem | Likely cause | Fix |
|---|---|---|
| Not showing in Tools menu | Missing Cardagain.sh launcher | Ensure Cardagain.sh is inside cardagain/ folder |
| Crash on launch | Missing libSDL2_ttf | Install SDL2_ttf on the device |
| Black screen | Wrong working directory | Ensure launcher cd’s to the app folder |
| No controller input | SDL2 gamecontroller not initialized | Check launch.log in cardagain/ folder |
| Cards not importing | Wrong directory | Place .csv files in cardagain/ where data.json lives |