I was able to build obs-studio-portable under Slackware 14.2 with FFMpeg 3.3.3
I used:
export LIBGL_DEBUG=verbose
When Running OBS I get the error below.
I originally used the libraries that installed with the distro, but then later removed the following:
glew-1.13.0-x86_64-1
glu-9.0.0-x86_64-1
libdrm-2.4.68-x86_64-1
mesa-11.2.2-x86_64-1
And Installed:
libdrm-2.4.83
mesa-17.1.9
info: Initializing OpenGL...
libGL: OpenDriver: trying /usr/local/lib/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/local/lib/dri/swrast_dri.so
libGL: Can't open configuration file /home/bcc001/.drirc: No such file or directory.
libGL: Can't open configuration file /home/bcc001/.drirc: No such file or directory.
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
error: ARB_GLX_create_context not supported!
error: Failed to create context!
error: device_create (GL) failed
error: Failed to initialize video. Your GPU may not be supported, or your graphics drivers may need to be updated.
System Info:
info: Processor: 4 logical cores
info: Processor: Intel(R) Core(TM) i3-3110M CPU @ 2.40GHz
info: Physical Memory: 3823MB Total
info: Kernel Version: Linux 4.4.14
info: Distribution: Slackware 14.2
VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09) (prog-if 00 [VGA controller])
Subsystem: Toshiba America Info Systems 3rd Gen Core processor Graphics Controller
Kernel driver in use: i915
Kernel modules: i915
In the end, I think that I would not have this problem with a NVidia based laptop,
as installing their Drivers would likely install requisite dependencies.
I have looked at the Intel Graphics Stack here:
https://01.org/linuxgraphics/downloads
Not sure if it will make a difference.
I tried using the following code to get my OpenGL Version:
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <GL/gl.h>
#include <GL/glu.h>
int main(void)
{
const GLubyte* strVersion=0;
GLint* v = 0;
glGetIntegerv(GL_MINOR_VERSION, v);
if ( (strVersion=glGetString(GL_VERSION)) ) {
printf("OpenGL version: %s\n", (char*)strVersion);
return 0;
}
else {
printf("glGetString returned %d\n", v);
return 1;
}
}
And:
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <GL/gl.h>
#include <GL/glu.h>
int main(void)
{
const GLubyte* string;
string = glGetString(GL_VERSION);
printf("%s\n", string);
exit(0);
}
But it did not return a meaningful Version Number.
The error does seem to be related to the "swrast" driver not being the one in use.
There are files called:
/usr/local/lib/dri/i965_dri.so
/usr/local/lib/dri/i915_dri.so
But OBS does not seem to be trying to load these. Is there a Config file that should contain this info?