spruceOS v4.6.0 Changelog
Join our Discord here!
Check out the wiki for info on ROM folders and apps Here
Changes since v4.5.6.
New Devices
- GameMT E5 Plus (BobMoss, preliminary support) (@MarsInsanity)
- Powkiddy V90S (oakMOSS) (@CatalyticArkun)
- TrimUI Brick on oakMOSS (@CatalyticArkun)
New Features
- Touch controls in PyUI: tap to select and launch, swipes follow your finger in grid and list views, edge scrolling, double tap to accept, long press on the top bar for Menu and X, and a touch keyboard. Timings can be adjusted in Input Settings on touch devices (@ryanmsartor)
- RetroArch menu touch on the XU20 and Zero 40 (@Sundownersport)
- Kid Mode: a locked-down mode built on Game Selection Only Mode, with game lists forced to Carousel (@Sundownersport)
- In-Game Menu Settings: turn each in-game menu entry on or off (@Sundownersport)
- pokedaisy core for GB, GBC and GBA (experimental, not on the Miyoo Minis) (@thwonp, @ryanmsartor)
- armGBA is now the default GBA core, and replaces tgbdual for GB and GBC; armGBA LCD shaders, with lite versions for weaker GPUs like the Brick (@ryanmsartor, @MagnominusGit)
- Gamelist, m3u and splore import tools now run inside PyUI, and the Miyoo gamelist generator handles ScummVM and FBNeo (@Hairo)
- Apps can run inside PyUI (@abalakh)
- Cheevos updated to v1.0.1 (@abalakh)
- RGB30: Bluetooth (@Sundownersport)
- dArkMoss: DraStic, and the RK3326 units get their own PPSSPP build (@Sundownersport)
- Miyoo Minis: charge screen when the charger starts the device (@WildEmu)
- Miyoo Mini: network ADB setting, off by default (@Sundownersport)
- A133P: extended brightness setting (@ryanmsartor)
- Verbose PyUI logging toggle (@abalakh)
- Option to show or hide the DS BootMenu entries (@ryanmsartor)
- GVU shows embedded subtitles (@Sundownersport)
- Tobographic overlay packs for 720x720 and 1280x720 (@GermanTacos, @ryanmsartor)
- Catalan translation completed; setting value pickers can now be translated, and File Management, RetroArch and PPSSPP follow the UI language (@GuillemRoca)
Improvements
- DSperate updated to v3.3.0, with the Vulkan backend on 64-bit devices (@beebono, @kolfae, @ryanmsartor)
- armGBA updated to v1.4 (@ryanmsartor, @MagnominusGit)
- Yabadabadoo updated to v0.4, Gambatte updated (@Sundownersport, @ryanmsartor)
- RetroArch rebuilt with netplay timeouts for silent peers (@Sundownersport)
- RetroAchievements: achievements are cached at launch only for RetroArch games (@Sundownersport)
- Settings: Button Settings and Controller Settings are now one Input Settings menu, the button settings were reworked, and Additional Settings is alphabetized (@ryanmsartor)
- Settings and the UI language are kept across updates (@Sundownersport, @GuillemRoca)
- Random Game scans subfolders and finds their box art (@ryanmsartor, @Sundownersport)
- Recents shows system names instead of folder names (@pmsobrado)
- Box art scraper: Atomiswave, EasyRPG, Jaguar, Loopy, Naomi, DSi and PC98, more abbreviations, and fallbacks between related systems (@ryanmsartor, @Sundownersport)
- Game Nursery uses the best-resolution system icons in your theme (@ryanmsartor)
- PPSSPP configs standardized across devices: A for menus, fast forward on R2, auto save state load, no update check (@ryanmsartor, @MarsInsanity)
- Smart Pro S: the panel runs at 60 Hz instead of 62.94 Hz (@Sundownersport)
- A30: a more usable backlight curve, and the backlight level is restored at boot (@ryanmsartor, @CatalyticArkun)
- Anbernic XX with 720x480 screens: lower minimum backlight (@ryanmsartor)
- RG353M: touch controls in PyUI, and fixed RetroArch and PPSSPP controls (@ryanmsartor)
- XU Mini M: PPSSPP defaults to OpenGL instead of Vulkan (@ryanmsartor)
- PyUI image-top and image-bottom list views: better text centering (@ryanmsartor)
- dArkMoss: Dreamcast defaults to Flycast standalone, and G350 gets N64 and Dreamcast standalone pad configs (@Sundownersport)
- A10 Mini V4: DSperate and GVU are turned the right way up (@Sundownersport)
- H700, A523 and RK3566: threaded video off by default in RetroArch (@ryanmsartor)
- Games use the chosen time zone (@Sundownersport)
- Update checks always run; the setting to turn them off is gone (@ryanmsartor)
- PortMaster updated to 2026.11.02 (@Sundownersport)
- Removed the PCSX-ReARMed standalone, tgbdual, and DraStic-Steward on devices that run 64-bit DraStic (@Sundownersport, @ryanmsartor)
Bug Fixes
- Restoring a backup keeps your per-game core overrides (@Sundownersport)
- WiFi: wpa_supplicant is retried when it fails to start at boot (@Sundownersport)
- Some devices no longer report that they have no WiFi radio (@Sundownersport)
- Flip: the sticks work right after calibration (@Sundownersport)
- A30 and Flip: the backlight level set in PyUI matches the hotkeys, and no longer jumps after a game exits (@CatalyticArkun)
- A30: the power-off dim fades from the current backlight (@CatalyticArkun)
- N64 and Saturn: the game options menu shows one Emulator row, and 32-bit RetroArch launches the right core on the RGB30 and Flip (@Sundownersport)
- dArkMoss: battery percent reads correctly on every unit (@Sundownersport)
- Smart Pro: stick calibration works again (@Sundownersport)
- A30: PICO-8 keeps its sound after sleep (@Sundownersport)
- A30: the "Powering off..." screen shows when you hold Power (@abalakh)
- A30: ports get the right RetroArch build and config (@ryanmsartor)
- Anbernic XX: Smart CPU mode tunes correctly (@abalakh)
- SD repair unmounts the card before fsck and remounts it read-write (@abalakh)
- dArkMoss: a refused power-off or reboot is retried, and waking waits for suspend to finish (@MarsInsanity)
- Low battery: the warning no longer blocks the forced shutdown (@Sundownersport)
- Game switcher respects the button delay (@pmsobrado)
- L3 volume: releasing it stops volume down (@MarsInsanity)
- Miyoo Minis: no more log spam from key events (@Hairo)
- Miyoo Mini: detected correctly during updates (@Sundownersport)
- oakMOSS devices: Gallery and eBook apps work (@ryanmsartor)
- /dev/shm is mounted when the stock mount is hidden (@Sundownersport)
- m3u generator handles (Rev 1), (Rev A) and similar names (@ryanmsartor)
- NDSI falls back to DSperate, not DraStic, when the core choice isn't recognized (@ryanmsartor)
- Overlays: fixed GBP and GBL images, and old overlay packs move to the new folders on update (@Sundownersport)
- SPRUCE theme: stray pixels removed from the WiFi icons (@mxmgorin)
- Bug reports show the code the server returned (@GuillemRoca)
Installation
Installer App
Try the all-in-one installer app for a super easy installation! No need to download a release or format your card manually. Available for Windows, Mac and Linux! You can install spruceOS Stable, spruceOS Nightlies, any necessaryTF1 images, or twigUI (a spruce experience for GKD Pixel 2 only) in just one click!
The installer app can also be used to update an existing spruceOS installation to the latest version, or even scrape boxart for your library.
| Platform | Download |
|---|---|
| Windows (x64) | spruceos-installer-windows.exe |
| macOS (Apple Silicon + Intel) | SpruceOS-Installer-macOS-Universal.zip |
| Linux x64 | spruceos-installer-linux-x64.tar.gz |
| Linux ARM64 | spruceos-installer-linux-arm64.tar.gz |
| Linux ARMv7 | spruceos-installer-linux-armv7.tar.gz |
| Linux i686 (32-bit) | spruceos-installer-linux-i686.tar.gz |
These always grab the newest installer — see all installer releases here
Manual Installation
- Download spruceV4.6.0.7z
- Extract onto your PC using 7zip
- Copy the entire contents to a blank FAT32 formatted SD card.
- Seriously, use 7zip to extract onto your PC THEN copy the files. IDK why but Windows breaks stuff if you use its built in extraction tool.
- For 2-slot devices that require a TF1 image, download the appropriate TF1 image from the links below and flash it to a separate SD card. See the table below for which TF1 image is required for your device, if any.
OTA Update
spruceOTA-v4.5.6-to-v4.6.0.7zcontains only the files changed since the previous stable release.- It also contains a deletion manifest for files removed since the previous stable release.
- This package is intended for OTA updates from
v4.5.6tov4.6.0.
Supported Devices
| Device | Support Status | Separate TF1 Required? |
|---|---|---|
| Miyoo Flip | Supported | No |
| Miyoo A30 | Supported | No |
| Trimui Smart Pro | Supported | No |
| Trimui Brick | Supported | No (optional: oakMoss) |
| Trimui Smart Pro S | Supported | No |
| Trimui Brick Pro | Supported | No |
| Miyoo Mini Flip | Supported | No |
| Miyoo Mini Plus | Supported | No |
| Miyoo Mini v1-4 | Supported | No |
| Anbernic H700 devices | Supported | Yes, BaseOS |
| Powkiddy RGB30 | Supported | Yes, dArkMoss |
| Powkiddy RGB20SX | Supported | Yes, dArkMoss |
| Miniloong Pocket 1 | Supported | Yes, dArkMoss |
| Powkiddy V10 | Supported | Yes, dArkMoss |
| A10 Mini | Supported | Yes, dArkMoss |
| G350 | Supported | Yes, dArkMoss |
| MagicX XU Mini M | Supported | Yes, dArkMoss |
| Anbernic RG353M | In development | Yes, dArkMoss |
| GameMT E5 Plus | In development | Yes, BobMoss |
| MagicX Zero 28 | Supported | Yes, oakMoss |
| MagicX Zero 40 | Supported | Yes, oakMoss |
| MagicX XU20 V32 | Supported | Yes, oakMoss |
| Powkiddy V90S | Supported | Yes, oakMoss |
Anbernic H700 series: These devices require a BaseOS TF1 image, which you can grab here. TF2 takes a standard spruceOS installation, so your spruceOS card stays freely swappable between supported devices.
Powkiddy RGB30, RGB20SX and V10, Miniloong Pocket 1, A10 Mini, G350, MagicX XU Mini M, and Anbernic RG353M: these devices need dArkMoss on TF1, which you can grab here. TF2 takes a standard spruceOS installation, so your spruceOS card stays freely swappable between supported devices.
GameMT E5 Plus: this device needs BobMoss on TF1, which you can grab here. TF2 takes a standard spruceOS installation, so your spruceOS card stays freely swappable between supported devices.
MagicX Zero 28, Zero 40 and XU20 V32, and the Powkiddy V90S: these devices need oakMoss on TF1 (optional on the Trimui Brick), which you can grab here. TF2 takes a standard spruceOS installation, so your spruceOS card stays freely swappable between supported devices.
BaseOS, dArkMoss, and oakMoss images can be downloaded and installed automatically using the
TF1tab on the Spruce Installer application for Windows, Mac and Linux!