Skip to content

Latest commit

 

History

History
79 lines (60 loc) · 3.09 KB

File metadata and controls

79 lines (60 loc) · 3.09 KB

What this runs on

RUNNER PROTOCOL needs three things from a handheld:

  1. python3, no packages, just the interpreter. Several popular firmwares don't ship one at all.
  2. A writable /dev/fb0 at 32 bits per pixel. It draws by copying raw bytes into the framebuffer; there is no SDL, no OpenGL, no compositor.
  3. A 640x480 panel. Unlike its sibling pocket-clawd, which centres itself on larger screens, this one is drawn wall-to-wall for exactly 640x480 and does not letterbox. Other sizes are untested and will probably render misaligned.

Check a device in ten seconds:

cat /sys/class/graphics/fb0/virtual_size   # want 640,480 (or 640,960 panned)
cat /sys/class/graphics/fb0/bits_per_pixel # want 32
command -v python3

Known to work

Device Screen Firmware
"R36S" / K36 / R35S / R33S clones 640x480 ArkOS4Clone. This is the one it was built on

That's the honest list: one device family, personally tested. The devices below share the panel, the SoC class and the firmware family, so they should work - but that is reasoning from specifications, not from having run it:

Device SoC Firmware
Anbernic RG351V, RG351MP RK3326 ArkOS, ROCKNIX
Powkiddy RGB10X RK3326 ArkOS4Clone, ROCKNIX
Anbernic RG353V / VS (640x480 panels) RK3566 ArkOS, ROCKNIX

If you try one, I'd genuinely like to know either way - open an issue.

Won't work (yet)

  • Any panel that isn't 640x480 - 480x320 (RG351P/M), 720x720 (RGB30), 1280x720 (TrimUI Smart Pro). A resolution-aware layout is the obvious next thing to build if people want it.
  • Panels that aren't 32 bits per pixel (16-bit RGB565, common on SigmaStar devices).
  • Firmwares with no python3: muOS (unless you add it), OnionOS, MinUI.
  • Android handhelds. Different world entirely.

Notes on particular firmwares

ArkOS / ArkOS4Clone / dArkOS. The best case: Ubuntu-derived, real python3, writable filesystem, and the carousel installer works exactly as designed. SSH is off until you switch on Remote Services in the Options menu.

ROCKNIX / Batocera / Knulli. python3 and a framebuffer are present, but the carousel step won't apply as written (those firmwares regenerate or drop-in their EmulationStation configs). Launch device/Claude Runner.sh directly, or wire it into whatever menu the firmware uses.

Buttons

The defaults cover the standard Linux gamepad codes and the non-standard ones this class of clone emits (SELECT and START arrive as BTN_TRIGGER_HAPPY1/2, 704 and 705, rather than 314 and 315). If a button does nothing on your device, open an issue with the output of evtest and I'll add the codes.

No PC around?

The game normally plays against live usage data pushed from a PC (see INSTALL.md). Without one it sits on the NO SIGNAL screen - press Y there to run the PROTOCOL DRILL: a full synthetic run (cold, the band, critical, blackout, reset) on the real renderer, clearly badged as synthetic, for trying every mechanic without a live link.