Skip to content

Releases: ArjunKdaf/kUI-Cold

kUI-0.81a

Choose a tag to compare

@ArjunKdaf ArjunKdaf released this 19 Jul 00:05

The biggest kUI release yet: 44 commits since 0.27a, headlined by over-the-air updates, The Dude moving into the launcher, screen-fit bezel overlays, and Artbook theme variants.

Updating

  • Over-the-air (new!): on kUI 0.27a with WiFi connected, open Tools → Updater, pick kUI-0.81a, and let it do its thing. No SD card reformat, no data loss — a boot-time migration handles everything. This is kUI's first OTA-capable release.
  • Fresh install: format an SD card as FAT32 (MBR), unzip kUI-0.81a.zip onto it, add your ROMs and BIOS files, insert, and power on.

sha256: 1d5731db7f0288896d790ebc5c308e96b940cfea48d9da4ea6c572e6bd40763a

Highlights

Over-the-air updates

The Updater now shows a live download progress bar, and the whole update path was audited end-to-end: the release zip ships its payload exclusively via MinUI.zip, and binaries that are running during an update (the updater itself, the bundled unzip) are staged as *.new and swapped in at boot. Future releases install from the couch.

The Dude lives in the launcher now

The Dude is no longer a separate pak — he's built into the launcher itself. Quest launches go through the exact same code path as launching any game (resume, recents, play-time tracking all just work), returning from a quest drops you back at his screen, and a cold boot centers the carousel on him. Also new: the Mystery quest — a blind launch of a random game from your library for +75 XP. Several tracking bugs fixed along the way (quest completions counting, vanished-ROM guards).

Screen-fit bezel overlays

Shin & KrutzOtrem's MIT-licensed bezel pack ships for 17 platforms — console-shaped bezels for handhelds (GB, GBC, GBA, GBH, GG, Lynx, NGPC) and CRT frames for home consoles. Handhelds default to pixel-perfect Native scaling inside their bezel. Your existing per-game settings are never overridden.

Artbook theme variants

Settings → Themes now offers five local Artbook variants — Default, Nintendont, Noir, Outline, Circuit (art by Anthony Caccese) — applied instantly, no downloads, no catalog. Clearing a theme restores the stock look in one press.

UI Modes: Lists / Covers / Carousel

Choose how the launcher presents your library in Settings → Appearance → UI Mode:

  • Lists — pure text, fastest possible browsing
  • Covers — vertical lists with boxart
  • Carousel — the full kUI experience: carousel, boxart, metadata, platform pill

Launcher polish

  • Platform pill anchored to the tray everywhere — launcher, in-game menu, settings
  • L1/R1 platform hop — jump between consoles from inside any game list (empty platforms skipped)
  • Metadata footer — year · publisher · genre under the boxart, marquee-scrolls when long
  • Simple Mode is now a native toggle (Settings → Appearance) — games only, no Tools, minimal in-game menu

For ROM hack players

The GBH (Game Boy hacks) system now picks the right bezel per game by file extension — mixed folders of GB, GBC, and GBA hacks each get matching overlays.

Also in this release

  • White point correction (Settings → Display) with per-channel RGB gain — absorbed from upstream NextUI (LoveRetro#760)
  • Launch hooks (.userdata/<platform>/.hooks/ — boot, pre/post-launch, pre-sleep, post-resume) for pak authors — absorbed from upstream (LoveRetro#690)
  • Scraper: broader platform coverage and fuzzier ROM-name matching
  • RetroAchievements offline: RA PreFetch reliably populates the offline cache; wiping a game also clears its RA cache
  • Storefront: 7 paks removed that duplicated kUI built-ins; every remaining pak re-audited before release
  • Fixes: crash entering Tools from the Quick Menu, Quick Menu resume state, PakDek scroll position memory, metadata footer rendering races, shader original-texture support (LoveRetro#720, thanks DrFlarp)

Supported systems

47 systems out of the box — see SUPPORTED_SYSTEMS.md. Heavier emulators (DraStic, N64, Dreamcast, PSP, ScummVM) install on demand through PakDek.

Credits

Built on NextUI (GPL-3.0), itself built on Shaun Inman's MinUI. Bezel art by Shin & KrutzOtrem (MIT). Artbook Next artwork by Anthony Caccese (CC-BY-NC-SA). Thanks to the upstream NextUI team — four upstream improvements are absorbed in this release, tracked in UPSTREAM_TRACKING.md.

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

kUI v0.09a

Choose a tag to compare

@ArjunKdaf ArjunKdaf released this 02 May 03:00

kUI v0.09a — First Alpha Release

Custom firmware for TrimUI Brick/Hammer built on NextUI.

Highlights

  • 47 systems — every pre-analog platform with a libretro core, all built-in
  • Carousel with Artbook artwork for every system
  • The Dude — gamification companion with daily quests, achievements, streaks, and platform trivia
  • 5 LED profiles — Default, Low Battery, Critical, USB, Sleep
  • Unified Settings — Collections, Boot Logo, Themes, LED Control, Date & Time
  • Scraper & Patcher — native artwork + metadata scraper
  • OTA Updater — update kUI directly from the device
  • RetroAchievements — earn achievements while playing
  • Theme support — download and apply themes over WiFi

Installing

📺 Watch the installation video

  1. Format SD card as FAT32
  2. Extract zip contents to SD card root
  3. Add your ROMs to the matching Roms/ folders
  4. Add BIOS files to matching Bios/ folders
  5. Insert SD card and power on
  6. Wait for kUI logo
  7. Sii felice

Notes

  • This is an alpha release — expect bugs
  • See README.txt in the zip for full documentation