Repository navigation
Releases: mmadalone/mad
Release list
v0.4.0 — Sidebar reorder/hide + Wii-nav toggle
Builds on v0.3.0 (the interactive installer). Highlights:
Added
- Reorder + hide every sidebar entry — the MAD Sidebar page now reorders entries (carry-mode: A lift / move / A drop) and shows/hides each one (X cycles Auto / Always show / Always hide), core pages included. An Apply button rebuilds the sidebar immediately (no panel reopen) and the layout persists (
SIDEBAR_ORDER+FORCE_*ininstall.conf). The Sidebar entry itself can be reordered but never hidden (escape hatch); capability auto-hide stays as the per-row Auto state. - Wii-Remote navigation toggle — ES-DE → Main Menu → Input Device Settings → WII REMOTE NAVIGATION (on by default) enables/disables the Wii-nav bridge live, no restart.
- Hardware-setup + Maintenance-scripts GUIDE sections.
Changed
- Maintenance CLIs are now portable —
skyscraper-apply,dedup-disc-gamelists,reorganize-cd-games,clean-manual-cruft,fix-media-names-for-dir-as-file,wire-bezels, and theconvert-pixel-*/inject-carousel-logostools read the ROM dir, gamelists, media folder, and RetroArch config from ES-DE's own settings (newesde_settings.media_root()), so they work on any Deck — not just the maintainer's SD-card layout.
Fixed
- Suspend reliability — deep-vs-s2idle is now decided by the Steam Deck DMI (every current Deck's kernel forbids s2idle → uses
deep), fixing "the screen dims then immediately wakes" and a case where a SteamOS update could re-break suspend. - Honest post-update recovery —
samba-setup.shreports failures instead of falsely claiming success (and won't hang non-interactively);deck-fetch-esde.shgot network timeouts.
The patched ES-DE itself (sidebar/Wii-toggle C++) ships separately as the rolling latest-steamdeck AppImage via ES-DE's in-app updater. Full notes: CHANGELOG.
v0.3.0 — Interactive installer
First release with an interactive installer: a fresh install.sh opens a whiptail menu to pick which features to install, and remembers your choices.
Added
- Interactive component picker — choose theme / Sinden lightgun / Samba; choices saved to
install.conf(gitignored). New flags--express(defaults, no prompt) and--reconfigure.deck-post-update.shre-applies only opted-in components after a SteamOS update (absent file = legacy "do everything"), so opted-out users aren't restored or nagged. - Activation hooks now ship (
hooks/) — launch-screens, Sinden auto-start, quit-combo watcher, Dolphin-Wii-mode / Wiimote-quit. Previously owner-only; these features now actually fire on a fresh install. - Model-aware suspend (
suspend-mode-setup.sh) — LCD (Jupiter) pins deep/S3, OLED (Galileo) keeps s2idle. Replaces the old unconditional deep-pin that was wrong on OLED. - Capability-adaptive MAD sidebar + a Sidebar page — auto-hides Lightgun / X-Arcade / Bezel rows you can't use yet, with Auto / Always-show / Always-hide overrides.
- On-demand bezel pack download — the Bezel page fetches a system's pack from The Bezel Project when it's absent.
Changed
deck-fetch-esde.shdownloads the patched-ES-DE AppImage from the fixedlatest-steamdecktag instead of/releases/latest, matching the in-app updater and CI.
Full notes: CHANGELOG.
v0.2.0 — Share-readiness
First pass at making the repo safe to install on someone else's Steam Deck
("share-readiness"). The maintainer's full rig (X-Arcade Tankstick, 2× Sinden,
multi-pad) is unaffected — every change below only alters the experience on a
fresh/other Deck.
Fixed
- Arcade launches no longer blocked on a Deck without an X-Arcade. The
"No X-Arcade detected" dialog now appears only once an X-Arcade has actually
been identified; previously it blocked every arcade / OpenBOR / MUGEN launch
(~30 s) on any Deck with no arcade stick. install.shfails loudly when ES-DE didn't install. A failed patched-ES-DE
download now stops with a clear, actionable recovery message instead of
reporting success and leaving an unlaunchable front-end.- Controllers detected on first install.
install.shnow tells a new user to
reboot / re-login (for theinputgroup) before launching ES-DE — without it
MAD silently sees no controllers. The advisory is suppressed under--dry-run,
where nothing was actually changed.
Changed
controller-policy.example.tomlis now a neutral, fully-commented template.
Installing it seeds a clean default policy instead of the maintainer's personal
setup (stale X-Arcade USB port, a custom splash image, oversized fonts, a Sinden
lightgun collection). The shippedcontroller-policy.tomlcarries no
rig-specific active stanzas, so a bare Deck gets sane defaults and rig-specific
warnings stay silent until the matching hardware is identified.- Hardware-neutral labels in the
--standalonesystems template (dropped
"(X-Arcade)" and "(Linux Sinden, 2-player)" from emulator command labels). - README / GUIDE updated to describe the example policy as a neutral template.
Removed
- Maintainer-private files no longer ship in a public clone:
openbor-metadata.json,romhack-*.json,skyscraper-flagged.json,
review-findings/, a straysquashfs-root → ./AppDirsymlink, and the
supersededinstall-bezels*.sh. Local copies are kept; nothing on the install
path referenced them. - Obsolete
model2-m2emu.sh(renamed tomodel-2-emulator.sh).
ES-DE-MAD (Steam Deck, latest)
Patched ES-DE 3.4.1 (MAD fork) AppImage — built on ubuntu-22.04 (glibc 2.35).
Build: run 169 · commit dfec40432278a3b6d7253678ca34f99cf4168c5d
What's new
- Changelog lists what is new in the build, not the six newest commits (dfec404)
- Update popup: let the changelog be read, and scrolled (757093d)
- Run the MAD tests in CI, and stop tests from triggering a release (9d5b6dd)
- Pin the bytes that decide which files get copied over which (037f29b)
- One copy of the rule that decides what a list press does (72baeb4)
- A test harness for the MAD panel, and the first tests it has ever had (c65dff2)
240 fork patches on top of ES-DE 3.4.1 —
full list