Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

KMS Capture does not work on second monitor #2421

Closed
3 tasks done
tomjpalamattam opened this issue Apr 14, 2024 · 8 comments
Closed
3 tasks done

KMS Capture does not work on second monitor #2421

tomjpalamattam opened this issue Apr 14, 2024 · 8 comments
Labels

Comments

@tomjpalamattam
Copy link

tomjpalamattam commented Apr 14, 2024

Is there an existing issue for this?

  • I have searched the existing issues

Is your issue described in the documentation?

  • I have read the documentation

Is your issue present in the nightly release?

  • This issue is present in the nightly release

Describe the Bug

I have a hybrid gpu laptop with nvidia gpu as /dev/dri/renderD128 and intel igpu as /dev/dri/renderD129. If i choose kms as the capture method for monitor other than 0. I get error like below

I tried the nightly version and the flatpak version with both igpu and dgpu and still faces the same issue. I was able to use kms for monitor 0. Also note x11 and wlroots capture methods work on external displays, the issue was only with kms capture.

Expected Behavior

No response

Additional Context

No response

Host Operating System

Linux

Operating System Version

Arch Linux

Architecture

64 bit

Sunshine commit or version

22.2

Package

Linux - AUR (Third Party)

GPU Type

Nvidia

GPU Model

Geforce GTX 1650

GPU Driver/Mesa Version

550.67

Capture Method (Linux Only)

KMS

Config

adapter_name = /dev/dri/renderD129
output_name = 1
capture = kms
encoder = vaapi

Apps

No response

Relevant log output

`[2024:04:14:21:48:09]: Info: System tray created
[2024:04:14:21:48:09]: Info: Screencasting with KMS
[2024:04:14:21:48:09]: Info: /dev/dri/card0 -> nvidia-drm
[2024:04:14:21:48:09]: Info: /dev/dri/card1 -> i915
[2024:04:14:21:48:09]: Error: Couldn't find monitor [1]
[2024:04:14:21:48:09]: Info: /dev/dri/card0 -> nvidia-drm
[2024:04:14:21:48:09]: Info: /dev/dri/card1 -> i915
[2024:04:14:21:48:09]: Error: Couldn't find monitor [1]
[2024:04:14:21:48:09]: Info: Encoder [vaapi] failed
[2024:04:14:21:48:09]: Error: Couldn't find any working encoder matching [vaapi]
[2024:04:14:21:48:09]: Info: // Testing for available encoders, this may generate errors. You can safely ignore those errors. //
[2024:04:14:21:48:09]: Info: Trying encoder [nvenc]
[2024:04:14:21:48:09]: Info: Screencasting with KMS
[2024:04:14:21:48:09]: Info: /dev/dri/card0 -> nvidia-drm
[2024:04:14:21:48:09]: Info: /dev/dri/card1 -> i915
[2024:04:14:21:48:09]: Error: Couldn't find monitor [1]
[2024:04:14:21:48:09]: Info: /dev/dri/card0 -> nvidia-drm
[2024:04:14:21:48:09]: Info: /dev/dri/card1 -> i915
[2024:04:14:21:48:09]: Error: Couldn't find monitor [1]
[2024:04:14:21:48:09]: Info: Screencasting with KMS
[2024:04:14:21:48:09]: Info: /dev/dri/card0 -> nvidia-drm
[2024:04:14:21:48:09]: Info: /dev/dri/card1 -> i915
[2024:04:14:21:48:09]: Error: Couldn't find monitor [1]
[2024:04:14:21:48:09]: Info: /dev/dri/card0 -> nvidia-drm
[2024:04:14:21:48:09]: Info: /dev/dri/card1 -> i915
[2024:04:14:21:48:09]: Error: Couldn't find monitor [1]
[2024:04:14:21:48:10]: Info: Encoder [nvenc] failed
[2024:04:14:21:48:10]: Info: Trying encoder [software]
[2024:04:14:21:48:10]: Info: Screencasting with KMS
[2024:04:14:21:48:10]: Info: /dev/dri/card0 -> nvidia-drm
[2024:04:14:21:48:10]: Info: /dev/dri/card1 -> i915
[2024:04:14:21:48:10]: Error: Couldn't find monitor [1]
[2024:04:14:21:48:10]: Info: Screencasting with KMS
[2024:04:14:21:48:10]: Info: /dev/dri/card0 -> nvidia-drm
[2024:04:14:21:48:10]: Info: /dev/dri/card1 -> i915
[2024:04:14:21:48:10]: Error: Couldn't find monitor [1]
[2024:04:14:21:48:10]: Info: Encoder [software] failed
[2024:04:14:21:48:10]: Fatal: Unable to find display or encoder during startup.
[2024:04:14:21:48:10]: Fatal: Please ensure your manually chosen GPU and monitor are connected and powered on.
[2024:04:14:21:48:10]: Error: Video failed to find working encoder
[2024:04:14:21:48:10]: Error: Failed to create client: Daemon not running
[2024:04:14:21:48:10]: Info: Configuration UI available at [https://localhost:47990]`
@Leonw43
Copy link

Leonw43 commented Apr 27, 2024

I'm getting the same issue - it worked on previous builds e.g. 0.21.x
I'm using the same driver version, 550.67 - on an RTX 3070 (Pop OS)
Also tried nightly builds and the issue persists across flatpak, deb, AppImage

[2024:04:27:16:44:23]: Info: Sunshine version: v0.23.1
[2024:04:27:16:44:23]: Info: System tray created
[2024:04:27:16:44:23]: Error: Failed to create session: This hardware does not support NvFBC
[2024:04:27:16:44:23]: Info: /dev/dri/card0 -> simpledrm
[2024:04:27:16:44:23]: Warning: No render device name for: /dev/dri/card0
[2024:04:27:16:44:23]: Info: /dev/dri/card1 -> nvidia-drm
[2024:04:27:16:44:23]: Error: Environment variable WAYLAND_DISPLAY has not been defined
[2024:04:27:16:44:23]: Info: Detecting monitors
[2024:04:27:16:44:23]: Info: Detected monitor 0: DP-0, connected: true
[2024:04:27:16:44:23]: Info: Detected monitor 1: DP-1, connected: false
[2024:04:27:16:44:23]: Info: Detected monitor 2: HDMI-0, connected: false
[2024:04:27:16:44:23]: Info: Detected monitor 3: DP-2, connected: true
[2024:04:27:16:44:23]: Info: Detected monitor 4: DP-3, connected: false
[2024:04:27:16:44:23]: Info: Detected monitor 5: HDMI-1, connected: true
[2024:04:27:16:44:23]: Info: Detected monitor 6: DP-4, connected: false
[2024:04:27:16:44:23]: Info: Detected monitor 7: DP-5, connected: false
[2024:04:27:16:44:23]: Info: // Testing for available encoders, this may generate errors. You can safely ignore those errors. //
[2024:04:27:16:44:23]: Info: Trying encoder [nvenc]
[2024:04:27:16:44:23]: Info: Screencasting with KMS
[2024:04:27:16:44:23]: Info: /dev/dri/card0 -> simpledrm
[2024:04:27:16:44:23]: Warning: No render device name for: /dev/dri/card0
[2024:04:27:16:44:23]: Info: /dev/dri/card1 -> nvidia-drm
[2024:04:27:16:44:23]: Error: Couldn't find monitor [5]
[2024:04:27:16:44:23]: Info: /dev/dri/card0 -> simpledrm
[2024:04:27:16:44:23]: Warning: No render device name for: /dev/dri/card0
[2024:04:27:16:44:23]: Info: /dev/dri/card1 -> nvidia-drm
[2024:04:27:16:44:23]: Error: Couldn't find monitor [5]
[2024:04:27:16:44:23]: Info: Screencasting with KMS
[2024:04:27:16:44:23]: Info: /dev/dri/card0 -> simpledrm
[2024:04:27:16:44:23]: Warning: No render device name for: /dev/dri/card0
[2024:04:27:16:44:23]: Info: /dev/dri/card1 -> nvidia-drm
[2024:04:27:16:44:23]: Error: Couldn't find monitor [5]
[2024:04:27:16:44:23]: Info: /dev/dri/card0 -> simpledrm
[2024:04:27:16:44:23]: Warning: No render device name for: /dev/dri/card0
[2024:04:27:16:44:23]: Info: /dev/dri/card1 -> nvidia-drm
[2024:04:27:16:44:23]: Error: Couldn't find monitor [5]
[2024:04:27:16:44:24]: Info: Encoder [nvenc] failed
[2024:04:27:16:44:24]: Info: Trying encoder [vaapi]
[2024:04:27:16:44:24]: Info: Screencasting with KMS
[2024:04:27:16:44:24]: Info: /dev/dri/card0 -> simpledrm
[2024:04:27:16:44:24]: Warning: No render device name for: /dev/dri/card0
[2024:04:27:16:44:24]: Info: /dev/dri/card1 -> nvidia-drm
[2024:04:27:16:44:24]: Error: Couldn't find monitor [5]
[2024:04:27:16:44:24]: Info: /dev/dri/card0 -> simpledrm
[2024:04:27:16:44:24]: Warning: No render device name for: /dev/dri/card0
[2024:04:27:16:44:24]: Info: /dev/dri/card1 -> nvidia-drm
[2024:04:27:16:44:24]: Error: Couldn't find monitor [5]
[2024:04:27:16:44:24]: Info: Screencasting with KMS
[2024:04:27:16:44:24]: Info: /dev/dri/card0 -> simpledrm
[2024:04:27:16:44:24]: Warning: No render device name for: /dev/dri/card0
[2024:04:27:16:44:24]: Info: /dev/dri/card1 -> nvidia-drm
[2024:04:27:16:44:24]: Error: Couldn't find monitor [5]
[2024:04:27:16:44:24]: Info: /dev/dri/card0 -> simpledrm
[2024:04:27:16:44:24]: Warning: No render device name for: /dev/dri/card0
[2024:04:27:16:44:24]: Info: /dev/dri/card1 -> nvidia-drm
[2024:04:27:16:44:24]: Error: Couldn't find monitor [5]
[2024:04:27:16:44:24]: Info: Encoder [vaapi] failed
[2024:04:27:16:44:24]: Info: Trying encoder [software]
[2024:04:27:16:44:24]: Info: Screencasting with KMS
[2024:04:27:16:44:24]: Info: /dev/dri/card0 -> simpledrm
[2024:04:27:16:44:24]: Warning: No render device name for: /dev/dri/card0
[2024:04:27:16:44:24]: Info: /dev/dri/card1 -> nvidia-drm
[2024:04:27:16:44:24]: Error: Couldn't find monitor [5]
[2024:04:27:16:44:24]: Info: Screencasting with KMS
[2024:04:27:16:44:24]: Info: /dev/dri/card0 -> simpledrm
[2024:04:27:16:44:24]: Warning: No render device name for: /dev/dri/card0
[2024:04:27:16:44:24]: Info: /dev/dri/card1 -> nvidia-drm
[2024:04:27:16:44:24]: Error: Couldn't find monitor [5]
[2024:04:27:16:44:24]: Info: Encoder [software] failed
[2024:04:27:16:44:24]: Fatal: Unable to find display or encoder during startup.
[2024:04:27:16:44:24]: Fatal: Please ensure your manually chosen GPU and monitor are connected and powered on.
[2024:04:27:16:44:24]: Error: Video failed to find working encoder
[2024:04:27:16:44:24]: Info: Adding avahi service Sunshine
[2024:04:27:16:44:24]: Info: Configuration UI available at [https://localhost:47990]
[2024:04:27:16:44:25]: Info: Avahi service Sunshine successfully established.

@tomjpalamattam
Copy link
Author

0.21

I tried this version, but has the same issue. Are you facing this on external monitor (monitor 1) and also using kms capture?

@cgutman
Copy link
Collaborator

cgutman commented Apr 30, 2024

Sometimes the internal display and the external display outputs are not connected to the same GPU. I have an Asus laptop where the internal display is connected to the iGPU (or a mux) but the HDMI port is connected directly to the dGPU. That has implications for which GPUs can be used to encode each output (since GPUs generally don't support importing images with a different vendor's special tiling modifiers).

I suspect part of the problem is that you've specified an incompatible combination of encoder, adapter_name, and output_name in your config. I recommend starting over with all options at defaults, then try setting output_name alone. See if you get further that way.

@tomjpalamattam
Copy link
Author

I tried doing this. But if i use KMS capture no matter which GPU I use or leave it to the default setting , results in the above error. And its only a KMS issue since i was able to use X11 and wlroot capture

@Leonw43
Copy link

Leonw43 commented May 2, 2024

I had no issues before because (I'm guessing) KMS wasn't the default option. I had the same problem when in a newer build AV1 was introduced and set to "advertise based on encoder settings" which didn't work. Once I set it to not advertise support it worked fine.

X11 still works fine for me, it just falls over because of KMS capture. I'm also on a desktop with a 5800X3D, so no iGPU.

@gschintgen
Copy link
Contributor

I'm also on a desktop with a 5800X3D, so no iGPU.

Your logs read more like this issue: https://docs.lizardbyte.dev/projects/sunshine/en/master/troubleshooting/linux.html#kms-streaming-fails-on-nvidia-gpus
You could give it a try.

@LizardByte-bot
Copy link
Member

It seems this issue hasn't had any activity in the past 90 days. If it's still something you'd like addressed, please let us know by leaving a comment. Otherwise, to help keep our backlog tidy, we'll be closing this issue in 10 days. Thanks!

@LizardByte-bot
Copy link
Member

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

@LizardByte-bot LizardByte-bot closed this as not planned Won't fix, can't repro, duplicate, stale Sep 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants