Skip to content

Building from Source

veylo3DS :3 edited this page May 3, 2026 · 1 revision

Building from Source

Prerequisites

Install devkitPro with 3DS support, then install the required libraries via devkitPro's package manager:

dkp-pacman -S 3ds-dev
dkp-pacman -S 3ds-mpg123 3ds-libid3tag 3ds-libjpeg-turbo 3ds-libpng

Make sure devkitARM and the DEVKITPRO environment variable are set correctly. Add to your shell config if needed:

export DEVKITPRO=/opt/devkitpro
export DEVKITARM=$DEVKITPRO/devkitARM
export PATH=$DEVKITPRO/tools/bin:$PATH

Clone the Repository

git clone https://github.com/veylo-3DS/Tunez-3DS.git
cd Tunez-3DS

Build

To build the .cia file:

make cia NO_SMDH=1

If you run into issues with a stale build, clear the build directory first:

rm -rf build/
make cia NO_SMDH=1

The output file will be Tunez3DS.cia in the project root.

Project Structure

Tunez-3DS/
├── source/
│   └── main.c        # Main application source
├── banner.png         # CIA banner image (256x128)
├── icon.png           # CIA icon image (48x48)
├── silent.wav         # Silent audio for CIA banner
└── Makefile

Dependencies

Library Purpose
libmpg123 MP3 decoding
libid3tag ID3 tag parsing (title, artist, album art)
libjpeg-turbo JPEG album art decoding
libpng PNG album art decoding
citro2d / citro3d 2D/3D rendering on 3DS
# Building from Source

Prerequisites

Install [devkitPro] with 3DS support, then install the required libraries via devkitPro's package manager:

dkp-pacman -S 3ds-dev
dkp-pacman -S 3ds-mpg123 3ds-libid3tag 3ds-libjpeg-turbo 3ds-libpng

Make sure devkitARM and the DEVKITPRO environment variable are set correctly. Add to your shell config if needed:

export DEVKITPRO=/opt/devkitpro
export DEVKITARM=$DEVKITPRO/devkitARM
export PATH=$DEVKITPRO/tools/bin:$PATH

Clone the Repository

git clone https://github.com/veylo-3DS/Tunez-3DS.git
cd Tunez-3DS

Build

To build the .cia file:

make cia NO_SMDH=1

If you run into issues with a stale build, clear the build directory first:

rm -rf build/
make cia NO_SMDH=1

The output file will be Tunez3DS.cia in the project root.

Project Structure

Tunez-3DS/
├── source/
│   └── main.c        # Main application source
├── banner.png         # CIA banner image (256x128)
├── icon.png           # CIA icon image (48x48)
├── silent.wav         # Silent audio for CIA banner
└── Makefile

Dependencies

Library Purpose
libmpg123 MP3 decoding
libid3tag ID3 tag parsing (title, artist, album art)
libjpeg-turbo JPEG album art decoding
libpng PNG album art decoding
citro2d / citro3d 2D/3D rendering on 3DS

Clone this wiki locally