]> git.proxmox.com Git - qemu.git/commitdiff
set $SDL_VIDEODRIVER=x11 on Linux to prevent sudo kvm from fighting for video card
authorMichael Tokarev <mjt@tls.msk.ru>
Sat, 7 May 2011 21:18:30 +0000 (01:18 +0400)
committerAurelien Jarno <aurelien@aurel32.net>
Sat, 14 May 2011 23:05:26 +0000 (01:05 +0200)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
Acked-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
ui/sdl.c

index dc5c3a1bc2c58a8df2b63e55e594a38e48c011d0..14a62d9bdd16565ffac3e58439be330c0886bcd6 100644 (file)
--- 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. */