Skip to content

kUI-0.27a

Choose a tag to compare

@ArjunKdaf ArjunKdaf released this 24 Jun 02:15

Clean install required. Format the SD card as FAT32 (MBR) and extract kUI-0.27a.zip onto an empty card. Do not upgrade in place from 0.09a via the Updater — internal layout, paks, and binary set have all changed.

PakDek — in-house pak manager

Replaces Pak Store. Browses a curated storefront, installs/uninstalls paks, remembers cursor on back-navigation, and ships with Installed category support. Storefront is fetched live from the kUI GitHub repo, not bundled in the SD.

RA PreFetch — offline RetroAchievements pre-downloader (kUI-exclusive)

New Tools pak. Bulk-downloads RA hashes, game data, achievement sets, and badges for your whole library so achievements unlock offline (uses the offline-RA framing introduced upstream in LoveRetro#707). Three modes: By Platform / By Game / Clear Cache. Authenticate in Settings → In-Game → RetroAchievements first. Never overwrites files written by NextUI's existing offline-RA code.

Developer submenu (Settings → Developer)

Ported from nx-redux by mohammadsyuhada. Four items:

  • Disable sleep — prevent deep sleep mode (handy for ADB debugging)
  • Enable SSH — start/stop the SSH server now
  • Start SSH on boot — persist SSH across reboots
  • Clean dot files — remove macOS junk (.DS_Store, ._*, .Trashes, *_cache[0-9].db, __MACOSX) — two-press confirm

Power Profile (Settings → System)

UI for the kernel-governor refactor upstream landed in LoveRetro#695:

  • Autoondemand governor (balanced, default)
  • Performance — pinned to max clock
  • Powersave — capped lower

Persists across reboots via /.userdata/shared/.power_profile.

Updater — extraction fix

Updater previously called unzip from the system PATH, but the device has no system unzip binary — so extraction silently failed with "Extraction failed!" after every download. Now uses the bundled /mnt/SDCARD/.tmp_update/<PLATFORM>/unzip (Info-ZIP 6.00), same path PakDek uses.

The Dude — quest variety + bug fixes

  • Quest variety: Dude quests are generated once per Dude session with the mix 2 revisit + 2 marathon + 2 try — stable while you're in the app, fresh every time you reopen Dude.
  • Bug fix — history refresh: playtime/XP/recent activity didn't update after returning from a launched game. read_games() + calculate_xp() are now extracted into a refresh_state() helper and called inside action_history() before render, plus the deltas (delta_plays / delta_time_min / delta_unique) refresh too so daily-quest progress reflects the new session.
  • Bug fix — sleep button: the sleep button was dead while inside The Dude. The main loop now calls PWR_update(&dirty, &show_setting, NULL, NULL) right after PAD_poll() so sleep + brightness OSD behave the same as everywhere else.
  • Bug fix — Dude-launched games now tracked: games launched via a Dude quest were never written to game_logs.sqlite because The Dude.pak/launch.sh eval'd the launch command directly, bypassing nextui.c's normal gametimectl start call. Result: Dude's own history showed 0 progress for any game played through it, and Game Tracker missed those sessions entirely. The dude-launch command is now wrapped with gametimectl.elf start; ...; gametimectl.elf stop so sessions land in the shared DB and surface in both The Dude and Game Tracker.
  • Bug fix — Dude-launched games now appear in Recents: same bypass also meant Dude launches were missing from the Recents folder, Game Switcher (MENU+SELECT), and auto-resume. The Dude now updates recent.txt itself (dedupe + prepend + cap at 24), mirroring nextui.c's addRecent() for normal launches.

Upstream NextUI commits absorbed

PR Title
LoveRetro#707 Offline RetroAchievements support
LoveRetro#695 Replace userspace CPU governor with kernel scaling governors
LoveRetro#721 Refactor: break minarch.c monolith into focused ma_*.c modules
LoveRetro#727 Fix: slowdowns on Auto cpu speed
LoveRetro#728 Fix: defer Rewind_init until after core initialization (crash fix)
LoveRetro#729 Feat: support custom fonts in system settings
LoveRetro#733 Fix: CPU stuck in performance mode on fresh install
LoveRetro#749 Feat: font style configurable (fixes LoveRetro#748)
LoveRetro#750 Fix: properly detect USB-C cards plugged in before booting
LoveRetro#751 Fix: wrong label on game switcher entries w/o save state