Skip to content
Permalink
Browse files

Fixes X11 video backend compilation when no GL is available

For example, in our Raspberry Pi sysroot.
  • Loading branch information
gabomdq committed Oct 12, 2013
1 parent 7bc9815 commit 074a1c4c6393daab1c20dbf5b7e3e7b5d37db592
Showing with 16 additions and 4 deletions.
  1. +6 −0 README-raspberrypi.txt
  2. +10 −4 src/video/x11/SDL_x11window.c
@@ -69,7 +69,13 @@ The final step is compiling SDL itself.
cd <SDL SOURCE>
mkdir -p build;cd build
../configure --with-sysroot=$SYSROOT --host=arm-raspberry-linux-gnueabihf --prefix=$PWD/rpi-sdl2-installed --disable-pulseaudio --disable-esd
make
make install

To be able to deploy this to /usr/local in the Raspbian system you need to fix up a few paths:

perl -w -pi -e "s#$PWD/rpi-sdl2-installed#/usr/local#g;" ./rpi-sdl2-installed/lib/libSDL2.la ./rpi-sdl2-installed/lib/pkgconfig/sdl2.pc ./rpi-sdl2-installed/bin/sdl2-config

================================================================================
Apps don't work or poor video/audio performance
================================================================================
@@ -370,8 +370,11 @@ X11_CreateWindow(_THIS, SDL_Window * window)
XVisualInfo *vinfo = NULL;

#if SDL_VIDEO_OPENGL_EGL
if (_this->gl_config.profile_mask == SDL_GL_CONTEXT_PROFILE_ES &&
( !_this->gl_data || ! _this->gl_data->HAS_GLX_EXT_create_context_es2_profile )) {
if (_this->gl_config.profile_mask == SDL_GL_CONTEXT_PROFILE_ES
#if SDL_VIDEO_OPENGL_GLX
&& ( !_this->gl_data || ! _this->gl_data->HAS_GLX_EXT_create_context_es2_profile )
#endif
){
vinfo = X11_GLES_GetVisual(_this, display, screen);
} else
#endif
@@ -555,8 +558,11 @@ X11_CreateWindow(_THIS, SDL_Window * window)

#if SDL_VIDEO_OPENGL_ES || SDL_VIDEO_OPENGL_ES2
if ((window->flags & SDL_WINDOW_OPENGL) &&
_this->gl_config.profile_mask == SDL_GL_CONTEXT_PROFILE_ES &&
(!_this->gl_data || ! _this->gl_data->HAS_GLX_EXT_create_context_es2_profile) ) {
_this->gl_config.profile_mask == SDL_GL_CONTEXT_PROFILE_ES
#if SDL_VIDEO_OPENGL_GLX
&& ( !_this->gl_data || ! _this->gl_data->HAS_GLX_EXT_create_context_es2_profile )
#endif
) {
if (!_this->egl_data) {
XDestroyWindow(display, w);
return -1;

0 comments on commit 074a1c4

Please sign in to comment.