Arch R is an **Arch Linux** distribution for the **R36S** handheld gaming console and its many variants. In the same spirit as SteamOS, it pairs a genuine Arch userland (pacman, systemd, up-to-date packages) with a curated console experience: flash it, turn the device on, play. System updates are delivered through the built-in updater, kernel included; reflashing is only needed for a fresh install or recovery.
The image build pipeline descends from the LibreELEC family of embedded build systems (through JELOS and ROCKNIX), but the operating system it assembles is Arch Linux ARM, not a JELOS derivative.
- Genuine Arch Linux ARM base with pacman and signed package repositories (stable, next and dev channels).
- Built-in system updater in EmulationStation; kernel and device trees update through it too, with checksum-verified writes to the boot partition.
- Mainline kernel 6.12 LTS with board auto-detection via SARADC.
- Memory clock trained at 666MHz from boot (twice the BSP-era default) and tuned Mali-G31 graphics.
- EmulationStation frontend with RetroArch and 18+ cores pre-installed, plus PortMaster.
- Full audio support with speaker/headphone auto-switch across board revisions.
- Power button light sleep: screen and backlight fully off, instant wake.
- Power LED control (on, off, heartbeat) on every supported family.
- USB WiFi dongle support, including the common RTL8188EUS family (TP-Link, Edimax).
- MIPI panel overlays for every known motherboard revision, generated on demand by the online overlay generator at https://arch-r.io/overlay-generator/ (or during flashing by the Arch R Flasher). The generator also extracts board-specific wiring (audio amplifier, jack detect, LEDs, PMIC interrupt) from your stock DTB.
Panel overlays are not baked into the images. Generate the overlay for your exact motherboard revision at the online generator, https://arch-r.io/overlay-generator/ (pick your board, or upload the stock `dtb` from the SD card that shipped with the device), then copy the resulting file to `overlays/mipi-panel.dtbo` on the boot partition. The Arch R Flasher can also generate and install the overlay during flashing. The `/flash/overlays/` folder on a fresh install contains a `README.txt` with the same instructions.
The easiest path is the [Arch R Flasher](https://github.com/archr-linux/archr-flasher), which downloads, verifies, flashes and installs your panel overlay in one go. Manual flashing works too:
Always verify the download against the published `SHA256SUMS` before flashing. Insert the SD card and power on; the correct board DTB is selected automatically.
## Updates
- **In place (default after install)**: EmulationStation > Updates, or `archr-update` over SSH. Updates come from the signed pacman repository; after each transaction the boot partition is synchronized automatically, so kernel and device-tree fixes arrive without reflashing. User overlays and configuration are never touched.
- **Reflash**: for fresh installs, recovery, or the rare low-level bootloader change (TPL/U-Boot, e.g. a DDR frequency change), which lives outside the filesystem.
Release channel is configurable (stable, next, dev) under updates settings.
- **Board DTB** = hardware profile (GPIOs, PMIC, joypad, audio codec). Selected automatically by U-Boot via SARADC. One generic DTB per hardware family; board-revision differences are carried by the overlay.
- **Panel overlay** = display init sequence, timings and board-specific wiring extracted from the stock DTB. Applied on top of the board DTB at boot time.
The Arch R operating system is Arch Linux ARM plus original Arch R software. The image build tooling in this repository descends from [ROCKNIX](https://github.com/ROCKNIX/distribution) and [JELOS](https://github.com/JustEnoughLinuxOS/distribution/); the licenses of that inherited tooling continue to apply to the portions derived from it.
- **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.
Original software and scripts developed by Arch R are licensed under the terms of the [GNU GPL Version 2](https://choosealicense.com/licenses/gpl-2.0/). The full license can be found in this project's licenses folder.
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.
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.
- **[Arch Linux](https://archlinux.org/)** and **[Arch Linux ARM](https://archlinuxarm.org/)** -- the operating system Arch R is built on.
- **[ROCKNIX](https://github.com/ROCKNIX/distribution)** and **[JELOS](https://github.com/JustEnoughLinuxOS/distribution/)** -- the projects whose build tooling and RK3326 device knowledge Arch R inherited and still learns from.
- **[CoreELEC](https://coreelec.org/)** and **[LibreELEC](https://libreelec.tv/)** -- the embedded Linux distributions whose build system forms the backbone of the image pipeline.