X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=plat_sdl.c;h=6510fc1b93d7337911294f8ebcde9fec39a6b707;hb=c668921a45b7a7f5f548d0e09836f143f56b4ae0;hp=db39bf2f18094cd6916ae4fe643c0be061adb0dd;hpb=39639dd1daaecf2707c6c40b425da242553a2de3;p=libpicofe.git diff --git a/plat_sdl.c b/plat_sdl.c index db39bf2..6510fc1 100644 --- a/plat_sdl.c +++ b/plat_sdl.c @@ -186,9 +186,11 @@ int plat_sdl_init(void) static const char *vout_list[] = { NULL, NULL, NULL, NULL, NULL }; const SDL_VideoInfo *info; SDL_SysWMinfo wminfo; + const char *env; int overlay_works = 0; int gl_works = 0; int i, ret, h; + int try_gl; ret = SDL_Init(SDL_INIT_VIDEO | SDL_INIT_NOPARACHUTE); if (ret != 0) { @@ -274,8 +276,22 @@ int plat_sdl_init(void) (void)wminfo; #endif - ret = gl_init(display, window, &gl_quirks); + ret = -1; + try_gl = 1; + env = getenv("DISPLAY"); + if (env && env[0] != ':') { + fprintf(stderr, "looks like a remote DISPLAY, " + "not trying GL (use PICOFE_GL=1 to override)\n"); + // because some drivers just kill the program with no way to recover + try_gl = 0; + } + env = getenv("PICOFE_GL"); + if (env) + try_gl = atoi(env); + if (try_gl) + ret = gl_init(display, window, &gl_quirks); if (ret == 0) { + gl_announce(); gl_works = 1; gl_finish(); }