diff mbox

[3/3] kvm tools, ui: Add support for SDL framebuffer output target

Message ID 20110603164500.GB17964@elte.hu (mailing list archive)
State New, archived
Headers show

Commit Message

Ingo Molnar June 3, 2011, 4:45 p.m. UTC
i tried this patch:

but it does not trigger.

Oh ... because the SDL library is not present on that box and it 
silently did not get built.

Now *that* is not an obvious failure pattern ;-)

Thanks,
 
	Ingo
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Pekka Enberg June 3, 2011, 4:46 p.m. UTC | #1
On Fri, 3 Jun 2011, Ingo Molnar wrote:
> Oh ... because the SDL library is not present on that box and it
> silently did not get built.
>
> Now *that* is not an obvious failure pattern ;-)

Oh, sorry about that. I'll just drop the '--sdl' command line option if 
the library is not present. Does that sound OK to you?
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Ingo Molnar June 3, 2011, 4:52 p.m. UTC | #2
* Pekka Enberg <penberg@kernel.org> wrote:

> On Fri, 3 Jun 2011, Ingo Molnar wrote:
> >Oh ... because the SDL library is not present on that box and it
> >silently did not get built.
> >
> >Now *that* is not an obvious failure pattern ;-)
> 
> Oh, sorry about that. I'll just drop the '--sdl' command line option
> if the library is not present. Does that sound OK to you?

it would be better to display a meaningful error message in that case 
and not run, the user very likely has added --sdl expecting a 
framebuffer to pop up!

Thanks,

	Ingo
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Ingo Molnar June 3, 2011, 4:54 p.m. UTC | #3
so, i still don't have a GUI. What happens is that once the 
framebuffer initializes in the guest the bootup gets *real* slow, 
like only printk-ing two lines per second.

Then it gets even slower and stops around here:

[   20.040000] No RTC device found, ALARM timers will not wake from suspend
[   20.040000] registered taskstats version 1
[   20.040000]   Magic number: 15:707:842
[   41.601000] md: Waiting for all devices to be available before autodetect
[   41.601000] md: If you don't use raid, use raid=noautodetect

not much CPU used after this point - just the SIGALRM hitting the kvm 
thread every now and then.

here is how the slowdown looks like with printk timestamps:

[    0.677000] uvesafb: failed to execute /sbin/v86d
[    0.678000] uvesafb: make sure that the v86d helper is installed and executable
[    0.679000] uvesafb: Getting VBE info block failed (eax=0x4f00, err=-2)
[    0.680000] uvesafb: vbe_init() failed with -22
[    0.680000] uvesafb: probe of uvesafb.0 failed with error -22
[    0.681000] vesafb: mode is 640x480x32, linelength=2560, pages=0
[    0.682000] vesafb: scrolling: redraw
[    0.682000] vesafb: Truecolor: size=8:8:8:8, shift=24:0:8:16
[    0.683000] vesafb: framebuffer at 0xd0000000, mapped to 0xffffc90000900000, using 1200k, total 1200k
[    1.855000] Console: switching to colour frame buffer device 80x30
[    3.635000] fb0: VESA VGA frame buffer device
[    4.268000] virtio-pci 0000:00:01.0: enabling device (0000 -> 0001)
?[    4.269000] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    4.535000] serial8250: ttyS0 at I/O 0x3f8 (irq = 0) is a 16550A
?[    7.270000] serial8250: ttyS1 at I/O 0x2f8 (irq = 0) is a 16550A
?[    8.190000] serial8250: ttyS2 at I/O 0x3e8 (irq = 0) is a 16550A
[    8.818000] Non-volatile memory driver v1.3
[    9.419000] Linux agpgart interface v0.103
[    9.420000] [drm] Initialized drm 1.1.0 20060810
[    9.420000] [drm:i915_init] *ERROR* drm/i915 can't work without intel_agp module!

so the badness starts after the 'framebuffer mapped' message.

Thanks,

	Ingo
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Pekka Enberg June 3, 2011, 4:54 p.m. UTC | #4
On Fri, 3 Jun 2011, Ingo Molnar wrote:
> it would be better to display a meaningful error message in that case
> and not run, the user very likely has added --sdl expecting a
> framebuffer to pop up!

Is this better?

penberg@tiger:~/linux/tools/kvm$ ./kvm run --sdl -p "root=/dev/vda1" -d 
~/images/debian_squeeze_amd64_standard.img
   # kvm run -k ../../arch/x86/boot/bzImage -m 320 -c 2
   Warning: Config tap device error. Are you root?
   Fatal: SDL support not compiled in.

 			Pekka
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Ingo Molnar June 3, 2011, 4:58 p.m. UTC | #5
* Pekka Enberg <penberg@kernel.org> wrote:

> On Fri, 3 Jun 2011, Ingo Molnar wrote:
> >it would be better to display a meaningful error message in that case
> >and not run, the user very likely has added --sdl expecting a
> >framebuffer to pop up!
> 
> Is this better?
> 
> penberg@tiger:~/linux/tools/kvm$ ./kvm run --sdl -p "root=/dev/vda1"
> -d ~/images/debian_squeeze_amd64_standard.img
>   # kvm run -k ../../arch/x86/boot/bzImage -m 320 -c 2
>   Warning: Config tap device error. Are you root?
>   Fatal: SDL support not compiled in.

Yeah! I'd suggest such a wording:

    Fatal: SDL support not compiled in. (install the SDL-dev[el] package)

Thanks,

	Ingo
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/tools/kvm/ui/sdl.c b/tools/kvm/ui/sdl.c
index 8bc3f68..403563c 100644
--- a/tools/kvm/ui/sdl.c
+++ b/tools/kvm/ui/sdl.c
@@ -19,6 +19,8 @@  static void *sdl__thread(void *p)
 	SDL_Surface *screen;
 	SDL_Event ev;
 
+	BUG_ON(1);
+
 	if (SDL_Init(SDL_INIT_VIDEO) != 0)
 		die("Unable to initialize SDL");