[PATCH] ui/sdl2: remove workaround forcing x11

Erico Nunes posted 1 patch 1 year, 1 month ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20230301141205.514338-1-ernunes@redhat.com
Maintainers: Gerd Hoffmann <kraxel@redhat.com>
ui/sdl2.c | 16 ----------------
1 file changed, 16 deletions(-)
[PATCH] ui/sdl2: remove workaround forcing x11
Posted by Erico Nunes 1 year, 1 month ago
This workaround was put in place in the original implementation almost
10 years ago, considering a very old SDL2 version. Currently it prevents
users to run in a wayland-only environment without manually forcing the
backend.
The SDL2 wayland backend has been supported by distributions for a very
long time (e.g. in Fedora, first available 8 years ago), and is now
considered stable and becoming the default for new SDL2 releases.
Instead of requiring the x11 backend to exist by default, let new qemu
releases run with the default chosen by the installed SDL2 version.

Signed-off-by: Erico Nunes <ernunes@redhat.com>
---
 ui/sdl2.c | 16 ----------------
 1 file changed, 16 deletions(-)

diff --git a/ui/sdl2.c b/ui/sdl2.c
index 8cb77416af..03f353232f 100644
--- a/ui/sdl2.c
+++ b/ui/sdl2.c
@@ -825,22 +825,6 @@ static void sdl2_display_init(DisplayState *ds, DisplayOptions *o)
 
     assert(o->type == DISPLAY_TYPE_SDL);
 
-#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.
-     */
-    if (!g_setenv("SDL_VIDEODRIVER", "x11", 0)) {
-        fprintf(stderr, "Could not set SDL_VIDEODRIVER environment variable\n");
-        exit(1);
-    }
-#endif
-
     if (SDL_Init(SDL_INIT_VIDEO)) {
         fprintf(stderr, "Could not initialize SDL(%s) - exiting\n",
                 SDL_GetError());
-- 
2.39.2
Re: [PATCH] ui/sdl2: remove workaround forcing x11
Posted by Daniel P. Berrangé 1 year, 1 month ago
On Wed, Mar 01, 2023 at 03:12:05PM +0100, Erico Nunes wrote:
> This workaround was put in place in the original implementation almost
> 10 years ago, considering a very old SDL2 version. Currently it prevents
> users to run in a wayland-only environment without manually forcing the
> backend.
> The SDL2 wayland backend has been supported by distributions for a very
> long time (e.g. in Fedora, first available 8 years ago), and is now
> considered stable and becoming the default for new SDL2 releases.
> Instead of requiring the x11 backend to exist by default, let new qemu
> releases run with the default chosen by the installed SDL2 version.

As the comment says, it is better fixed elsewhere anyway rather
than hardcoding in QEMU

> 
> Signed-off-by: Erico Nunes <ernunes@redhat.com>
> ---
>  ui/sdl2.c | 16 ----------------
>  1 file changed, 16 deletions(-)

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>


With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|