Headless mode for GL plugin
Matthew Waters
ystreet00 at gmail.com
Fri Mar 23 12:25:35 UTC 2018
It should work out of the box if you don't already have an X11/Wayland
display server running. It's chosen after X11/Wayland connections fail.
You can also force it by setting the environment variable GST_GL_WINDOW=gbm
e.g. GST_DEBUG=gl*:4 GST_GL_WINDOW=gbm gst-launch-1.0 videotestsrc !
glupload ! gleffects_squeeze ! glcolorconvert ! gldownload ! pngenc !
filesink location=test.png
Cheers
-Matt
On 23/03/18 22:57, Alexander Yanin wrote:
> Thanks! Fine, what I need to do to make it work on Intel Kabylake
> with Mesa and without neither xorg nor wayland? Would it work right
> out of the box or should I perform some additional actions to make it run?
>
> 2018-03-23 14:50 GMT+03:00 Matthew Waters <ystreet00 at gmail.com
> <mailto:ystreet00 at gmail.com>>:
>
> Accessing the GPU without a windowing system is something that is
> very specific to every driver/hardware combination. We support
> (with 1.14) one method using kms and a libgbm compatible driver
> which are used by all of the Mesa drivers. Some other embedded
> systems (rpi, imx6) have other ways. That nvidia blog post you've
> linked contains references to EGL_EXT_device_query
> <https://www.khronos.org/registry/EGL/extensions/EXT/EGL_EXT_device_query.txt>
> which I guess is nvidia's way of performing a similar thing and
> such a method could be added to the GStreamer GL library and plugins.
>
> Cheers
> -Matt
>
>
> On 23/03/18 21:10, Alexander Yanin wrote:
>> Hi!
>>
>> Is it possible to use GL elements (like glvideomixer, glupload,
>> gleffects, etc) without anything like Wayland, Xorg, etc? In
>> particular, I want to use glvideomixer instead of compositor on a
>> server without any display attached. I heard about a possible
>> workaround using frame buffer, but I didn't manage to find a way
>> to use glvideomixer without xorg or wayland. It crushes on
>> context initialization.
>>
>> Here is the output:
>>
>> glmixer gstglbasemixer.c:217:_get_gl_context:<mixer> error:
>> Failed to initialize egl: EGL_NOT_INITIALIZED
>> glwindow gstglwindow.c:285:gst_gl_window_new: Could not create
>> window. user specified (null), creating dummy window
>> glcontext
>> gstglcontext.c:1235:gst_gl_context_create_thread:<glcontextegl48>
>> Failed to create context
>>
>> So, is there a way to bypass this issue without using xorg or
>> wayland? I heard that it is possible to initialize EGL without
>> xorg [1]. Is it possible to use this approach within gl elements?
>>
>> [1]
>> - https://devblogs.nvidia.com/egl-eye-opengl-visualization-without-x-server/
>> <https://devblogs.nvidia.com/egl-eye-opengl-visualization-without-x-server/>
>>
>>
>> _______________________________________________
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.freedesktop.org
>> <mailto:gstreamer-devel at lists.freedesktop.org>
>> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>> <https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20180323/bb57253f/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 516 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20180323/bb57253f/attachment.sig>
More information about the gstreamer-devel
mailing list