MustardOS 2606.0 Andromeda
In Progress
Pronunciation
/ænˈdrɒmɪdə/
Not available yet!
This release is still in development, check back soon for download links!
Additional Information
Themes are now stored as open folders instead of compressed archives (previously extracted to the
activefolder). This enables faster theme switching, alternate theme changes, and restores random theme selection on device start. Existing.muxthmtheme files inMUOS/thememust be extracted manually.
Support MustardOS
Want to join us on this crazy and rewarding journey?
This can be done a few ways:
- Take part in the Community Forum
- Be helpful around the Discord Server
- Contribute code directly to our GitHub Repositories
- Spread the good word about MustardOS and all the amazing features
You can join the testing crew directly by:
- Supporting XongleBongle via a Ko-fi Subscription
- Boosting the Discord Server
- Contributing major code pull requests on our GitHub Repositories
- Showing exceptional values and building community rapport
Support Development Crew
We are a small team, and with your generous support we can continue growing and spreading that sweet MustardOS across other devices. If you can, support the development crew below:
AntiKk – https://buymeacoffee.com/antikk
Corey – https://ko-fi.com/cmclark00
Bitter Bizarro – https://ko-fi.com/bitterbizarro
Contributors
- antikk
- bitter_bizarro
- corey
- imcokeman
- xonglebongle
Changes
- Added 1920x1080 resolution theme support
- Added
navigate_to_dirfor centralised navigation handling - Added
resolve_info_pathfor unified info file resolution for functions - Added activity play time data content deletion function
- Added activity tracker migration function
- Added activity tracker resume function
- Added additional shaders
- Added async startup script loader
- Added attribute cache to GLES state
- Added audio mixer reset on all muX modules as a safeguard
- Added audio sink wait and volume save/restore functions to global
- Added audio sink wait for volume reset on startup
- Added automatic UI element counting from lists
- Added background precaching for content directories
- Added battery curve calculation tool
- Added battery function to global functions
- Added battery watchdog to startup process
- Added board design structure for specialised functions
- Added brightness and volume information
- Added built-in union storage file system support
- Added cache buckets for skip list compilation
- Added cached workers for union entry building and resolving
- Added caffeine function for application use
- Added canvas buffer and persistent canvas object for gradient rendering
- Added collection hash checking
- Added colour feature to screensaver
- Added combo appending for modules
- Added common download refresh poll
- Added content explorer forward history
- Added content loading mount fallback to help with union migration
- Added debug reference to stage overlay system
- Added default battery curves to devices
- Added device battery curve parameters
- Added device battery size and voltage lines
- Added device defined battery curve lookup against current voltage
- Added device specific SDL mapping
- Added forward history glyphs to default theme
- Added frontend screensaver delay to stop esoteric frontend race condition
- Added frontend specific logging to file within testing modes
- Added G350 brightness adjustment
- Added helper function for grid row count calculation
- Added hotkey negation option
- Added idle state write to display idle
- Added improved directory item count handling
- Added launch scummvm content by folder
- Added lid switch support to hotkey
- Added message arborist daemon
- Added missing global function source to SFTPGo clear script
- Added missing integer line read for stage overlay system
- Added Mustard Terminal application
- Added Mustard Terminal detection function
- Added overlay state cache to overlay system
- Added overlay texture building functions
- Added parallel and threaded loaders for main muX module loader
- Added play sound with wait for reboot and shutdown functions
- Added polled event volume key support for special devices
- Added power and volume event listeners to board index
- Added preliminary shader support for GLES based content
- Added render path checking and reset functions to overlay stage
- Added retry and fallback modes for controller input
- Added reusable grid descriptor buffers and cached grid cell shadow style
- Added run directory init on first boot
- Added scheme support to activity tracker
- Added screenshot grab mode for both
fbdevanddrmbased devices - Added SDL controller mapping overrides
- Added sending ClientID with DHCP Request
- Added specific debug mode evaluator for logging purposes
- Added storage authenticity check script on device startup
- Added storage glyph for content options modules
- Added stored volume normalisation on boot to (hopefully) avoid loud surprises on boot
- Added support for weird analogue reversals for some devices
- Added swap axis and hall switch to device variables
- Added timezone city and region alias lookup functions
- Added TrimUI Smart Pro specific SDL mapping
- Added Vita Pro to supported board list
- Added WirePlumber compatibility configurations
- Added X Y render offset for device specific screens
- Adjusted battery voltage percentage curves
- Adjusted CPU governor setting for newer kernels
- Adjusted idle timer updates to PRESS and RELEASE
- Adjusted init and shutdown scripts to be uniform
- Adjusted PipeWire to mute and restore on startup
- Adjusted spacing formatting after input struct
- Changed content scanning method across storage devices
- Disabled content load animation for RetroArch
- Enabled external content stage overlay support
- Ensure MTP processor obtains proper variables
- Ensure we always use a correct game controller file
- Ensure we exit early for factory reset checks
- Ensure we get the saved audio volume regardless of state
- Ensure we only modify DPAD swap on stickless devices
- Fixed
eth0not attempting DHCP - Fixed
read_all_char_fromopen failure memory issue - Fixed abnormal kernel panics with TrimUI network modules
- Fixed activity tracker box art alignment default theme
- Fixed activity tracker info and overview glyph path
- Fixed adding to collections from Content Explorer
- Fixed analogue input codes
- Fixed audio balance with overdrive calculation
- Fixed battery overlay removal on low power change
- Fixed boot logo theme updating for RG28XX devices
- Fixed box art loading when visual setting is set to disabled
- Fixed collection and history dot file and directory visibility
- Fixed content folder item count
- Fixed content navigation inconsistencies between grid and list views
- Fixed content options navigation lockup when swapping between option and info
- Fixed CPU governor saving and restore on sleep suspend
- Fixed default colours for PNG boot logos
- Fixed device field macro slow memory leak
- Fixed disc images (m3u, gdi, and cue) hidden in Content Explorer
- Fixed double idle inhibit file read
- Fixed DPAD swap not applying to button events
- Fixed DPAD switch and hall key variable references
- Fixed duplicated governor read on idle
- Fixed fade in and fade out functions
- Fixed false detection of invalid theme resolution
- Fixed first time installation routine
- Fixed focus returning to previous content directory
- Fixed folder path restore on content quit
- Fixed grid row calculation when column count is zero
- Fixed hidden content setting for union
- Fixed history item removal and leftover language values
- Fixed hotkey lid sleep trigger
- Fixed incorrect root path loading for content explorer module
- Fixed issue displaying content directory options
- Fixed left stick inversion in SDL map
- Fixed logged messages for various function related errors
- Fixed low battery check against new capacity values
- Fixed MAC changer to actually set the new MAC when processed
- Fixed minor ALSA audio buffering issue
- Fixed navigation in content options module
- Fixed network profile hidden SSID variable saving
- Fixed odd row spacing in content options and content info views
- Fixed original set on option change
- Fixed overdrive toggle to normalise volume on disable
- Fixed PipeWire start for HDMI audio output
- Fixed playtime data loading for content options module
- Fixed potential null or empty image paths when creating grid items
- Fixed PPSSPP application missing XDG path set
- Fixed rare screensaver dismiss deadlock
- Fixed recent wake checking for lid based devices
- Fixed restore RetroArch Overrides task toolkit script
- Fixed rumble on content close
- Fixed subtle flashing of RetroArch menu upon suspend resume
- Fixed swap creation by checking if swap exists first
- Fixed system and core logged message output
- Fixed terminal direct script launch
- Fixed terminal launching with profile and faded block sequences
- Fixed text alignment when wrapping caused by trailing spaces at end of line
- Fixed theme download progress and extraction freezing on spam inputs
- Fixed theme filter menu
- Fixed threaded video saving on symlink
- Fixed TrimUI Brick brightness mapping
- Fixed TrimUI Brick RetroArch input
- Fixed TrimUI network module reloading
- Fixed union directory count and generation with empty folder setting
- Fixed union memory issues causing crashes on large lists
- Fixed unnecessary repeated directory scans
- Fixed Vita Pro volume input mapping
- Fixed volume limit setting with overdrive enabled
- Fixed web services kill process by quoting PID
- Fixed writing to correct overlay information file
- Increased hotkey combo limit to fix RG40 and RGCUBE volume buttons
- Lowered device max voltage battery calibration
- Merged image refresh routines to common function
- Merged network startup scripts to be an early async sysinit script
- Modified
pgrepruns to get full process name - Modified ALSA state to enable hardware transmit routing
- Modified battery capacity to user controlled device voltage lines
- Modified capitalisation function to use awk process
- Modified charging module to cache hall key and blank status
- Modified charging module to wake screen with any button
- Modified chrony to restart in background after network init
- Modified content options with split detail and info views
- Modified device and mount startup scripts to init system
- Modified gradient blur routine to use cached row pointers
- Modified gradient generation to use integer interpolation
- Modified hotkeys for G350 quirks
- Modified idle handler to reduce LVGL redraw calls
- Modified image and general catalogue loading with safe fallback logic
- Modified increment values for brightness and volume
- Modified init script to load modules earlier
- Modified input init to detect device type
- Modified input to use board special functions
- Modified logging process to use new arborist module
- Modified low power to use global idle file
- Modified memory handling for directory and file lists
- Modified muX execution to run audio volume restore
- Modified network script to accept full subnet addresses
- Modified network script to only kill network processes if required
- Modified overlay battery indicator to use user calibrated capacity
- Modified passphrase script to use temporary file
- Modified path handling and merging logic
- Modified PipeWire script once again to resolve intermittent volume issues
- Modified quit process to use simplified while loop instead of sequence
- Modified saved volume functions within PipeWire script
- Modified screenshot script to utilise trap for file removal
- Modified skip patterns to support case insensitive and directory only matches
- Modified startup script to reduce logging for disabled functions
- Modified startup script to start battery watchdog before charge module
- Modified suspend to load all modules and wait for network reconnect
- Modified system information to display multiple CPU models
- Modified threading approach for scanning mounts
- Modified timezone to separate region and city selection
- Modified TrimUI device input daemon
- Modified union scanning to reduce repeated work
- Modified volume logic with values going directly to PipeWire even with overdrive
- Moved ALSA mixer reset into the foreground so it actually behaves when asked
- Moved battery watchdog to top of startup
- Moved Console Mode detection to common
- Moved content search to SELECT button
- Moved device and mount startup earlier in process
- Moved handheld mode and brightness restore to own init script
- Moved lid kill switch to top of halt process
- Moved PipeWire init to top of startup script
- Moved SSH directory ownership to web services
- Moved to 44100 default frequency for Mupen64Plus emulator
- Optimised content directory navigation
- Optimised content explorer to load content path chunks for faster resolution
- Optimised content options module with better info view
- Optimised content search JSON processing
- Optimised device module load to only run module dependency if required
- Optimised dithering lookup using flattened matrix calculations
- Optimised emulator extraction on device startup
- Optimised global function list
- Optimised glyph loading with shared image embed helper
- Optimised grid descriptor allocation by reusing memory
- Optimised input tester to handle G350 quirks
- Optimised memory usage by removing
strdupallocations, as much as possible - Optimised mount startup by waiting for SD1 and SD2 mounting only
- Optimised network script with added interface and module waits
- Optimised SDL output for larger resolution devices
- Optimised skip pattern loading with lazy first initialisation
- Optimised SSID search to hopefully weed out hidden network listing
- Optimised static route network connections
- Optimised storage mount by reusing block identification
- Optimised storage mount with future filesystem support
- Optimised system diagnostics toolkit script
- Optimised timezone code to reduce double element creation
- Optimised variable get and set functions
- Reduced content options repeated code
- Reduced extension strips in favour of inline replacement
- Reduced function parsing for PipeWire init
- Reduced udev timeout on settle
- Refactored content explorer to rebuild instead of reload
- Refactored PipeWire handling into smaller bits with improved node ID discovery
- Removed audio sink wait for simple PipeWire inspection
- Removed battery offset for low battery indicator
- Removed battery offset from advanced settings
- Removed content mount caching
- Removed device pointer for pass code loading
- Removed device raw input variables
- Removed device specific lid process
- Removed disk information from fast fetch as it sometimes reduced loading
- Removed double confirm sound trigger on history collect
- Removed duplicated glyph path resolution logic
- Removed last union references
- Removed no hang up network connection processing on suspend sleep and wake
- Removed offset variable and glyph from default theme
- Removed old TrimUI Smart Pro SDL controller ID
- Removed reliance on
pvfor archive extraction - Removed sleep from chrony reload
- Removed sound preparation and play functions
- Removed the unused search menu entry from options module
- Removed union storage name condition in search results
- Removed UnionFS userspace module and scripts
- Renamed Console Mode file path checking
- Renamed default theme options glyphs
- Renamed HDMI force refresh function name
- Renamed specific translate define for elements
- Replaced raw event input management to SDL controller
- Revert back to previous action processing method
- Reworked HDMI output functions
- Shortened muX dimension function name
- Split Mustard Terminal to own repository
- Split the startup script into smaller init chunks
- Stripped line feeds from config variables
- Updated
mugwomp93RetroArch overlays directory - Updated activity tracker language defines
- Updated battery curve and max voltage
- Updated battery curve profiles
- Updated charging and system information with capacity updates
- Updated combo runners to support
exec_argvandexec_cmd - Updated DHCP for more resilience
- Updated fast fetch logo
- Updated hotkey runners to use MENU input
- Updated network module path for TrimUI devices
- Updated network module script call path
- Updated Retroarch mappings
- Updated screenshot tool path
- Updated scripts to use DPAD swap and hall key device values
- Updated SDL IDs for TrimUI Smart Pro
- Updated Vita Pro config and control variables