From 1de9756b97daec3c15f8048631af866e9cb58562 Mon Sep 17 00:00:00 2001 From: Michael Tokarev Date: Sun, 8 May 2011 01:18:30 +0400 Subject: set $SDL_VIDEODRIVER=x11 on Linux to prevent sudo kvm from fighting for video card Signed-off-by: Michael Tokarev Acked-by: Alexander Graf Signed-off-by: Aurelien Jarno --- ui/sdl.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'ui') diff --git a/ui/sdl.c b/ui/sdl.c index dc5c3a1bc2..14a62d9bdd 100644 --- a/ui/sdl.c +++ b/ui/sdl.c @@ -831,6 +831,18 @@ void sdl_display_init(DisplayState *ds, int full_screen, int no_frame) if (!full_screen) { setenv("SDL_VIDEO_ALLOW_SCREENSAVER", "1", 0); } +#ifdef __linux__ + /* on Linux, SDL may use fbcon|directfb|svgalib when run without + * accessible $DISPLAY to open X11 window. This is often the case + * when qemu is run using sudo. But in this case, and when actually + * run in X11 environment, SDL fights with X11 for the video card, + * making current display unavailable, often until reboot. + * So make x11 the default SDL video driver if this variable is unset. + * This is a bit hackish but saves us from bigger problem. + * Maybe it's a good idea to fix this in SDL instead. + */ + setenv("SDL_VIDEODRIVER", "x11", 0); +#endif /* Enable normal up/down events for Caps-Lock and Num-Lock keys. * This requires SDL >= 1.2.14. */ -- cgit v1.2.1