Skip to content

[Issue]: Fully External Display Mode not working after phone update #558

Open

Description

@bynkook

Describe the bug

Symptom : Streaming is not starting. it killed as soon as start.

I am on Galaxy 25+ connected to external DELL monitor. Until the last week phone firmware update, I am very much pleased with the option 'Fully External Display Mode' as I am mirroring my home PC on another monitor in workplace.

Since the last week phone update, the option no longer working until turn it off.

I want to contribute to fix this issue. Tell me how to capture Artemis' error log on my phone

Steps to reproduce

Turn on the External Display Mode.

Affected games

PC screen streaming

Other Moonlight clients

None

Moonlight adjusted settings

None

Moonlight adjusted settings (please complete the following information)

Turn on the External Display Mode.

Moonlight default settings

No

Gamepad-related connection issue

No

Gamepad-related input issue

Yes

Gamepad-related streaming issue

No

Android version

Android 16

Device model

Samsung Galaxy 25+

Server PC OS version

Windows 11 26200.8328

Server PC GeForce Experience version

No response

Server PC Nvidia GPU driver version

No response

Server PC antivirus and firewall software

No response

Screenshots

No response

Relevant log output

Additional context

No response

Activity

  1. ClassicOldSong commented on May 9, 2026

    @ClassicOldSong
    Owner

    Samsung might changed too much of their systems this time. I don't own Samsung phones as they're too expensive for me and the only reason I'm buying it might be fixing issues for this specific brand, so I can't help much here.

  2. Kyuugit commented on Jul 4, 2026

    @Kyuugit

    I made an unofficial test build for the Samsung/OneUI external display problem:

    https://github.com/Kyuugit/moonlight-android/releases/tag/samsung-external-display-test-1

    This is meant for the issue where Artemis crashes or refuses to start streaming when “Fully External Display Mode” is enabled after a Samsung update.

    It also includes AI-found fixes for:

    • mouse/keyboard handling in the external display path
    • a hotplugging issue where you sometimes had to force close Artemis before it would detect/use the external display correctly

    There are two APKs:

    • artemis-external-display-standard-arm64-v8a.apk

      • Try this one first.
      • It is more likely to install normally.
      • Bluetooth keyboards should mostly work, but some special shortcut keys may not.
    • artemis-external-display-keyboard-adb-arm64-v8a.apk

      • Try this only if you need better Bluetooth/physical keyboard shortcut support.
      • This version includes the keyboard accessibility feature, which seems to make Play Protect/Samsung block normal installs.
      • You may need to install it with ADB.

    Important notes:

    • This is not an official Artemis build.
    • It installs as a separate app, so your existing Artemis/Moonlight settings and pairings will not carry over.
    • It was tested by me, but the implementation was fully built by AI.
    • I am not maintaining this as a proper fork. It is just a personal-use test build that I may update while I still need it.
  3. junkyardsupremacy commented on Jul 29, 2026

    @junkyardsupremacy

    I am also encountering this issue with a pixel 8a on grapheneos stable + xreal glasses

    I consider this feature extremely important so fingers crossed it can be resolved

    Artemis error

    type: crash
    osVersion: google/akita/akita:17/CP2A.260705.006/2026071501:user/release-keys
    userType: full.secondary
    package: com.limelight.noir:57, targetSdk 34
    process: com.limelight.noir
    processUptime: 7197 + 471 ms
    installer: dev.imranr.obtainium.fdroid
    
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.limelight.noir/com.limelight.utils.ExternalDisplayControlActivity}
    	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4596)
    	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4802)
    	at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:224)
    	at android.app.servertransaction.TransactionExecutor.executeNonLifecycleItem(TransactionExecutor.java:133)
    	at android.app.servertransaction.TransactionExecutor.executeTransactionItems(TransactionExecutor.java:103)
    	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:80)
    	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:3044)
    	at android.os.Handler.dispatchMessageImpl(Handler.java:142)
    	at android.os.Handler.dispatchMessage(Handler.java:125)
    	at android.os.Looper.loopOnce(Looper.java:296)
    	at android.os.Looper.loop(Looper.java:397)
    	at android.app.ActivityThread.main(ActivityThread.java:9571)
    	at java.lang.reflect.Method.invoke(Native Method)
    	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:575)
    	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:982)
    Caused by: java.lang.SecurityException: Permission Denial: starting Intent { flg=0x10000000 xflg=0x4 cmp=com.limelight.noir/com.limelight.Game (has extras) } from ProcessRecord{7b77769 10939:com.limelight.noir/u10a206} (pid=10939, uid=1010206) with launchDisplayId=5
    	at android.os.Parcel.createExceptionOrNull(Parcel.java:3401)
    	at android.os.Parcel.createException(Parcel.java:3385)
    	at android.os.Parcel.readException(Parcel.java:3361)
    	at android.os.Parcel.readException(Parcel.java:3303)
    	at android.app.IActivityTaskManager$Stub$Proxy.startActivity(IActivityTaskManager.java:2215)
    	at android.app.Instrumentation.execStartActivity(Instrumentation.java:2030)
    	at android.app.Activity.startActivityForResult(Activity.java:6116)
    	at androidx.activity.ComponentActivity.startActivityForResult(SourceFile:780)
    	at android.app.Activity.startActivity(Activity.java:6579)
    	at com.limelight.utils.ExternalDisplayControlActivity.onCreate(SourceFile:134)
    	at android.app.Activity.performCreate(Activity.java:9393)
    	at android.app.Activity.performCreate(Activity.java:9371)
    	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1555)
    	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4580)
    	... 14 more
    Caused by: android.os.RemoteException: Remote stack trace:
    	at com.android.server.wm.Session$$ExternalSyntheticBUOutline1.m(R8$$SyntheticClass:0)
    	at com.android.server.wm.SafeActivityOptions.checkPermissions(SafeActivityOptions.java:297)
    	at com.android.server.wm.SafeActivityOptions.getOptions(SafeActivityOptions.java:174)
    	at com.android.server.wm.ActivityStarter.executeRequest(ActivityStarter.java:1288)
    	at com.android.server.wm.ActivityStarter.execute(ActivityStarter.java:914)
    

    Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions