Headless jetson nano with hardware accelerated gstreamer and opengl

How do I run a jetson nano headless but keep hardware acceleration? Specifically, I need hardware accelerated gstreamer and OpenGL.

I’ve seen solutions which use the xf86-video-dummy driver to set up a virtual xserver. This seems to let CUDA do its thing while forcing software rendering in OpenGL. How do I get around this?

I want to render to textures in opengl and then stream said textures over rtp using gstreamer.

There is APIs to get EGLImage from NvBuffer and here is a sample:
Nano not using GPU with gstreamer/python. Slow FPS, dropped frames - #8 by DaneLLL

You can check if you can use EGL and OpenGL to implement your usecase. There is demonstration of rendering frames in


However, we don’t try this case in headless mode. In headless mode, you should still need to call:

        egl_display = eglGetDisplay(EGL_DEFAULT_DISPLAY);
        eglInitialize(egl_display, NULL, NULL);



This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.