LizardByte / LizardByte/Sunshine

Windows.Graphics.Capture does not work with service model

Open
#2,846 8 comments 1 reaction 1 assignee View on GitHub

@LizardByte-bot is already working on this.

Since Oct 21, 2024.

help wanted
Dominant language
C++
Stars
41.3k
Forks
2.1k
Avg merge
23h 47m
Merged PRs (30d)
124

Description

### Is there an existing issue for this?

- [X] I have searched the existing issues

### Is your issue described in the documentation?

- [X] I have read 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

```Shell
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

```shell
[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
```

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.