External Display Stability & Layout Improvements
This release marks a milestone in external display support, improving stability, layout handling, and overall user experience.
A huge thanks to everyone who has tested and provided feedback — your input has been key to reaching this stage.
Important Notice
The package name has changed in this version.
Because of this, your previous configurations will not carry over automatically.
You will likely need to reconfigure your settings and layouts after updating.
Key Changes
-
Default External Layout Handling:
- Defined
DEFAULT_EXTERNAL_IDinLayoutConfiguration. - Added
buildDefaultExternalLayout()inInternalLayoutsRepositoryto provide a default layout configuration for external displays. EmulatorActivitynow usesDefaultLayoutProviderto generate a fallback layout if no custom configuration exists.SharedPreferencesSettingsRepositorynow returnsDEFAULT_EXTERNAL_IDwhen no external layout is set.ExternalLayoutListFragmentnow usesDEFAULT_EXTERNAL_IDas its fallback.
- Defined
-
Background Handling:
EmulatorViewModelnow correctly observes and loads the background for the external display layout, ensuring_externalBackgroundis updated even if the layout starts as null.
-
New Features:
- Added "Refresh external screen" option to quick settings, allowing users to re-initialize the external display if it fails to show up initially.
- Launcher compatibility: melonDS-android can now be launched directly from frontends such as EmulationStation-DE.
-
External Display Manager Improvements:
ExternalDisplayManagernow holds theExternalPresentationinstance.- Presentations are now detached when no activities are active in the foreground, preventing unnecessary persistence.
- Activities now interact with
ExternalDisplayManagerto show/hide presentations. RomListActivityandEmulatorActivitynow callshowExternalDisplay()inonStart()to ensure the presentation appears when the activity becomes visible.
-
ROM List Handling:
- Improved
FileSystemRomsRepository.getRomAtPathto also match by filename if the full path does not return a result.
- Improved
This version greatly increases stability and resilience of external display mode, ensuring a valid and usable layout is always available, and adds launcher integration support for smoother use in custom setups.