Skip to content

Releases: mmadalone/mad

v0.4.0 — Sidebar reorder/hide + Wii-nav toggle

Choose a tag to compare

@mmadalone mmadalone released this 22 Jun 13:22

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_* in install.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 the convert-pixel-* / inject-carousel-logos tools read the ROM dir, gamelists, media folder, and RetroArch config from ES-DE's own settings (new esde_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.sh reports failures instead of falsely claiming success (and won't hang non-interactively); deck-fetch-esde.sh got 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

Choose a tag to compare

@mmadalone mmadalone released this 21 Jun 22:04

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.sh re-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.sh downloads the patched-ES-DE AppImage from the fixed latest-steamdeck tag instead of /releases/latest, matching the in-app updater and CI.

Full notes: CHANGELOG.

v0.2.0 — Share-readiness

Choose a tag to compare

@mmadalone mmadalone released this 20 Jun 20:19

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.sh fails 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.sh now tells a new user to
    reboot / re-login (for the input group) 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.toml is 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 shipped controller-policy.toml carries 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 --standalone systems 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 stray squashfs-root → ./AppDir symlink, and the
    superseded install-bezels*.sh. Local copies are kept; nothing on the install
    path referenced them.
  • Obsolete model2-m2emu.sh (renamed to model-2-emulator.sh).

ES-DE-MAD (Steam Deck, latest)

Choose a tag to compare

@github-actions github-actions released this 08 Jun 08:39

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