Output to Second Display/Monitor

Info

  • Jetson Orin
  • Ubuntu 22.04
  • NVIDIA Tegra Orin
  • Deepstream 7.1.0
  • Jetpack 6.1

Q
I’m trying to output the pipeline to a second display/monitor. I tried the alternatives mentioned in this post: Output into Second Display/Monitor - General Discussion - GStreamer Discourse. However, I haven’t succeeded. I also tried with the compiled jetson drm video sample (Jetson Linux API Reference: 08_video_dec_drm (Direct Rendering Manager) | NVIDIA Docs). How could I manipulate this so I can render the video from the gstreamer/deepstream pipeline into a second display/monitor?

Hi,
We support jetson_multimedia_api and gstreamer. Please make sure you have checked the document:

There are some examples in

Q: Is there any example of running RTSP streaming?
Q: Is there an example for running UDP streaming?
Q: I have a USB camera. How can I launch it on AGX Orin?

For further issues, please share a method to replicate the issue through gstreamer command, or either sample. We will set up developer kit and check.

Thanks!

Hi,

Please try if setup the DISPLAY global environment helps.
For example:

$ export DISPLAY=:1

Then run the deepstream pipeline.

Thanks.

Hi @AastaLLL ,

Thanks for responding. I’ve tried changing DISPLAY value to :1, :0.1, :2 and other variations. None of them have worked unfortunately. With export DISPLAY=:1, the pipeline opens in the same monitor as in export DISPLAY=:0.

Hi,

Do you use a DP port with MST hub?
Could you share your setting with us?
(maybe a picture for your hardware setting)

Thanks.

Hi, Sure.

Here I have 2 setups that I’m trying.
** Edited

The splitter we are using in the Orin setup is the following: Amazon.com: gofanco 1x2 DisplayPort 1.2 Display Splitter Adapter – DP to Dual DisplayPort MST Hub Converter, 4K @30Hz, for Windows PCs, Not Mac OS Compatible, Eyefinity Support (DPMST2DP) : Electronics

Hope this helps. Thank you!

Hi,

Just to clarify. So are you able to see 2 GUI on your monitors when using that MST hub now?

BTW, HDMI is not possible to have 2 display output on Orin. Only DP with MST hub can.

Hi @WayneWWW ,

Exactly, I can see both GUI correctly. What I want is to choose the second monitor to show the video from the Deepstream pipeline. How could I do that?

Hi,
By default we use single display in DeepStream SDK. You may try to set the properties and see if it can utilize second display:

[nv3dsink]
  window-height       : Height of window
                        flags: readable, writable
                        Unsigned Integer. Range: 0 - 2147483647 Default: 0
  window-width        : Width of window
                        flags: readable, writable
                        Unsigned Integer. Range: 0 - 2147483647 Default: 0
  window-x            : X coordinate of window
                        flags: readable, writable
                        Unsigned Integer. Range: 0 - 2147483647 Default: 0
  window-y            : Y coordinate of window
                        flags: readable, writable
                        Unsigned Integer. Range: 0 - 2147483647 Default: 0

[nveglglessink]
  window-height       : Height of window
                        flags: readable, writable
                        Unsigned Integer. Range: 0 - 2147483647 Default: 0
  window-width        : Width of window
                        flags: readable, writable
                        Unsigned Integer. Range: 0 - 2147483647 Default: 0
  window-x            : X coordinate of window
                        flags: readable, writable
                        Unsigned Integer. Range: 0 - 2147483647 Default: 10
  window-y            : Y coordinate of window
                        flags: readable, writable
                        Unsigned Integer. Range: 0 - 2147483647 Default: 10

[nvdrmvideosink]
  conn-id             : Sets CONN ID.
                        flags: readable, writable
                        Integer. Range: 0 - 2147483647 Default: 2147483647
  offset-x            : Sets offset x
                        flags: readable, writable
                        Integer. Range: 0 - 2147483647 Default: 0
  offset-y            : Sets offset y
                        flags: readable, writable
                        Integer. Range: 0 - 2147483647 Default: 0
  plane-id            : Sets PLANE ID
                        flags: readable, writable
                        Integer. Range: 0 - 2147483647 Default: 2147483647

Please note you would need to stop X11 and load DRM when using nvdrmvideosink:

Accelerated GStreamer — NVIDIA Jetson Linux Developer Guide