Fix ARMHF launch on SpruceOS for Miyoo Flip - #25
Conversation
|
Warning Review limit reachedNext included review available in 45 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (4)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. WalkthroughThe change adds an ARMHF runtime helper to Codboz setup, startup, deployment, and tests. It also updates EGL display ownership detection to recognize ChangesCodboz ARMHF runtime
SDL display ownership
Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: 🔵 Low · up to On SpruceOS devices without a native ARMHF interpreter, Codboz now relies on the OS-mounted compatibility runtime for setup and gameplay; if that runtime is missing, misconfigured, or not trusted, launch can fail or use unintended local components. The PR is mergeable with explicit owner awareness to document and verify that platform guarantee. Sequence Diagram(s)sequenceDiagram
participant Launcher
participant codboz_runtime.sh
participant ARMHFLoader
participant Game
Launcher->>codboz_runtime.sh: Start game with arguments
codboz_runtime.sh->>ARMHFLoader: Select loader and pass library path
ARMHFLoader->>Game: Start game
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
All reported issues were addressed across 6 files
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
There was a problem hiding this comment.
All reported issues were addressed across 4 files (changes from recent commits).
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
There was a problem hiding this comment.
1 issue found across 2 files (changes from recent commits).
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="tests/portmaster_launcher_test.sh">
<violation number="1" location="tests/portmaster_launcher_test.sh:68">
P3: The assertion `test_runtime_resolved="$(realpath "$test_runtime")"` uses a bare `realpath` under `set -e`, while `run_with_runtime` resolves the same directory with a `realpath || readlink -f || printf` fallback chain. On hosts without `realpath` the test aborts with command not found rather than matching the code's actual resolution. Derive the expected value from the same fallback chain (or export it from `run_with_runtime`) and redirect stderr so the test stays in sync with the script's path resolution.</violation>
</file>
Tip: Review your code locally with the cubic CLI to iterate faster.
Re-trigger cubic
CODBOZ ships ARMHF binaries, but SpruceOS on the Miyoo Flip is aarch64 and does not expose the interpreter path requested by those binaries. First-run setup therefore failed when it tried to start the APK extractor.
This uses the ARMHF compatibility runtime already mounted by SpruceOS for both the extractor and the game loader. Spruce's kmsdrm display is routed through the existing SDL window path. Systems with the standard ARMHF interpreter keep their normal launch path.
Testing
make shellcheckmake test-hostmake test-host-sanitizescripts/build-docker.shunzip -t build/codboz.zipSummary by cubic
Fixes ARMHF binary launch on SpruceOS for the Miyoo Flip. First-run setup previously failed on the aarch64 system because the ARMHF interpreter path wasn't exposed; now the extractor and game loader run through the ARMHF compatibility runtime SpruceOS already mounts, while systems with a native interpreter keep their normal launch path. Setup failure now logs the error and calls
pm_finishinstead of showing an error dialog.What changed
codboz_runtime.sh, which execs directly when a native interpreter exists, otherwise runs the target through the Spruce ARMHF runtime.SDL_VIDEODRIVER=kmsdrmonly on the Spruce path.codboz_runtime.shin deploy and checks for it at launch.SDL_VIDEODRIVER=kmsdrmas a signal to use the SDL window surface in the EGL display fallback.Written for commit 63fd5bb. Summary will update on new commits.
Summary by CodeRabbit
New Features
Bug Fixes
Tests