LizardByte / Sunshine

Self-hosted game stream host for Moonlight.
http://app.lizardbyte.dev/Sunshine/
GNU General Public License v3.0
20k stars 961 forks source link

Error: DuplicateOutput Failed, 0x80070005 #217

Closed rubin55 closed 2 years ago

rubin55 commented 2 years ago

Describe the Bug

I have Sunshine 0.14.0 set up, on a Windows 10 host, with a Radeon 6900XT. I access the host using Moonlight 3.2.0, on Linux (void, Linux kernel 5.18.5).

I verified everything works ok: I can access the Windows desktop, 4k, 60fps. I can flawlessly work and stream audio, play some video through VLC. I also tested a few games, like Skyrim and Sekiro, which worked flawlessly also, no lag, super low latency.

When I try and play Assassin's Creed: Odyssey, I start from Steam. Looking at Process Explorer, I see the ACOdyssey.exe being suspended and "handed" over to Uplay (I.e., some weird stuff going on there with the Ubisoft launcher, the parent process changes essentially). After that, Assassin's Creed: Odyssey loads, I see a few movies that I can click-skip and I end up in the main game menu.

If I click "Continue", "Benchmark", "Load" or "New Game" The loading screen shows. After that I crash to desktop and I see Uplay uploading some crash log (i.e., uplay detected that the game crashed). In the sunshine.log I see:

[2022:06:20:22:06:42]: Error: DuplicateOutput Failed [0x80070005]

Expected Behavior

I expect Assassin's Creed: Odyssey to work as awesomely as everything else does using Sunshine and Moonlight!

Additional Context

log:

[2022:06:20:21:52:32]: Info: Found encoder amdvce: [h264_amf, hevc_amf]
[2022:06:20:21:52:32]: Info: Configuration UI available at [https://localhost:47990]
[2022:06:20:21:52:33]: Info: Registered Sunshine Gamestream service
[2022:06:20:21:54:14]: Info: /CN=NVIDIA GameStream Client -- verfied
[2022:06:20:21:54:14]: Info: /CN=NVIDIA GameStream Client -- verfied
[2022:06:20:21:54:17]: Info: /CN=NVIDIA GameStream Client -- verfied
[2022:06:20:21:54:18]: Info: /CN=NVIDIA GameStream Client -- verfied
[2022:06:20:21:54:18]: Info: CLIENT CONNECTED
[2022:06:20:21:54:18]: Info:
Device Description : AMD Radeon RX 6900 XT
Device Vendor ID   : 0x00001002
Device Device ID   : 0x000073AF
Device Video Mem   : 16337 MiB
Device Sys Mem     : 0 MiB
Share Sys Mem      : 16339 MiB
Feature Level      : 0x0000B100
Capture size       : 3840x2160
Offset             : 0x0
Virtual Desktop    : 3840x2160

[2022:06:20:21:55:48]: Info:
Device Description : AMD Radeon RX 6900 XT
Device Vendor ID   : 0x00001002
Device Device ID   : 0x000073AF
Device Video Mem   : 16337 MiB
Device Sys Mem     : 0 MiB
Share Sys Mem      : 16339 MiB
Feature Level      : 0x0000B100
Capture size       : 3840x2160
Offset             : 0x0
Virtual Desktop    : 3840x2160

[2022:06:20:21:59:20]: Info:
Device Description : AMD Radeon RX 6900 XT
Device Vendor ID   : 0x00001002
Device Device ID   : 0x000073AF
Device Video Mem   : 16337 MiB
Device Sys Mem     : 0 MiB
Share Sys Mem      : 16339 MiB
Feature Level      : 0x0000B100
Capture size       : 3840x2160
Offset             : 0x0
Virtual Desktop    : 3840x2160

[2022:06:20:22:06:42]: Info:
Device Description : AMD Radeon RX 6900 XT
Device Vendor ID   : 0x00001002
Device Device ID   : 0x000073AF
Device Video Mem   : 16337 MiB
Device Sys Mem     : 0 MiB
Share Sys Mem      : 16339 MiB
Feature Level      : 0x0000B100
Capture size       : 3840x2160
Offset             : 0x0
Virtual Desktop    : 3840x2160
[2022:06:20:22:06:42]: Error: DuplicateOutput Failed [0x80070005]
[2022:06:20:22:06:43]: Info:
Device Description : AMD Radeon RX 6900 XT
Device Vendor ID   : 0x00001002
Device Device ID   : 0x000073AF
Device Video Mem   : 16337 MiB
Device Sys Mem     : 0 MiB
Share Sys Mem      : 16339 MiB
Feature Level      : 0x0000B100
Capture size       : 3840x2160
Offset             : 0x0
Virtual Desktop    : 3840x2160

Sunshine Host Operating System and Version

Windows 10 host, Linux client

Architecture

x86_64

Sunshine Version

0.14.0

GPU Type

AMD

GPU Model

AMD Radeon 6900XT

GPU Driver/Mesa Version

AMD Software PRO Edition 22.Q2

Capture Method (Linux Only)

No response

rubin55 commented 2 years ago

Here's the sunshine.log.

rubin55 commented 2 years ago

I ran across this troubleshooting article on MSDN. It seems to be about this specific error, but I have no idea what they mean by a "Microsoft Hybrid" system. My PC is a beefy AMD Ryzen 9 5950x running the latest version of Windows 10.

github-actions[bot] commented 2 years ago

:wave: @rubin55, we use the issue tracker exclusively for bug reports. However, this issue appears to be a support request. Please use our Discord Server to get help. Thanks.

rubin55 commented 2 years ago

Talked to @ReenigneArcher about this on Discord. This issue seems to happen specifically with Assassin's Creed: Odyssey. In all cases the DuplicateOutput error is logged.

I checked with about 10 other non-UbiSoft games which started normally and verified that this error is not logged.

I then enabled Verbose (it was a bit noisy) and later `Debug logging to see if there were relevant other log messages, but there were none. I then offered to dig into the code and go to this specific point where this (I assume exception) is logged and see if I can expand the logging there a bit to see what's going on at the DDA api level and/or what the driver might think at that moment.

I'll see if I can dig into this the coming week. I will also test other UbiSoft games, because I suspect Uplay could be a factor in this.

Edit: I just checked Assassin's Creed: Origins, which is the latest (except for Odyssey) UbiSoft game I had and also engine-wise as close to Odyssey as possible. Assassin's Creed: Origins works normally. This probably means it's very specific to Odyssey. Will dig deeper soon.

rubin55 commented 2 years ago

So I verified a few things:

rubin55 commented 2 years ago

I found a previous issue in the old sunshine that looks remarkably similar: https://github.com/loki-47-6F-64/sunshine/issues/46

github-actions[bot] commented 2 years ago

This issue is stale because it has been open for 30 days with no activity. Comment or remove the stale label, otherwise this will be closed in 5 days.

Swany6mm commented 2 years ago

I'm getting the same thing when just trying to connect Moonlight to the Sunshine host dekstop - Just keeps repeating the error over and over until it finally times out/crashes.

This is my first go with Sunshine and Moonlight - When I was running a bare metal system I had GFE and Moonlight working, then I switched to a Win10 host, Hyper V VM and have it working with Parsec. Just found out about Sunshine and am now trying to set it up - Moonlight sees the system no problem, just get that Duplicateoutput Failed error when tyring to connect

***Looks like this issue (for me) may be related to RDP. Assuming it's the same RDP type problems that GFE has. If I connected with Parsec instead of RDP, Moonlight would then connect. Looked terrible, but it would connect. Disconnecting Parsec would cause Moonlight to lose connection and would not reconnect.

I end up with Moonlight throwing an error telling me it's receiving no video from the host and to check my Firewall for UDP 47988 and 48000 (both of which are allowed in/out on the Host as well as the client)

I have usbmmidd running, the Parsec virtual adapter (when Parsec is connected) and a headless dongle. All have been verified to work with things outside Moonlight/Sunshine.

ReenigneArcher commented 2 years ago

@Swany6mm this is off topic, please reach out on discord

github-actions[bot] commented 2 years ago

This issue was closed because it has been stalled for 5 days with no activity.

Uj947nXmRqV2nRaWshKtHzTvckUUpD commented 1 year ago

I'm getting the same thing when just trying to connect Moonlight to the Sunshine host dekstop - Just keeps repeating the error over and over until it finally times out/crashes.

This is my first go with Sunshine and Moonlight - When I was running a bare metal system I had GFE and Moonlight working, then I switched to a Win10 host, Hyper V VM and have it working with Parsec. Just found out about Sunshine and am now trying to set it up - Moonlight sees the system no problem, just get that Duplicateoutput Failed error when tyring to connect

***Looks like this issue (for me) may be related to RDP. Assuming it's the same RDP type problems that GFE has. If I connected with Parsec instead of RDP, Moonlight would then connect. Looked terrible, but it would connect. Disconnecting Parsec would cause Moonlight to lose connection and would not reconnect.

I end up with Moonlight throwing an error telling me it's receiving no video from the host and to check my Firewall for UDP 47988 and 48000 (both of which are allowed in/out on the Host as well as the client)

I have usbmmidd running, the Parsec virtual adapter (when Parsec is connected) and a headless dongle. All have been verified to work with things outside Moonlight/Sunshine.

i was getting similar firewall error several times before actually connecting on hyper-v with iddsampledriver. my workaround is :

!!!!!!!!!!!! UAC must be set to no dim or else it hangs whenever admin rights are requested !!!!!!!!!!!! shut down vm, start vm, but don't connect via enhanced rdp, (better wait a couple of minutes to be sure sunshine service started) then connect directly with moonlight, or else you get firewall port bug !!!!!!!!!!!! NEVER CONNECT to enhanced rdp and try to connect via moonlight simultaneously or else you get black screen of death (you can still connect via ssh to vm, but cannot restore display without rebooting)

agamkohli9 commented 4 days ago

I have this exact same issue with Counter Strike 2 and for some reason, using my HDMI/DP connected to my monitor instead of a dummy DP fixes this issue. Not sure how that even affects anything since the dummy DP should be acting exactly like a normal DP plug.