From 102f7d24fcd14ed18f466f0c730ca4fc1e769d0c Mon Sep 17 00:00:00 2001 From: David Griswold Date: Thu, 22 Jan 2026 14:55:58 +0300 Subject: [PATCH] android: prioritize non-built-in displays (#1667) --- .../java/org/citra/citra_emu/display/SecondaryDisplay.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/android/app/src/main/java/org/citra/citra_emu/display/SecondaryDisplay.kt b/src/android/app/src/main/java/org/citra/citra_emu/display/SecondaryDisplay.kt index f4d736ced..d9c75f690 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/display/SecondaryDisplay.kt +++ b/src/android/app/src/main/java/org/citra/citra_emu/display/SecondaryDisplay.kt @@ -50,7 +50,7 @@ class SecondaryDisplay(val context: Context) : DisplayManager.DisplayListener { val currentDisplayId = context.display.displayId val displays = dm.displays val presDisplays = dm.getDisplays(DisplayManager.DISPLAY_CATEGORY_PRESENTATION); - return displays.firstOrNull { + val extDisplays = displays.filter { val isPresentable = presDisplays.any { pd -> pd.displayId == it.displayId } val isNotDefaultOrPresentable = it.displayId != Display.DEFAULT_DISPLAY || isPresentable isNotDefaultOrPresentable && @@ -59,6 +59,10 @@ class SecondaryDisplay(val context: Context) : DisplayManager.DisplayListener { it.state != Display.STATE_OFF && it.isValid } + // if there is a display called Built-In Display or Built-In Screen, prioritize the OTHER screen + val selected = extDisplays.firstOrNull { ! it.name.contains("Built",true) } + ?: extDisplays.firstOrNull() + return selected } fun updateDisplay() {