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 + Headless + Nvidia: Unknown Monitor connector type [Meta] #2250

Open
3 tasks done
peperunas opened this issue Mar 13, 2024 · 16 comments
Open
3 tasks done

KMS + Headless + Nvidia: Unknown Monitor connector type [Meta] #2250

peperunas opened this issue Mar 13, 2024 · 16 comments
Labels
help wanted Extra attention is needed

Comments

@peperunas
Copy link

peperunas commented Mar 13, 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

Hello!

First of all, thank you for this outstanding project.

The only way I got my headless setup to work is with the X11 capture method, unfortunately. I have been trying to get my headless setup to work with KMS to no avail. I am now trying to get Wayland + KMS working - since it should be an option since 0.22 - and I just got this "new" error:

[2024:03:13:15:42:28]: Error: Unknown Monitor connector type [Meta]: Please report this to the GitHub issue tracker

I am creating a virtual monitor with:

gnome-shell --wayland --headless --virtual-monitor 1280x720 --no-x11 &

Without creating the virtual monitor, sunshine always fails with Error: Unable to initialize capture method.

Modeset is enabled (nvidia-drm.modeset=1).

Expected Behavior

No response

Additional Context

[min_log_level] -- [0]

Host Operating System

Linux

Operating System Version

NixOS 23.11

Architecture

64 bit

Sunshine commit or version

0.22.0

Package

Linux - nixpkgs (Third Party)

GPU Type

Nvidia

GPU Model

RTX 4090

GPU Driver/Mesa Version

535.129.03

Capture Method (Linux Only)

KMS

Config

[min_log_level] -- [0]

Apps

No response

Relevant log output

[sunshine@architect:~]$ WAYLAND_DISPLAY=wayland-0 sunshine
[min_log_level] -- [0]
[2024:03:13:15:42:28]: Info: Sunshine version: 0.22.0
[2024:03:13:15:42:28]: Info: System tray created
[2024:03:13:15:42:28]: Debug: System tray loop
[2024:03:13:15:42:28]: Debug: System tray loop
[2024:03:13:15:42:28]: Debug: System tray loop
[2024:03:13:15:42:28]: Debug: System tray loop
[2024:03:13:15:42:28]: Debug: System tray loop
[2024:03:13:15:42:28]: Debug: System tray loop
[2024:03:13:15:42:28]: Debug: System tray loop
[2024:03:13:15:42:28]: Debug: System tray loop
[2024:03:13:15:42:28]: Debug: System tray loop
[2024:03:13:15:42:28]: Debug: System tray loop
[2024:03:13:15:42:28]: Debug: System tray loop
[2024:03:13:15:42:28]: Debug: System tray loop
[2024:03:13:15:42:28]: Debug: System tray loop
[2024:03:13:15:42:28]: Debug: System tray loop
[2024:03:13:15:42:28]: Error: Failed to create session: Unable to open display
[2024:03:13:15:42:28]: Info: Found display [wayland-0]
[2024:03:13:15:42:28]: Debug: Available interface: wl_compositor(1) version 5
[2024:03:13:15:42:28]: Debug: Available interface: wl_eglstream_display(2) version 1
[2024:03:13:15:42:28]: Debug: Available interface: wl_drm(3) version 2
[2024:03:13:15:42:28]: Debug: Available interface: wl_shm(4) version 1
[2024:03:13:15:42:28]: Debug: Available interface: wl_output(5) version 4
[2024:03:13:15:42:28]: Info: Found interface: wl_output(5) version 4
[2024:03:13:15:42:28]: Debug: Available interface: zxdg_output_manager_v1(6) version 3
[2024:03:13:15:42:28]: Info: Found interface: zxdg_output_manager_v1(6) version 3
[2024:03:13:15:42:28]: Debug: Available interface: wl_data_device_manager(7) version 3
[2024:03:13:15:42:28]: Debug: Available interface: zwp_primary_selection_device_manager_v1(8) version 1
[2024:03:13:15:42:28]: Debug: Available interface: wl_subcompositor(9) version 1
[2024:03:13:15:42:28]: Debug: Available interface: xdg_wm_base(10) version 6
[2024:03:13:15:42:28]: Debug: Available interface: gtk_shell1(11) version 5
[2024:03:13:15:42:28]: Debug: Available interface: wp_viewporter(12) version 1
[2024:03:13:15:42:28]: Debug: Available interface: wp_fractional_scale_manager_v1(13) version 1
[2024:03:13:15:42:28]: Debug: Available interface: zwp_pointer_gestures_v1(14) version 3
[2024:03:13:15:42:28]: Debug: Available interface: zwp_tablet_manager_v2(15) version 1
[2024:03:13:15:42:28]: Debug: Available interface: wl_seat(16) version 8
[2024:03:13:15:42:28]: Debug: Available interface: zwp_relative_pointer_manager_v1(17) version 1
[2024:03:13:15:42:28]: Debug: Available interface: zwp_pointer_constraints_v1(18) version 1
[2024:03:13:15:42:28]: Debug: Available interface: zxdg_exporter_v2(19) version 1
[2024:03:13:15:42:28]: Debug: Available interface: zxdg_importer_v2(20) version 1
[2024:03:13:15:42:28]: Debug: Available interface: zxdg_exporter_v1(21) version 1
[2024:03:13:15:42:28]: Debug: Available interface: zxdg_importer_v1(22) version 1
[2024:03:13:15:42:28]: Debug: Available interface: zwp_linux_dmabuf_v1(23) version 4
[2024:03:13:15:42:28]: Debug: Available interface: wp_single_pixel_buffer_manager_v1(24) version 1
[2024:03:13:15:42:28]: Debug: Available interface: zwp_keyboard_shortcuts_inhibit_manager_v1(25) version 1
[2024:03:13:15:42:28]: Debug: Available interface: zwp_text_input_manager_v3(26) version 1
[2024:03:13:15:42:28]: Debug: Available interface: wp_presentation(27) version 1
[2024:03:13:15:42:28]: Debug: Available interface: xdg_activation_v1(28) version 1
[2024:03:13:15:42:28]: Debug: Available interface: zwp_idle_inhibit_manager_v1(29) version 1
[2024:03:13:15:42:28]: Warning: Missing Wayland wire for wlr-export-dmabuf
[2024:03:13:15:42:28]: Debug: Opening render node: /dev/dri/renderD128
[2024:03:13:15:42:28]: Info: Found display [wayland-0]
[2024:03:13:15:42:28]: Info: Found display [wayland-0]
[2024:03:13:15:42:28]: Debug: Available interface: wl_compositor(1) version 5
[2024:03:13:15:42:28]: Debug: Available interface: wl_eglstream_display(2) version 1
[2024:03:13:15:42:28]: Debug: Available interface: wl_drm(3) version 2
[2024:03:13:15:42:28]: Debug: Available interface: wl_shm(4) version 1
[2024:03:13:15:42:28]: Debug: Available interface: wl_output(5) version 4
[2024:03:13:15:42:28]: Info: Found interface: wl_output(5) version 4
[2024:03:13:15:42:28]: Debug: Available interface: zxdg_output_manager_v1(6) version 3
[2024:03:13:15:42:28]: Info: Found interface: zxdg_output_manager_v1(6) version 3
[2024:03:13:15:42:28]: Debug: Available interface: wl_data_device_manager(7) version 3
[2024:03:13:15:42:28]: Debug: Available interface: zwp_primary_selection_device_manager_v1(8) version 1
[2024:03:13:15:42:28]: Debug: Available interface: wl_subcompositor(9) version 1
[2024:03:13:15:42:28]: Debug: Available interface: xdg_wm_base(10) version 6
[2024:03:13:15:42:28]: Debug: Available interface: gtk_shell1(11) version 5
[2024:03:13:15:42:28]: Debug: Available interface: wp_viewporter(12) version 1
[2024:03:13:15:42:28]: Debug: Available interface: wp_fractional_scale_manager_v1(13) version 1
[2024:03:13:15:42:28]: Debug: Available interface: zwp_pointer_gestures_v1(14) version 3
[2024:03:13:15:42:28]: Debug: Available interface: zwp_tablet_manager_v2(15) version 1
[2024:03:13:15:42:28]: Debug: Available interface: wl_seat(16) version 8
[2024:03:13:15:42:28]: Debug: Available interface: zwp_relative_pointer_manager_v1(17) version 1
[2024:03:13:15:42:28]: Debug: Available interface: zwp_pointer_constraints_v1(18) version 1
[2024:03:13:15:42:28]: Debug: Available interface: zxdg_exporter_v2(19) version 1
[2024:03:13:15:42:28]: Debug: Available interface: zxdg_importer_v2(20) version 1
[2024:03:13:15:42:28]: Debug: Available interface: zxdg_exporter_v1(21) version 1
[2024:03:13:15:42:28]: Debug: Available interface: zxdg_importer_v1(22) version 1
[2024:03:13:15:42:28]: Debug: Available interface: zwp_linux_dmabuf_v1(23) version 4
[2024:03:13:15:42:28]: Debug: Available interface: wp_single_pixel_buffer_manager_v1(24) version 1
[2024:03:13:15:42:28]: Debug: Available interface: zwp_keyboard_shortcuts_inhibit_manager_v1(25) version 1
[2024:03:13:15:42:28]: Debug: Available interface: zwp_text_input_manager_v3(26) version 1
[2024:03:13:15:42:28]: Debug: Available interface: wp_presentation(27) version 1
[2024:03:13:15:42:28]: Debug: Available interface: xdg_activation_v1(28) version 1
[2024:03:13:15:42:28]: Debug: Available interface: zwp_idle_inhibit_manager_v1(29) version 1
[2024:03:13:15:42:28]: Info: Resolution: 1280x720
[2024:03:13:15:42:28]: Info: Offset: 0x0
[2024:03:13:15:42:28]: Info: Logical size: 1280x720
[2024:03:13:15:42:28]: Info: Name: Meta-0
[2024:03:13:15:42:28]: Info: Found monitor: MetaVendor
[2024:03:13:15:42:28]: Info: -------- Start of KMS monitor list --------
[2024:03:13:15:42:28]: Error: Unknown Monitor connector type [Meta]: Please report this to the GitHub issue tracker
[2024:03:13:15:42:28]: Verbose: Reduced to name: Meta-0: 1
[2024:03:13:15:42:28]: Info: --------- End of KMS monitor list ---------
[2024:03:13:15:42:28]: Debug: Monitor description
[2024:03:13:15:42:28]: Debug: Resolution: 0x0
[2024:03:13:15:42:28]: Debug: Offset: 0x0
[2024:03:13:15:42:28]: Debug: Desktop resolution: 0x0
[2024:03:13:15:42:28]: Error: Unable to initialize capture method
[2024:03:13:15:42:28]: Error: Platform failed to initialize
[2024:03:13:15:42:28]: Info: // Testing for available encoders, this may generate errors. You can safely ignore those errors. //
[2024:03:13:15:42:28]: Info: Trying encoder [nvenc]

(sunshine:7678): Gtk-CRITICAL **: 15:42:28.529: gtk_widget_get_scale_factor: assertion 'GTK_IS_WIDGET (widget)' failed
[2024:03:13:15:42:28]: Debug: System tray loop
[2024:03:13:15:42:28]: Info: Encoder [nvenc] failed
[2024:03:13:15:42:28]: Info: Trying encoder [vaapi]
[2024:03:13:15:42:29]: Info: Encoder [vaapi] failed
[2024:03:13:15:42:29]: Info: Trying encoder [software]
[2024:03:13:15:42:29]: Info: Encoder [software] failed
[2024:03:13:15:42:29]: Fatal: Unable to find display or encoder during startup.
[2024:03:13:15:42:29]: Fatal: Please check that a display is connected and powered on.
[2024:03:13:15:42:29]: Error: Video failed to find working encoder
@fxzzi
Copy link

fxzzi commented Mar 17, 2024

I also experience this on Hyprland. Creating the headless monitor with hyprctl output create headless and I have the log Unknown Monitor connector type [HEADLESS]: Please report this to the GitHub issue tracker in my KMS Monitor list.

@itouchdennis
Copy link

I get the same error on Hyprland - Funny as my 1. setup worked with nvidia and hyprland, some updates happened (dont know which one exactly it was) and now it seems to be borked

@itouchdennis
Copy link

Installed hyprland and repleaced hyprland-git, headless streaming via sunshine works for me now again.

@martydingo
Copy link

martydingo commented Jun 26, 2024

I just want to note that the breaking change seems to originate from hyprwm/Hyprland@4f26ae7

The developers of Hyprland are not interested in fixing this issue as it is their opinion that a different function should be in use as wlr_dmabuf has been apparently superseded.

hyprwm/Hyprland#6623

Will this be able to be resolved within the Sunshine codebase?

@ReenigneArcher
Copy link
Member

Anyone is free to make a PR.

If you want stability though you should probably use x11. The Wayland protocol they superceded was unstable and the replacement one is also unstable.

@martydingo
Copy link

I've had linked the wrong issue, and I've corrected it now. Apologies.

So there's no intention to shift to wlr_screencopy_v1?

@Johny-LPM
Copy link

Johny-LPM commented Jul 3, 2024

I am also in the boat of making heavy use of hyprland's easy to create headless monitor feature, streaming it using Sunshine, so I would also interested in seeing this being updated to using wlr_screencopy_v1 over wlr_export_dmabuf, although I currently lack the proper knowledge to contribute to that change myself
Thank you!

In the meantime, for those using nix, rolling back to the previous version gets it back to a working state. You can use Lazamar's tool for getting a previous revision, if you don't use flakes, but you can also just look up the history of commits to the hyprland nix package and just get one that works, as Lazamar's only updates every now and again.

@PierreBeucher
Copy link

Same issue here, running headless on NixOS with NVIDIA GPU. Cloudy Pad relies entirely on the ability to use virtual monitor which is seemingly broken now.

If I understand correctly, this Sunshine logs is pointing to the real issue:

[2024:07:06:21:29:14]: Warning: Missing Wayland wire for wlr-export-dmabuf

Causing Sunshine to fallback to capture method non-compatible with virtual display. Is there a possible workaround ?

@fr4iser90
Copy link

Same problem with weaton wayland, chatgpt Said i should try to rebuild with wlr_screencopy, i ll try These days and Tell u output

Nemo157 added a commit to Nemo157/dotfiles that referenced this issue Jul 19, 2024
ref: hyprwm/Hyprland#6623
ref: LizardByte/Sunshine#2250

requires sunshine to implement support for the newer protocol that hyprland
continues to expose
@itouchdennis
Copy link

Did anyone get this back to working without downgrading hyprland version to the last commit where wlroots are available?

@Kofa1
Copy link

Kofa1 commented Aug 4, 2024

I also experience this on Hyprland. Creating the headless monitor with hyprctl output create headless and I have the log Unknown Monitor connector type [HEADLESS]: Please report this to the GitHub issue tracker in my KMS Monitor list.

@fxzzi Have you since found a workaround? This still hasn't been fixed, I've opened an issue.

@ReenigneArcher ReenigneArcher added the help wanted Extra attention is needed label Sep 13, 2024
@matyugovich
Copy link

Have the same error when using virtual display on GNOME 47 and Wayland
[2024-10-21 16:30:47.471]: Info: Name: Meta-0
[2024-10-21 16:30:47.471]: Info: Found monitor: MetaVendor
[2024-10-21 16:30:47.471]: Info: -------- Start of KMS monitor list --------
[2024-10-21 16:30:47.471]: Info: Monitor 0 is DP-3: LG Electronics 32"
[2024-10-21 16:30:47.471]: Error: Unknown Monitor connector type [Meta]: Please report this to the GitHub issue tracker
[2024-10-21 16:30:47.471]: Info: --------- End of KMS monitor list ---------

@Fr1stIT
Copy link

Fr1stIT commented Nov 6, 2024

same problem on Fedora 40. Any updates?

@ReenigneArcher ReenigneArcher marked this as a duplicate of #3349 Dec 19, 2024
@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!

@Johny-LPM
Copy link

Bumping this, as it's still an issue

@nomisma-qt
Copy link

nomisma-qt commented Feb 6, 2025

Hello, i'm a new Sunshine / Moonlight user here, only testing so far. I know nothing about coding or applying patches from github or anything, but my aim is to run headless 4K@60 desktop VM's with pcie passthrough to GPU (Quadro P620) on proxmox.

Have been trying to read up, and i know the easiest solution is a dummy 4K plug, the second easiest is to do the X11 trick. But ofcourse, a headless VM running wayland with no dummy plug, and streaming via sunshine is the goal.

Reason i decided to barge into this thread is i have a fully working test setup here, latest proxmox with working pcie passthrough to Quadro P620 GPU, hardware keyb/mouse access to Both client running Moonlight and VM running Sunshine, and 2x 4K@60 screens connected to client and server in front of me.

I have not yet tested hyprland, it was planned, but i can test anything easy on this setup. Currently a test VM running Fedora 41 standard install w/ Wayland, pcie passthrough to P620 with a working Sunshine installed from COPR beta.

I want to help, so if anyone has some ideas that i could easily test with this setup, just tell me what to do, and i can report back.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests