wpe: Not working without GPU
Turns out more changes are needed to make WPE work without GPU.
When running with Docker on local machine (where there is a GPU), Docker mounts /dev
inside of the container, such that /dev/dri/card0
is there.
However, running on machine that doesn't have any GPU at all and/or when /dev
is not mounted accordingly in Docker results in this error:
error: XDG_RUNTIME_DIR not set in the environment.
0:00:38.351318544 1 0x7f00fc06d460 WARN gleglgbm gstgl_gbm_utils.c:489:gst_gl_gbm_find_and_open_drm_node: Cannot open device node "/dev/dri/card0": No such file or directory (2)
0:00:38.351428491 1 0x7f00fc06d460 ERROR gldisplay gstgldisplay_gbm.c:439:gst_gl_display_gbm_new: could not find or open DRM device
0:00:38.352505894 1 0x7f00fc06d460 WARN glwindow gstglwindow.c:323:gst_gl_window_new: Could not create window. user specified (null), creating dummy window
0:00:38.352693583 1 0x7f00f4003580 WARN glcontext gstglcontext.c:1257:gst_gl_context_create_thread:<glcontextegl0> Failed to create context
0:00:38.352760904 1 0x7f00fc06d460 WARN glbasesrc gstglbasesrc.c:615:gst_gl_base_src_find_gl_context_unlocked:<wpesrc_786805_embed_chat> error: Failed to initialize egl: EGL_NOT_INITIALIZED
{"msg":"Error from Some(GString(Foreign(0x7f00f400ea80, 54))): Failed to initialize egl: EGL_NOT_INITIALIZED (Some(\"../gst-libs/gst/gl/gstglbasesrc.c(615): gst_gl_base_src_find_gl_context_unlocked (): /GstPipeline:../GstWpeSrc:wpesrc_..\"))"}
The first line is without timestamp, last line is from my app.
LIBGL_ALWAYS_SOFTWARE=true
is in place, maybe GStreamer plugin needs to read it and adjust behavior accordingly?
Edited by Nazar Mokrynskyi