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? _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
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
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:
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (527 bytes) Download Attachment |
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 <[hidden email]>:
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
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:
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (527 bytes) Download Attachment |
Thank you, Matt. I will try, hope this should work with 1.14 2018-03-23 15:25 GMT+03:00 Matthew Waters <[hidden email]>:
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Unfortunately, it doesn't work out of the box for me on Arch. Here is the output^ glcontext gstglcontext.c:337:gst_gl_context_new: creating a context for display <gldisplayegl0>, user choice:(null) glwindow gstglwindow.c:251:gst_gl_window_new: creating a window, user choice:gbm glwindow gstglwindow.c:293:gst_gl_window_new: Could not create window. user specified gbm, creating dummy window glcontext gstglcontext.c:1240:gst_gl_context_create_thread:<glcontextegl23> Attempting to create opengl context. user chosen api(s) (any), compiled api support (opengl opengl3 gles2) display api (opengl opengl3 gles2) glcontext gstglcontext.c:1244:gst_gl_context_create_thread:<glcontextegl23> Failed to create context glcontext gstglcontext.c:1046:gst_gl_context_create:<glcontextegl23> gl thread created glmixer gstglbasemixer.c:176:_get_gl_context:<mixer> error: Failed to initialize egl: EGL_NOT_INITIALIZED Did Arch maintainers miss some compile-time flags or have I done something wrong? 2018-03-23 15:30 GMT+03:00 Alexander Yanin <[hidden email]>:
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Arch may be missing the GBM window
system.
Check if #define GST_GL_HAVE_WINDOW_GBM 1 Is true inside /usr/lib/gstreamer-1.0/gst/gl/gstglconfig.h Cheers -Matt On 26/03/18 19:45, Alexander Yanin wrote:
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (527 bytes) Download Attachment |
2018-03-26 13:25 GMT+03:00 Matthew Waters <[hidden email]>:
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Ah, it fails because there's no
connecter. I assume there's no display attached to the computer.
Smoke test would be to connect something there and then try.
0:00:00.019554669 20592 0x5635e42be730 ERROR gldisplay gstgldisplay_gbm.c:181:gst_gl_display_gbm_setup_drm: No connected DRM connector foundIn any case, that's a bug. Could you file a bug at https://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer&component=gst-plugins-good? Cheers -Matt On 26/03/18 22:17, Alexander Yanin wrote:
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (499 bytes) Download Attachment |
Yes, you're right, the display was not connected to the server. After connection everything work as expected. Sure, I will leave a bug report. Thank you! 2018-03-27 3:37 GMT+03:00 Matthew Waters <[hidden email]>:
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by Alexander Yanin
Hello,
Have you managed to find a solution for this ? Thank you. -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/195 Per that MR, you can try setting GST_GL_WINDOW=egl-device On Fri, Apr 24, 2020 at 12:43 PM Hamdi_Rakkez <[hidden email]> wrote: Hello, CL _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Thank you but I do not have access to egl-device because I am using
gst-1.16.2 egl-device is introduced in 1.18. -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |