To perform a capture operation, call the NvScrncaptCapture() function.

Hi, All

I have an USB device which equipped with a LCD screen, and I want to use it as a display for my Jetson nano.

I found some APIs like NvScrncaptCapture() function inside NVIDIA DRIVE 5.0 Linux SDK API Reference Documentation.
So my question is – Should it be feasible to customerize a Linux DTB overlay to force Jetson nano HDMI port work under a specified resolution even though there is not any ‘real’ HDMI display plugin, and then use APIs like NvScrncaptCapture() to dump content of HDMI port to my usb device from user space? It is something like utility fbcp which already implemented in Raspberry Pi user space.

Any comments/clues are welcome.



Hi mayday19,

Jetson Nano is not compatible with Drive Linux SDK. From official display controller flow, the only interface we support is HDMI/DP/eDP/DSI. Other interface like usb monitor needs to see how their framework implements.

Hi, Wayne

Thanks for your prompt reply.

Is there any SDK, or APIs on Tegra Linux, which we can use to capture screens/surfaces for a specific display interface like HDMI or DP? From Tegra Board Support Package architecture, we can find some display libs layer on Nvidia user space drivers.


Hi mayday19,

Currently I believe there is no such SDK that can work. Most usercase we have met is customer has their own HDMI-in module. For example, PCIe capture card and they use v4l2 api to get buffer out.

But such device is actually a virtual display with EDID programmed.


Shouldn’t we have a way to use gstreamer to capture screen shots of desktop as a live video and save it to somewhat a disk file? The desktop screen shots here I mean may include any 2d/3d rendering effects by Tegra GPU.

Sorry for disturb but I am really curious to know if there is a way to do screen capture on Tegra GPU display surfaces.


You may try 3rdparty xvimagesrc plugin.