diff -r b82c0f22d22a src/video/raspberry/SDL_rpivideo.c --- a/src/video/raspberry/SDL_rpivideo.c Wed Jun 08 08:01:21 2016 -0700 +++ b/src/video/raspberry/SDL_rpivideo.c Tue Jun 21 18:48:31 2016 +0200 @@ -221,6 +221,8 @@ VC_RECT_T src_rect; VC_DISPMANX_ALPHA_T dispman_alpha; DISPMANX_UPDATE_HANDLE_T dispman_update; + uint32_t layer=SDL_RPI_VIDEOLAYER; + char *layer_env=NULL; /* Disable alpha, otherwise the app looks composed with whatever dispman is showing (X11, console,etc) */ dispman_alpha.flags = DISPMANX_FLAGS_ALPHA_FIXED_ALL_PIXELS; @@ -253,8 +255,22 @@ src_rect.width = window->w << 16; src_rect.height = window->h << 16; + layer_env=SDL_getenv("SDL_RPI_VIDEO_LAYER"); + if (layer_env) { + layer=SDL_atoi(layer_env); + } + dispman_update = vc_dispmanx_update_start( 0 ); - wdata->dispman_window.element = vc_dispmanx_element_add ( dispman_update, displaydata->dispman_display, SDL_RPI_VIDEOLAYER /* layer */, &dst_rect, 0/*src*/, &src_rect, DISPMANX_PROTECTION_NONE, &dispman_alpha /*alpha*/, 0/*clamp*/, 0/*transform*/); + wdata->dispman_window.element = vc_dispmanx_element_add ( dispman_update, + displaydata->dispman_display, + layer /* dispmanx layer */, + &dst_rect, + 0 /*src*/, + &src_rect, + DISPMANX_PROTECTION_NONE, + &dispman_alpha /*alpha*/, + 0 /*clamp*/, + 0/*transform*/); wdata->dispman_window.width = window->w; wdata->dispman_window.height = window->h; vc_dispmanx_update_submit_sync( dispman_update );