Compatibility
Statuses and test runs
What experimental, unsupported and verified mean, which games were tested, and what has been checked on a real Switch.
On this page
Game statuses
| Status | Meaning |
|---|---|
| HW verified Verified | Passed the defined tests on real hardware. No game has this status yet. |
| Experimental | Loads, but tests are incomplete or issues are known. Every Ren’Py 8 game starts here. |
| Unsupported | Cannot run reliably. The loader refuses to launch it. |
The importer never writes verified. A game gets it only from a hardware test record (docs/HARDWARE_TESTS.md in the rpynx repo).
Games tested on a Switch
| Game | Ren’Py | Status | Result |
|---|---|---|---|
| The Question (Ren’Py SDK demo) | 8.5.3 | Experimental | Starts, renders on the GPU, dialogue, menus, clean quit (run 5); launched from the importer’s export (run 9); music without stutter (run 21). Its preferences screen crashed for lack of the SDK fonts (run 25); the runtime now ships them |
| Forbidden Fantasy | 7.5.3, recompiled | Experimental | Compiles on the console and renders (run 13); D-pad on its menu, links and folder buttons (run 25) |
Other games were not tested. Rows are added only with a test record. The games are also on Compatible games, with their covers.
What the labels on these docs mean
| Label | Meaning |
|---|---|
| HW verified | Checked on a real Switch, in the hardware run named next to it |
| Host-tested | Unit tests or mockups on a Mac; no console result |
| Desktop only | Tested against the official Ren’Py SDK on a desktop, or only on one desktop OS |
| HW unverified | Built, but no hardware result |
Hardware runs
Each run is recorded in tests/hardware/results/ in the rpynx repo, with the console’s log lines. Docked mode has not been tested yet.
| Run | Date | What it settled |
|---|---|---|
| 1 | 2026-10-18 | Loader starts, folders, controller detection, chain-load both ways, CPython initialises |
| 2–4 | 2026-10-18 | Python self-test: select.poll() hang and romfs:/ paths fixed; 66/66 required imports |
| 5 | 2026-10-18 | Ren’Py 8.5.3 runs: The Question, GLES 3.2 on nouveau, clean quit |
| 6–7 | 2026-10-18 | Quit freeze fixed; heat telemetry |
| 8 | 2026-10-18 | Applet mode: console-wide crash in Mesa |
| 9–10 | 2026-10-19 | Importer export launches; loader crash after return fixed (SDL timer thread) |
| 11–12 | 2026-10-19 | Leftover threads closed; three games in a row in one process |
| 13 | 2026-10-19 | Forbidden Fantasy recompiled on the console |
| 14–19 | 2026-10-19 | Ren’Py 7 compat, keyboard, button selection, D-pad and A on cards and choices |
| 20 | 2026-10-20 | Non-ASCII names: the SD parses names as Shift-JIS |
| 21 | 2026-10-21 | Non-ASCII files from an archive; audio plays |
| 22–24 | 2026-10-21 | Remap; relaunch crash from a stuck audio decode thread, then fixed; sleep |
| 25 | 2026-10-21 | Link notice, error dialog, overlapping buttons; a missing SDK font found |
| 26 | 2026-10-21 | Remap in a game, save and load, HOME; applet mode crashed the console again |
| 27 | 2026-10-21 | Emergency combo saved for the loader; applet mode refused. Milestone 6 done |
| LVGL 1 | 2026-10-22 | The graphical loader’s first run: first frame 80 ms, cores 1 % idle, SoC 36–38 °C |
Not verified on hardware yet
- Touch (H7, H29), docked mode (H18), controller reconnect (H17), per-game profiles (H14).
- Smooth video playback.
- The loader’s second round of UI changes, covers, backgrounds and Change picture.
- The full applet-mode refusal text (the status buffer was enlarged after run 27).
- Desktop-only: no cursor after touch; game menus opening on their side menu.
- The runtime’s memory use and load time.