w23/obs-studio

EGL is not detected

tatokis opened this issue · 1 comments

in libobs-opengl/gl-subsystem.c there's a return statement specifying EGL or GLX.
It depends on #ifdef USE_EGL, however USE_EGL is not defined for that file while compiling.

From make VERBOSE=1 it is obvious there is no -DUSE_EGL=1:

[ 29%] Building C object libobs-opengl/CMakeFiles/libobs-opengl.dir/gl-subsystem.c.o
cd /home/tatokis/obs-studio/build/libobs-opengl && /usr/bin/cc -DHAVE_OBSCONFIG_H -DLIBOBS_EXPORTS -DUSE_XDG -Dlibobs_opengl_EXPORTS -I/usr/local/include -I/home/tatokis/obs-studio/libobs -I/home/tatokis/obs-studio/build/config -I/home/tatokis/obs-studio/deps/glad/include  -Wall -Wextra -Wvla -Wno-unused-function -Werror-implicit-function-declaration -Wno-missing-braces -Wno-missing-field-initializers  -std=gnu99 -fno-strict-aliasing -O3 -DNDEBUG -fPIC   -mmmx -msse -msse2 -pthread -o CMakeFiles/libobs-opengl.dir/gl-subsystem.c.o   -c /home/tatokis/obs-studio/libobs-opengl/gl-subsystem.c

Digging further into it, the reason is for this is behaviour is that USE_EGL is only defined for libobs-opengl-egl, and not libobs-opengl as well.

target_compile_definitions(libobs-opengl-egl
PRIVATE
USE_EGL=1)

w23 commented

(just cleaning up stale issues)
Master OBS now has native EGL support, which is done somewhat differently. This is no longer relevant.