I spent the last few days testing Arch-R on my R36S. I originally switched because I had reached a dead end trying to push the old Linux 4.4 kernel in dArkOS any further.
My goal wasn't to compare distributions. I simply wanted a modern kernel to continue low-level hardware research.
Here are my observations so far.
What worked immediately:
- System booted normally after flashing.
- All core services came up without issues.
- USB OTG gadget works out of the box.
- Ethernet-over-USB works immediately.
- SSH over USB works immediately.
- Wi-Fi works.
- The battery indicator reports correct battery level.
- No speaker noise in the menus.
- No speaker noise after leaving games.
- No speaker noise while using my USB Wi-Fi dongle.
For me, USB Ethernet alone was a huge improvement. On dArkOS I spent a long time patching DTBs and experimenting with USB gadget mode before reaching the same point.
Things I noticed:
Wi-Fi SSH
After rebooting the console, SSH over Wi-Fi reports: WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
It is easy to fix by removing the old SSH host key from known_hosts, but it becomes annoying during development.
I haven't investigated the reason yet.
OTG role switching
Switching from USB Gadget mode to USB Host still requires rebooting or powering the console off.
Runtime role switching would still be preferable.
Package repository
The Arch-R repository intentionally contains only a relatively small set of packages.
For example, I tried installing Midnight Commander:
pacman -S mc
and discovered that the package is simply not available.
This isn't necessarily a problem, but developers coming from a traditional Arch Linux environment should be aware of it.
SanDisk SD cards in TF2
I immediately ran into the exact same TF2 problem I had previously solved in dArkOS.
Large SanDisk cards fail to initialize because of the MMC timing configuration.
The good news is that my previous DTB fix works on Arch-R without modification.
Repository:
https://github.com/khizhnik/r36s-ArchR-fixtures
PortMaster
One interesting difference compared to dArkOS:
PortMaster itself correctly detected all of my existing ports.
However, EmulationStation only displayed ports whose launcher scripts were located directly inside:
/storage/roms/ports
After copying the launcher .sh files to the top-level ports directory, every port immediately appeared and launched correctly.
So this seems to be an Arch-R frontend convention rather than a PortMaster problem.
Why I moved to Arch-R
The only reason I switched was the newer Linux kernel.
For people interested in kernel work, device trees, USB, drivers, or low-level hardware research, this alone is a huge advantage.
If your current operating system already does everything you need, I don't think there is a strong reason to migrate.
But if you enjoy exploring how these handhelds actually work internally, the newer kernel opens many interesting possibilities.
Overall impression
After only three days, I can already say that the overall architecture of Arch-R feels well designed.
This may surprise people who know that I'm not particularly fond of Arch Linux.
Even so, I think the project itself is technically impressive.
If someone ever decides to build a Debian or Ubuntu based operating system for the R36S with a clean and maintainable architecture, I would strongly recommend studying the solutions already implemented in Arch-R.
At the moment I'm running Arch-R from an 8 GB SD card while keeping my dArkOS installation intact.
My plan is to continue comparing both systems because I believe each of them can inspire improvements in the other.
Test hardware
Device:
R36S
PCB revision: R36S-V1.0
PCB date: 2024-09-27
SoC
Rockchip RK3326
RAM
1 GB (2 × Micron D9QWN DDR3)
Audio
RK817 PMIC / audio codec
External amplifier marked 20N52 (possibly JS2001 family, not yet confirmed)