qemu/kvm SDL over ssh -X broken

Bug #691424 reported by Bernhard M. Wiedemann
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
QEMU
Fix Released
Undecided
Unassigned

Bug Description

qemu/kvm by default uses SDL to render the output of its emulated VGA graphics.
This is broken over ssh -X since quite a while.
The only workaround I know, is to use qemu -vnc :0
and connect using vncviewer

How To Reproduce:
1. zypper in qemu
2. ssh -X localhost qemu -cdrom ANYISOFILE

Actual Results:
qemu hangs in an endless loop on the BIOS display screen

Expected Results:
should boot up the iso as 0.10 versions did

Reproducible: Always

this is what broke it:
$ git bisect bad
c18a2c360e3100bbd71162cf922dcd8c429a8b71 is first bad commit
commit c18a2c360e3100bbd71162cf922dcd8c429a8b71
Author: Stefano Stabellini <email address hidden>
Date: Wed Jun 24 11:58:25 2009 +0100

    sdl zooming

    Hi all,
    this patch implements zooming capabilities for the sdl interface.
    A new sdl_zoom_blit function is added that is able to scale and blit a
    portion of a surface into another.
    This way we can enable SDL_RESIZABLE and have a real_screen surface with
    a different size than the guest surface and let sdl_zoom_blit take care
    of the problem.

    Signed-off-by: Stefano Stabellini <email address hidden>
    Signed-off-by: Anthony Liguori <email address hidden>

:100644 100644 a06c9bfc22cc6de1c6e5e9068d6bf59d89613767 f8dc5065dd27010bfdbb6bcfb0c6e3af25024cdb M Makefile
:100644 100644 417217582363a87ee67e746ba798e285a64b6cdc 35183399f65de6f50f3baa4767ab7d4d11d45bca M console.h
:100644 100644 178b5532b8d9dd2194a8662fbfdcd49b4bc04222 d81399e51276e1c97fa1f7272ef16ea4c312b51b M sdl.c
:000000 100644 0000000000000000000000000000000000000000 56d3604fc3d79e4cc4622be8437c78bf70075da3 A sdl_zoom.c
:000000 100644 0000000000000000000000000000000000000000 33dc63408b43a37fd6b1acde3fa62b1a51315e75 A sdl_zoom.h
:000000 100644 0000000000000000000000000000000000000000 64bbca849bd3af678c2259b4d8cc0e48c6a6b43c A sdl_zoom_template.h

This problem occurs on both Debian and openSUSE.

Tags: ssh
Revision history for this message
Bernhard M. Wiedemann (ubuntubmw) wrote :

One possible way to get X11-forwarding back on qemu master is to disable zoom by this patch.

But I do not know why the do_sdl_resize function should be problematic.
There is probably a better solution.

Revision history for this message
Brad Hards (bradh) wrote :

Hi,

I tried this with a current (git) build, and I'm not able to reproduce it.

I do see a problem with a bad initial SDL window size (its much too small) on a remote machine over a moderate-level network (wireless LAN). I don't see that when ssh-ing to localhost (even though both hosts are basically the same).

I do see differences between current (git) qemu and the 0.12.5 version. Current git boots the ISO, but doesn't appear to get to the login screen.

I'm not sure what the differences between our configurations are. I have SDL 1.2.14-6ubuntu3

Still investigation.

Brad

Revision history for this message
Bernhard M. Wiedemann (ubuntubmw) wrote :

I now found that it depends on my client side. The bug happens when I ssh -XC from my netbook with 1024x600(intel) to a server, but when I ssh -XC to the same server from my laptop with 1024x768(fbdev), then it works.
So might be that the scaling code that made the difference in my bisecting, is only used for small screens.

Revision history for this message
thomas955 (thoehlig) wrote :

I can confirm this:

My client:

Ubuntu 12.04 LTS via ssh -X with Gnome - Terminal 3.4.1.1 and compiz enabled
3.2.0-33-generic #52-Ubuntu SMP Thu Oct 18 16:29:15 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

Revision history for this message
Thomas Huth (th-huth) wrote :

Can you still reproduce this issue with the latest version of QEMU, with the latest version of SDL?

Changed in qemu:
status: New → Incomplete
Revision history for this message
Bernhard M. Wiedemann (ubuntubmw) wrote :

It seems to be working now with current versions, so has probably been fixed somewhere.

Revision history for this message
Thomas Huth (th-huth) wrote :

OK, thanks a lot for testing it again!

Changed in qemu:
status: Incomplete → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.