Skip to content

Pull Upstream#2

Open
Dark98 wants to merge 2223 commits intoSitkaOS:Developmentfrom
spruceUI:Development
Open

Pull Upstream#2
Dark98 wants to merge 2223 commits intoSitkaOS:Developmentfrom
spruceUI:Development

Conversation

@Dark98
Copy link
Copy Markdown

@Dark98 Dark98 commented Dec 17, 2025

No description provided.

ryanmsartor and others added 28 commits March 17, 2026 20:46
- Delete scummvm_libretro.so and split parts from cores64 (~205MB)
- Remove ScummVM RA core config and info files
- Remove Emulator_64 picker from ScummVM config.json (standalone is the only option now)
- A30 (32-bit) unaffected, still uses its own core from cores32
Introduce a power mode runtime module and add observability/coordination hooks across scripts. Key changes:

- Add power_mode.sh: implements a locked, resumable power-mode state file and helpers for running/sleep/waking/shutdown_pending with validation and generation tracking.
- Refactor archiveUnpacker.sh: add state file, pre_cmd handoff (foreground/background), resumable failure states, robust silent-lock handling, UI visibility flags, more detailed logging and emit traces via system-emit; ensure cleanup and exit tracing.
- Update firstboot.sh: gate completion on unpack coordinator state, add UI hold flags, timeouts, and tracing; use shared show_firstboot_screen helper.
- Update helperFunctions.sh, low_power_warning.sh, networkservices.sh and various device platform scripts (AnbernicXXCommon, MiyooMini, Pixel2, SmartProS, trimui_a133p) to emit structured events (brightness/audio/network/power) and improve PyUI writer lifecycle reporting.
- Add new scripts: power_mode.sh, system-emit (executable) and trace.sh (for tracing/emit support).
- principal.sh: add autoresume protections and validation for /tmp/cmd_to_run.sh.

Overall this improves robustness for unpacking/firstboot workflows, adds observability and tracing, and provides a canonical power-mode contract for coordinated shutdown/sleep handling.
Only send update every 1% for updater
Add task scripts to delete pyui-recents.json and pyui-favorites.json, and register them in spruce-tasks.json.
RGxx volume support -- Also allow multigrid on main menu (cube default?)
ljhmd0825 and others added 30 commits March 30, 2026 15:20
Add LD_LIBRARY_PATH export for gptokeyb2 use
Replace theme-specific progress checks with firstboot_unified_progress_active/display and persist total/completed values during unpacking.
Also add counting for preMenu/preCmd archives to the total, update archive planning logs, and fix escaping of the progress text newline in format_firstboot_extract_progress_text.
Removed the glfinish-before-swap patch which was forcing a full CPU-GPU
sync (glFinish) every frame before buffer swap. This was added during
PowerVR debugging but confirmed unnecessary — the actual display fixes
were setalpha + gl3stub SDL proc address patch.

Removing glFinish allows proper GPU pipelining and may fix the
every-other-launch crash reported by users (forced sync could leave
PowerVR driver state dirty between sessions).

Tested on both TSP and Brick over 6+ launches each with clean logs:
- No FailedGraphicsBackends.txt created
- No GraphicsBackend ini corruption
- Clean boot and exit every time
- No display issues on either device

Build: PPSSPP v1.20.3, GCC 9.4, -Ofast -mcpu=cortex-a53 -flto=auto
Patches applied: fix-glgetstringi-crash, gl3stub-use-sdl-proc, no-alpha-channel
Patches skipped: glfinish-before-swap, debug-gl-init, revert-fullscreen
Add firstbootLaneCommon.sh to centralize firstboot progress/state helpers
Update archiveUnpacker.sh, firstboot.sh and runtimeHelper.sh to source the new common file
Fix WiFi not connecting on boot for TSP/Brick
Restore filtering of folders beginning with '.'
for ScummVM TSPS sound fix
Search dirs even if there are no valid targets at the top of the dir
- spruce/scripts/applySetting/PerfectOverlays/applyPerfectOs.sh: replace bash-style '==' with POSIX '='
- spruce/scripts/emu/standard_launch.sh: add missing variable expansion
- Saves/spruce/spruce-config.json: rename device entry from "AnbernicXX640480" to "ANBERNIC_RGXX640480"
 Fix exports for miyoo mini plus backlight control / PyUI: WiFi, Rom list, fixes
PPSSPP's pause menu was mapped to the home/guide button, which
interfered with GameSwitcher. This change:

- Adds SELECT+X as the PPSSPP pause menu hotkey in all controls inis
  (matches the existing RetroArch menu convention)
- Rewrites kill_ppsspp() to use SIGUSR1 for save-and-quit instead
  of sendevent hotkeys + SIGTERM
- Removes close_ppsspp_menu() — no longer needed since the home
  button no longer opens the PPSSPP menu

Requires updated PPSSPP binaries from the sigusr1-save-quit branch
which patch out the Guide button → pause menu mapping and add the
SIGUSR1 save state handler.

Known issue: PPSSPP button mapping appears rotated 90 degrees CCW
in the PPSSPP menu vs in-game. SELECT+X (north) in controls.ini
actually triggers on SELECT+Y (west) on TSPS. Gameplay controls
are correct — only the PPSSPP menu/hotkeys are affected. Needs
investigation.
All 4 binaries rebuilt from sigusr1-save-quit branch:
- SIGUSR1 handler for save state + clean exit
- Guide/home button no longer opens PPSSPP menu (NKCODE_UNKNOWN)
- Pause menu accessible via SELECT+X hotkey

Build: PPSSPP v1.20.3, -Ofast -mcpu=cortex-a53 -flto=auto
Rename scummvm_mini_extra.7z and scummvm_mini_theme.7z to
scummvm_extra.7z and scummvm_theme.7z, and extract them on
all platforms instead of MiyooMini only. MiyooMini still
exclusively extracts scummvm_mini_plugins.7z.
The ARM64 filter is unsupported by the 7z binary on devices,
causing silent extraction failure. Repack with ARM LZMA2 filter
which all devices support.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants