LizardByte / Sunshine

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

Windows.Graphics.Capture on windows 11 not working #2846

Open netanelbi opened 1 month ago

netanelbi commented 1 month ago

Is there an existing issue for this?

Is your issue described in the documentation?

Is your issue present in the latest beta/pre-release?

This issue is present in the latest pre-release

Describe the Bug

when trying the new method for capturing the screen i get an error: Error: Screen capture is not supported on this device for this release of Windows: failed to acquire device: [0x80070424]

this is the only error shown in the logs. its shown multiple time and followed by: Fatal: Unable to find display or encoder during startup.

when trying the following sample app on my computer it seems the API itself is working fine https://github.com/robmikh/Win32CaptureSample i am not sure if this the exact same way implemented in sunshine. but in this sample app the xbox gamebar is also shown in the capture. thanks

Expected Behavior

Capture using Windows.Graphics.Capture should work on my machine out of the box.

Additional Context

No response

Host Operating System

Windows

Operating System Version

Windows 11 Pro 24H2 26120.961

Architecture

64 bit

Sunshine commit or version

v2024.707.161755

Package

Windows - installer

GPU Type

Nvidia

GPU Model

NVIDIA GeForce GTX 1650 with Max-Q Design

GPU Driver/Mesa Version

Studio Driver - 555.99

Capture Method

Windows.Graphics.Capture (Windows)

Config

key_rightalt_to_key_win = enabled
resolutions = [
    352x240,
    480x360,
    858x480,
    1280x720,
    1920x1080,
    2560x1080,
    3440x1440,
    1920x1200,
    3840x2160,
    3840x1600,
    1920x540,
    3840x1080
]
fps = [30,60,90,120]
native_pen_touch = disabled
virtual_sink =                                                    
min_threads = 1
nvenc_realtime_hags = disabled
min_log_level = 3
back_button_timeout = 2000

Apps

No response

Relevant log output

[2024:07:13:20:19:31]: Warning: Gamepad x360 is disabled due to gamepads.vigem-not-available
[2024:07:13:20:19:31]: Warning: Gamepad ds4 is disabled due to gamepads.vigem-not-available
[2024:07:13:20:19:31]: Warning: No gamepad input is available
[2024:07:13:20:19:31]: Error: Screen capture is not supported on this device for this release of Windows: failed to acquire device: [0x80070424]
[2024:07:13:20:19:32]: Error: Screen capture is not supported on this device for this release of Windows: failed to acquire device: [0x80070424]
[2024:07:13:20:19:32]: Error: Screen capture is not supported on this device for this release of Windows: failed to acquire device: [0x80070424]
[2024:07:13:20:19:33]: Error: Screen capture is not supported on this device for this release of Windows: failed to acquire device: [0x80070424]
[2024:07:13:20:19:34]: Error: Screen capture is not supported on this device for this release of Windows: failed to acquire device: [0x80070424]
[2024:07:13:20:19:34]: Error: Screen capture is not supported on this device for this release of Windows: failed to acquire device: [0x80070424]
[2024:07:13:20:19:35]: Error: Screen capture is not supported on this device for this release of Windows: failed to acquire device: [0x80070424]
[2024:07:13:20:19:35]: Error: Screen capture is not supported on this device for this release of Windows: failed to acquire device: [0x80070424]
[2024:07:13:20:19:35]: Fatal: Unable to find display or encoder during startup.
[2024:07:13:20:19:35]: Fatal: Please check that a display is connected and powered on.
[2024:07:13:20:19:35]: Error: Video failed to find working encoder
IISAKNIFE commented 1 month ago

I am also facing this issue. I saw that there was a pr that was modifying wgc on windows 10 a few days ago so I tried rolling back to a prior pre-release version and it still doesnt work.

ns6089 commented 1 month ago

At this moment WGC capture doesn't work when sunshine is running as a service https://github.com/LizardByte/Sunshine/pull/2149#issuecomment-1955746301

netanelbi commented 1 month ago

@ns6089 thanks, its true. i managed to make it work by launching the portable version of sunshine with my config. any way to make it work with the normal installer ?

ReenigneArcher commented 1 month ago

You can still use the installer, but you need to disable the service.

roob0 commented 1 month ago

I created a simple automated solution for switching from service to exe, and from ddx to wgc and viceversa. https://github.com/LizardByte/Sunshine/pull/2149