-
Notifications
You must be signed in to change notification settings - Fork 1
H700 port 09 Roadmap
This document owns the H700 release lifecycle: what each stage proves, which tests gate promotion, and what is deferred or optional. Test results are not repeated here; every test ID points to the canonical report in 08-testing-status. Per-core detail remains in 10-core-game-matrix.
Alpha 1–3, Beta (h700-beta1), and RC1–RC8 are complete. h700-rc8 is the golden
master about to be opened as the PR for official merge upstream.
RC8 was not a feature delta over RC7: it is a rebuild that rebased the H700 port onto the exact upstream commit used by NextUI v6.14.0, deliberately excluding a later RetroAchievements-related change that prevented many achievements from triggering. minarch was rebuilt on that base; the H700 platform work itself is otherwise the same lineage as RC7.
Remaining work for this document is gate/evidence hygiene for the merge PR (open rows in 08, any unsettled RC/Release checklist items), not further Alpha/Beta bring-up.
The Alpha rows normalize the completed bring-up history into clear stage scopes; use these definitions when reading older alpha artifacts and commit notes.
| Stage | Purpose and issue focus | Required test areas | Status / exit |
|---|---|---|---|
| Alpha 1 — platform bring-up | Prove stock-card boot, basic display/input/audio, WiFi, and playable cores on the RG40XXV baseline | BUILD-01, BOOT-01, BOOT-02, DISP-01, INPUT-01, AUDIO-01, AUDIO-02, NET-01, GAME-01 | ✅ Complete |
| Alpha 2 — family expansion | Fix sleep/Files/UI regressions and prove real hardware deltas: RG34XXSP panel/lid/sticks, RG28XX rotation, Bootlogo sizes, and shared capability gating | POWER-01, POWER-03, APP-01, DISP-02, DISP-03, DISP-04, DISP-05, DISP-06, DISP-07, INPUT-02, INPUT-03, DEV-02, DEV-03, DEV-05, DEV-06, DEV-07 | ✅ Complete |
| Alpha 3 — Beta hardening | Close feature gaps and ambiguous policies: HDMI, Bluetooth controller/audio, screenshots, headphone route, MD Auto CPU, PS1 packaging, and representative core smoke | DISP-08, INPUT-05, AUDIO-03, AUDIO-04, AUDIO-05, GAME-03, GAME-04, GAME-06, PERF-04 | ✅ Complete; partial long-tail rows are classified below |
| Beta — public validation | Publish the supported H700 family build, collect broader device/firmware evidence, and fix any new critical regression | Beta entry gates below | ✅ Complete (h700-beta1) |
| RC — release qualification | Freeze scope, close recovery checks, validate the packaged candidate, and accept or fix all Beta findings | RC entry gates below | ✅ Complete through h700-rc8 (GM) |
| Release — supported baseline | Promote an RC with no open release blocker and with support/known-issue documentation matching behavior | Release gates below | ✅ Release gates satisfied for h700-rc8; open the upstream merge PR |
All required rows must pass on the Beta artifact. Family-level evidence is sufficient unless the code or hardware differs.
| Gate | Required tests | Current disposition |
|---|---|---|
| Candidate build integrity | BUILD-01, BUILD-02, BUILD-03, BUILD-04 | Satisfied on h700-rc8; BUILD-02 notes a tg5040 LedControl persistence report (#23) |
| Boot and shared runtime | BOOT-01, BOOT-02, DISP-01, INPUT-01, AUDIO-01, AUDIO-02, NET-01, GAME-01 | Satisfied |
| Power and resume | POWER-01, POWER-02 | Satisfied |
| Hardware deltas | DEV-01, DEV-02, DEV-03, DEV-04 | Satisfied (DEV-04 user-confirmed on cube) |
| HDMI | DISP-08, AUDIO-05 | Satisfied |
| Bluetooth audio | AUDIO-04 | Satisfied |
| Core/performance baseline | GAME-02, GAME-03, GAME-04, PERF-01, PERF-04 | Satisfied |
| Auto CPU full range | PERF-05 | Satisfied |
| Work | Priority / target | Completion condition |
|---|---|---|
| Was required for Beta | ✅ PERF-05 passed on hardware | |
| Per-model out-of-box defaults |
Post-merge enhancement (not a h700-rc8 merge blocker) |
Ship tested H700-model profiles covering shader choice, emulator/core options, and relevant frontend defaults so each model starts with sensible settings |
The per-model profiles remain an intentional H700-specific departure from NextUI's otherwise barebones cross-platform defaults. Keep the overrides narrow, documented, and tested so they improve first-run behavior without silently changing other platforms. They are not required to open or merge the upstream PR.
Beta does not require every device or long-tail core to be tested. A new Beta finding becomes a Beta blocker only when it causes data loss, prevents boot/gameplay on the supported baseline, breaks a promised feature, or shows that family-level evidence does not generalize.
| Gate | Exit condition |
|---|---|
| Beta blocker closure | Every critical/high-impact Beta regression is fixed, or the affected feature/model is explicitly removed from RC scope |
| Recovery | — |
| Packaged build | BUILD-01, BUILD-02, BUILD-03, BUILD-04 pass on the RC artifact |
| Regression smoke | BOOT-01, GAME-01, GAME-04, POWER-01, POWER-02, NET-02, and AUDIO-02, AUDIO-04 are rerun on a representative H700 device |
| Hardware-change targeting | Re-run the relevant DEV/INPUT/DISP row only when Beta changes touch that hardware delta |
| Documentation | Install prerequisites, supported models, and accepted issues below match the RC behavior |
| Gate | Exit condition | Disposition (h700-rc8) |
|---|---|---|
| RC soak | No unresolved boot, suspend/resume, audio-route, save-state, or data-integrity regression is found during RC use | ✅ Satisfied |
| Final artifact | BUILD-01, BUILD-02, BUILD-03, BUILD-04, and the RC regression smoke pass on the exact release package | ✅ Satisfied on h700-rc8. AUDIO-04 remains Pass; one report of no automatic BT re-pair after sleep/wake is expected-not-to-work and filed for triage (#20) |
| Known issues | Every accepted partial/failing row is documented with user impact and workaround where one exists | ✅ Documented. Includes accepted known bug LED-01b (dual-bank left LED; no maintainer test device — upstream merge call). Other non-blockers: INPUT-06, GAME-05, GAME-06, #20, #23 |
| Support boundary | Supported family behavior, hardware-specific exceptions, firmware prerequisites, and out-of-scope features are explicit | ✅ Satisfied as the docs stand (README install/theme notes, accepted non-gates, stretch/out-of-scope, and 08/10 known partials) |
| Rollback | The one-file dmenu.bin removal path and old-style-theme prerequisite are present in release instructions |
✅ Satisfied (skeleton/BASE/README.txt) |
These are settled decisions, not unfinished stage work.
| Item | Test evidence | Decision |
|---|---|---|
| AirPods do not always auto-connect | AUDIO-04 | AirPods may prefer a nearby paired iPhone/Mac. Remembered pairing plus manual Connect is the supported path |
| No automatic BT audio re-pair after sleep/wake | AUDIO-04 / #20 | Not a supported promise; manual Connect remains the path. Filed for triage, not a h700-rc8 Release blocker |
| RG34XXSP POWER while lid is closed | POWER-03 | Light sleep may wake; deep sleep re-sleeps while the lid remains closed |
| Charging permits light sleep only | POWER-04 | Shared product behavior is accepted |
| FBNeo missing-BIOS hard-lock | GAME-05 | Upstream core defect; ship as a known issue. Valid-BIOS gameplay passes |
| Long-tail EXTRAS core smoke incomplete | GAME-06 | Maintainer covered A2600 / mGBA / SMS / Pico-8; remaining systems in 10 stay untested by the maintainer with no specific user bug reports — known, not a merge blocker |
| Two-bank RGB left stick dead | LED-01b |
Accepted known bug for the h700-rc8 PR: dual-bank models report only the right LED changeable. Maintainer has no dual-bank test device. Upstream may merge with this open or wait for a fix; not silently treated as Pass |
| Clean uninstall exercise | BOOT-04 | Not a runtime gate; deleting the only hijack file restores stock boot by design |
| Stock MU-style theme | BOOT-05 | Install prerequisite: use old style. MU style bypasses NextUI before its code runs |
| Full matrix on every H700 model | Test rules | Not required without a hardware/firmware delta or contrary evidence |
| FN1/FN2/HOME and keep-awake-over-USB | CAP-01, CAP-02 | Unsupported RG XX/Brick-specific capabilities; not release promises |
| Crash-loop cutoff exercise | BOOT-03 | Guard exists in the launcher; inducing the five-crash poweroff path is not a Release blocker for h700-rc8
|
| Stock-launcher SIGUSR1 resilience | ROBUST-01 | Shim ignores USR1 by design; untested end to end and not a Release blocker for h700-rc8
|
| Dirty-card recovery exercise | ROBUST-02 | Boot fsck/repair path exists; untested end to end and not a Release blocker for h700-rc8
|
All former recovery deferrals (BOOT-03,
ROBUST-01,
ROBUST-02) and the cross-platform
build check (BUILD-02) are
resolved for h700-rc8: BUILD-02 passed; the recovery rows are accepted non-gates.
See Accepted behavior and non-gates.
These improve confidence or breadth but do not gate the current release unless new evidence turns one into a supported-baseline defect.
| Work | Evidence / next result needed |
|---|---|
| Battery UI consistency | Reproduce the top-bar versus Battery-pak desynchronization noted in POWER-05 |
| Bluetooth soak | Longer suspend/resume, device-switch, and game-switch cycles beyond the passing AUDIO-04 path; triage #20 (no auto re-pair after sleep) |
| Controller normalization | Fix and retest INPUT-06 across tg5040/tg5050/H700 |
| TrimUI LedControl persistence |
BUILD-02 / #23 — settings do not stick on tg5040 with the shared h700-rc8 lineage; not an H700 LED failure |
| Bluetooth audio-link detection | Distinguish A2DP from controller-only ACL links before applying sample-rate policy |
| Long-tail core coverage | Expand GAME-06 and the matrix in 10 — known incomplete, not a merge blocker |
| RGcubexx deeper functional/core walk | DEV-04 UI/10-row layout is Pass; optional broader core coverage on cube remains post-merge |
| Two-bank LED bank order | LED-01b — accepted known bug (left LED unchangeable on dual-bank reports); fix when a dual-bank device is available or a remote repro lands. Upstream may hold the merge on this |
| Additional model strings | Confirm remaining RG35XX-family RGXX_MODEL values on hardware (RG40xxH / RGSP / etc. already confirmed from firmware) |
| Enhancement | Scope |
|---|---|
| H700 overlay packs | Ship useful overlays for 640×480, 720×480, and 720×720 logical output. Target Beta if tested packs are ready; otherwise ship after Release. This is not a Beta gate because the rendering pipeline already passes DISP-05 |
| Per-panel DisplayCal defaults | Partly done: RG28XX, RG34XXSP, RG SP, and RG40XXV ship calibrated enabled presets. Remaining H700 models stay neutral until measured |
| Headphone UI | Optional HP icon and independent headphone volume; hardware routing already passes AUDIO-03 |
| Richer battery metrics | Add voltage, charge-counter, and time-to-empty data to the battery model |
| Broader per-game tuning | Extend the planned post-merge per-model defaults only where a core or title demonstrably needs a narrower override |
| Per-model out-of-box defaults | Post-merge: shader / emulator / frontend defaults per H700 model (not a h700-rc8 merge blocker) |
| 720×480 Files density | Evaluate PPU 3; PPU 2 already passes APP-01 |
| Item | Classification |
|---|---|
| Broader HDMI EDID/display compatibility | Stretch: fixed-mode HDMI already passes; add fallback modes when real displays require them |
| Panel-Fix tool | Stretch feature |
| Jammy-matched libasound / richer H700 sysroot | Optional: SDL2 already prebaked; BlueZ not in image |
| Pak Store | Separate product scope; NET-04 is not exercised for this port |
| OTA updates | Separate product scope; NET-05 is not exercised for this port |
- Open the upstream merge PR from the
h700-rc8golden master (rebased on the NextUI v6.14.0 commit so RetroAchievements behave correctly). - Keep post-merge follow-ups in Future hardening / Enhancements (per-model defaults, long-tail cores, #20, #23, remaining LED fleet gaps).
- After merge, promote documentation and tags to the published Release baseline.