7.6 KiB
Arch Linux-based gaming distribution for handheld devices.
Arch R is a custom Linux distribution for the R36S handheld gaming console and all its variants, built on top of ROCKNIX with an Arch Linux-based build environment. It supports 16 board profiles and 20 display panels across original and clone hardware.
Features
- Arch Linux-based build system with Docker support.
- Kernel 6.12 LTS with board auto-detection via SARADC.
- Mesa Panfrost open-source GPU driver (GLES 3.1, no proprietary blobs).
- EmulationStation frontend with RetroArch and 18+ cores pre-installed.
- Full audio support with speaker/headphone auto-switch.
- Battery monitoring with capacity reporting and LED warning.
- 20 pre-generated MIPI panel overlays (7 original + 13 clone variants).
- Separate images for original and clone boards, both with hardware auto-detection.
- Integrated cross-device local and remote network play.
- Fine-grained control for battery life and performance.
- Bluetooth audio and controller support.
- HDMI audio/video output, USB audio.
- Device sync with Syncthing and rclone.
- VPN support with WireGuard, Tailscale, and ZeroTier.
- Built-in scraping and RetroAchievements.
Supported Hardware
Boards
| Board | Image |
|---|---|
| R36S (original), R33S | Original |
| Odroid Go Advance / v1.1 / Super | Original |
| Anbernic RG351V / RG351M | Original |
| GameForce Chi, MagicX XU10 | Original |
| K36 / R36S clones / EE Clone | Clone |
| Powkiddy RGB10 / RGB10X / RGB20S | Clone |
| MagicX XU-Mini-M, BatLexp G350 | Clone |
Display Panels
Arch R ships 20 pre-generated MIPI panel overlays covering all known R36S display variants. Panel selection is done by copying the correct .dtbo file to overlays/mipi-panel.dtbo on the boot partition.
Quick Start
Download the latest images from Releases:
- Original image -- for genuine R36S and compatible boards.
- Clone image -- for K36 clones and compatible boards.
Flash to a MicroSD card:
xz -d ArchR-R36S-*.img.xz
sudo dd if=ArchR-R36S-*.img of=/dev/sdX bs=4M status=progress
sync
Insert the SD card and power on. The correct board DTB is selected automatically.
Building from Source
Requirements
- Docker (recommended) or native Linux build environment
- ~40 GB free disk space
- ~8 GB RAM recommended
Build
git clone https://github.com/archr-linux/Arch-R.git
cd Arch-R
# Build Docker image (first time only)
make docker-image-build
# Build for R36S (all variants)
make docker-RK3326
Output images are generated in target/.
Build Commands
| Command | Description |
|---|---|
make docker-RK3326 |
Full build inside Docker |
make RK3326 |
Native build (requires all dependencies) |
make docker-image-build |
Build the Docker build environment |
make clean |
Remove build artifacts |
Architecture
Arch R separates board configuration from panel configuration:
- Board DTB = hardware profile (GPIOs, PMIC, joypad, audio codec). Selected automatically by U-Boot via SARADC.
- Panel overlay = display init sequence and timings. Applied on top of the board DTB at boot time.
This means the same image works on all boards of a variant. Only the panel overlay needs to match the specific display.
Boot Flow
Power On
U-Boot (BSP or mainline)
boot.scr: read SARADC hwrev, select board DTB
sysboot: load kernel + DTB + overlay from extlinux.conf
Kernel 6.12 + initramfs
mount root (ext4) + storage
switch_root to systemd
systemd
archr-autostart (quirks, governors, audio)
EmulationStation
Partition Layout
| Partition | Filesystem | Label | Purpose |
|---|---|---|---|
| 1 | FAT32 | ARCHR | Boot (kernel, DTBs, overlays, boot.scr) |
| 2 | ext4 | ARCHR_ROOT | Root filesystem |
| 3 | ext4 | STORAGE | User data, ROMs, configs |
Community
Contributions are welcome. Please open issues or pull requests on GitHub.
Licenses
Arch R is a fork of ROCKNIX, which is a fork of JELOS. All upstream licenses apply.
You are free to:
- Share: copy and redistribute the material in any medium or format.
- Adapt: remix, transform, and build upon the material.
Under the following terms:
- Attribution: You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
- NonCommercial: You may not use the material for commercial purposes.
- ShareAlike: If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original.
Arch R Software
Copyright (C) 2026-present Arch R
Original software and scripts developed by Arch R are licensed under the terms of the GNU GPL Version 2. The full license can be found in this project's licenses folder.
Bundled Works
All other software is provided under each component's respective license. These licenses can be found in the software sources or in this project's licenses folder. Modifications to bundled software and scripts by upstream projects are licensed under the terms of the software being modified.
Credits
Like any Linux distribution, this project is not the work of one person. It is the work of many people around the world who have developed the open-source components without which this project could not exist.
Special thanks to:
- ROCKNIX -- the upstream distribution that Arch R is forked from. ROCKNIX provided the complete build system, device support, EmulationStation integration, and the foundation for handheld gaming on Linux.
- JELOS -- the project that ROCKNIX was originally forked from.
- CoreELEC and LibreELEC -- the embedded Linux distributions whose build system forms the backbone of this project.
- Hardkernel -- for the Odroid Go Advance BSP U-Boot and kernel device trees.
- Rockchip -- for the RK3326 SoC and rkbin firmware.
- Mesa -- for the Panfrost open-source GPU driver.
- RetroArch and Libretro -- for the emulation framework and cores.
- EmulationStation -- for the frontend.
- All developers and contributors across the open-source community who made this possible.
