Skip to content

[Bug] AMD Host: Severe stutter in local games after streaming session ends (Driver state not reset) #1297

@DominicMuir

Description

@DominicMuir

Hello Apollo Team,

There appears to be a bug where Apollo does not properly release the AMD video capture source after a Moonlight client disconnects.

This leaves the AMD driver in a "stuck" capture state, causing the Radeon settings: host service to consume resources continuously. As a result, any game launched locally on the host PC after a streaming session experiences severe, periodic frame rate stuttering.

The only way to resolve the issue is to perform a full system reboot or manually reset the display driver via Device Manager.


Steps to Reproduce

  1. Start with a freshly rebooted Windows host machine equipped with a modern AMD Radeon GPU.
  2. Launch Apollo on the host.
  3. Connect to the host from a client device using Moonlight and start a streaming session.
  4. Use the stream for any length of time, then cleanly disconnect the Moonlight client.
  5. On the host PC, launch any graphically intensive game locally (e.g., Jedi: Fallen Order, Cyberpunk 2077, etc.).
  6. Observe the in-game performance.

Expected Behavior

After the streaming session ends, the host PC's GPU should return to a normal idle state. Local games should run at their full, expected performance without stuttering.


Actual Behavior

The host PC experiences severe, periodic frame rate drops (e.g., from a stable 144 FPS down to ~20 FPS every 1-2 seconds). This makes local games unplayable. Task Manager shows the Radeon settings: host service is active and consuming resources. The issue persists indefinitely.


Effective Workaround

The issue can be resolved without a full reboot by using the following steps on the host machine:

  1. Open Device Manager.
  2. Expand Display adapters.
  3. Right-click the AMD Radeon GPU and select "Disable device".
  4. After the screen flickers, right-click the device again and select "Enable device".
    This forces a full driver reload, clears the bugged state, and restores normal performance.

Ineffective Methods

The following common solutions do not fix the issue, indicating the problem is a deep driver-level state:

  • Killing the Radeon settings: host service task in Task Manager (it restarts automatically in the same bugged state).
  • Using the Windows graphics driver reset hotkey (Win + Ctrl + Shift + B).

System Information

  • Host OS: Windows 11
  • Apollo Version: Latest release
  • GPU: AMD Radeon RX 7800 XT
  • AMD Driver Version: Latest Release

This strongly suggests the AMD AMF encoder session is not being terminated correctly by Apollo upon client disconnect. Please let me know if you need any logs or further information to help diagnose this.

Thank you for your work on this project!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions