diff --git a/docs/guides/armsom-cm5.md b/docs/guides/armsom-cm5.md new file mode 100644 index 0000000000..49fa48c14f --- /dev/null +++ b/docs/guides/armsom-cm5.md @@ -0,0 +1,148 @@ +# Building RetroArch on ArmSoM CM5 + +This guide builds RetroArch from upstream source on the ArmSoM CM5 development kit using its native Debian 12 XFCE ARM64 image. The tested system had approximately 2 GB of RAM and kernel `6.1.118-rk3576 #198`. RetroArch 1.22.2 was built and tested on October 22, 2026. + +You need the development kit and its power supply, an HDMI display, a USB keyboard, and an internet connection. The display must have speakers to test HDMI audio. Run the commands in Bash in a terminal on the board's XFCE desktop, as a regular user with sudo access. Only dependency installation requires sudo. + +## Install dependencies + +The tested native image already provides the Mali driver and EGL/GLES development files. Keep the image's graphics driver in place. + +```bash +sudo apt-get update +sudo apt-get -o Dpkg::Use-Pty=0 install -y --no-install-recommends \ + build-essential git pkg-config curl ca-certificates \ + libasound2-dev libudev-dev libx11-dev libxext-dev libxinerama-dev \ + libxrandr-dev libxxf86vm-dev libfreetype6-dev zlib1g-dev libssl-dev \ + retroarch-assets libretro-core-info +``` + +## Download the source + +Use a new source directory. These commands select the exact upstream revision used for this test. + +```bash +mkdir -p ~/src +git clone --depth 1 https://github.com/libretro/RetroArch.git ~/src/RetroArch +cd ~/src/RetroArch +git fetch --depth 1 origin a81e450c00745b27ba417d486799b12f09c38ea4 +git checkout --detach FETCH_HEAD +``` + +## Build and install + +Run each command only after the preceding command succeeds. + +```bash +./configure --prefix="$HOME/.local/retroarch-upstream" \ + --disable-opengl1 --enable-opengles --enable-opengles3 \ + --enable-egl --enable-x11 --enable-alsa --enable-udev --enable-ssl \ + --disable-videocore --disable-vulkan --disable-wayland --disable-kms \ + --disable-qt --disable-ffmpeg --disable-pulse --disable-jack \ + --disable-sdl --disable-sdl2 +make -j2 +./retroarch --version +make install +``` + +The build took approximately 15 minutes with two parallel jobs. The executable reported version `1.22.2` and was installed at `~/.local/retroarch-upstream/bin/retroarch`. + +## Create the runtime configuration + +```bash +mkdir -p ~/retroarch-source-validation/{config,content,core-package} +mkdir -p ~/retroarch-source-validation/runtime/{saves,states,system,playlists} + +cat > ~/retroarch-source-validation/config/retroarch.cfg <