Hey,
I’ve been working on getting DisplayPort MST working on two Jetson AGX Orin Devkits (32GB and 64GB versions). I have a DisplayPort MST Hub that is connected to two monitors. When flashing the Orin’s through the SDK manager with Jetpack 5.1.2 DP MST seems to work fine. I get two separate streams that essentially extend the desktop.
This however won’t really work for our application since we want to use the Direct Rendering Manager. The DRM seems to work fine when running a GStreamer pipeline that utilizes nvdrmvideosink
or the sample application 08_video_dec_drm
and only specifying one display. The DisplayPort MST Hub is plugged into two monitors via HDMI. I can display video to either of them, but cannot display on both at the same time.
e.g. when running this pipeline:
gst-launch-1.0 -v videotestsrc pattern=ball ! videoconvert ! ‘video/x-raw,width=1920,height=1080’ ! nvvidconv ! nvdrmvideosink conn-id=1
everything works fine. I can also switch to conn-id=2 to display that video to the other monitor. When I try to running a separate pipeline that uses the other other display I get the following error:
0:00:00.256193440 2017 0xaaaaca7f5b60 ERROR nvdrmvideosink gstnvdrmvideosink.c:654:gst_nvdrmvideosink_set_caps: Set crtc failed
0:00:00.270720480 2017 0xaaaaca7f5b60 ERROR nvdrmvideosink gstnvdrmvideosink.c:654:gst_nvdrmvideosink_set_caps: Set crtc failed
This error also appears when I try to run a pipeline that tee’s off to the two displays:
GST_DEBUG=3 gst-launch-1.0 -v videotestsrc pattern=ball ! videoconvert ! ‘video/x-raw,width=1920,height=1080’ ! nvvidconv ! tee name=disp disp. ! queue ! nvvidconv ! nvdrmvideosink conn-id=1 disp. ! queue ! nvvidconv ! nvdrmvideosink conn-id=2
Would appreciate any help. Thanks!