Cannot use gst-nveglglessink with Wayland on L4T 36.4.0

I am unable to run a simple gstreamer pipeline that uses nveglglessink with wayland on L4T 36.4.0. This previously worked on L4T 35.4

I have started westion using nvstart-weston.sh, which is using the default desktop-shell.so.

If I run the following command gst-launch-1.0 videotestsrc ! video/x-raw,framerate=30/1,width=1920,height=1080 ! nveglglessink winsys=wayland, it fails to initialise eglglessink with error

0:00:00.033049467  1331 0xaaaaea353790 ERROR   eglglessink-platform video_platform_wrapper.c:211:platform_initialize_display_wayland: Can't find compositor or shell

By enabled WAYLAND_DEBUG=1, the problem seems to be that the wl_registry does not provide wl_shell, which is required by nveglglessink. A bit of searching appears to indicate that wl_shell is deprecated, and clients should use xdg_shell / xdg_wm_base instead.

Is this a known issue with L4T 36.4.0?

Hi,
Loos like your steps are same as developer guide:

Accelerated GStreamer — NVIDIA Jetson Linux Developer Guide 1 documentation

This may be a potential issue. We will check further. Thanks for reporting it.

Hi,
We have confirmed this is an issue and are checking it. Will update when there is further finding.

I have created a patch for the nveglglessink plugin to add support for xdg_wm_base. This resolves the issue on L4T 36.4.0.

gstegl-add-xdg_wm_base-support.patch.txt (6.9 KB)

1 Like