Samuel Thibault wrote:
> Li, Haicheng, le Fri 21 Mar 2008 21:02:30 +0800, a écrit :
>> Actually since qemu window disappears immediately after OS enters
>> graphic mode, it's hard to locate the exact step. Only can say it is
>> just after `startx &` on Linux and "driver loading progress bar" on
>> Windows.
>
> Ok, so that's when we switch to OpenGL rendering.
>
>>> Could you tell the exact configuration of Windows/Linux? Guest
>>> config file is attached.
>
> Well, I meant the guest configuration actually (resolution/color
> depth).
Resolution: 800 * 600, color: 24 bit.
>>> Are there useful information in /var/log/xen/qemu-dm-yourdomain.log?
>> Seems no useful info for this bug in qemu log.
>
> Indeed :/
>
> Could you try to use the attached qemu-dm.gdb script for the device
> model? It is just a gdb wrapper around the actual qemu-dm, which
> should let get a backtrace.
There is a segment fault caused by sdl_resize() in tools/ioemu/sdl.c.
I changed a few code as below and found SDL_SetVideoMode() failed with
error:Couldn't find matching GLX visual.
And detailed qemu log is attached.
==
diff -r 76c9cf11ce23 tools/ioemu/sdl.c
--- a/tools/ioemu/sdl.c Fri Mar 21 09:45:34 2008 +0000
+++ b/tools/ioemu/sdl.c Mon Mar 24 16:49:09 2008 +0800
@@ -191,15 +191,18 @@ static void sdl_resize(DisplayState *ds,
{
int flags;
- // printf("resizing to %d %d\n", w, h);
+ printf("resizing to %d %d\n", w, h);
#ifdef CONFIG_OPENGL
if (ds->shared_buf && opengl_enabled)
flags = SDL_OPENGL|SDL_RESIZABLE;
else
#endif
- flags =
SDL_HWSURFACE|SDL_ASYNCBLIT|SDL_HWACCEL|SDL_DOUBLEBUF|SDL_HWPALETTE;
-
+ flags =
SDL_HWSURFACE|SDL_ASYNCBLIT|SDL_HWACCEL|SDL_DOUBLEBUF|SDL_HWPALETTE;
+
+#ifdef CONFIG_OPENGL
+ printf("opengl is defined\n");
+#endif
if (gui_fullscreen) {
flags |= SDL_FULLSCREEN;
flags &= ~SDL_RESIZABLE;
@@ -210,11 +213,11 @@ static void sdl_resize(DisplayState *ds,
again:
screen = SDL_SetVideoMode(w, h, 0, flags);
-#ifndef CONFIG_OPENGL
if (!screen) {
fprintf(stderr, "Could not open SDL display: %s\n", SDL_GetError());
exit(1);
}
+#ifndef CONFIG_OPENGL
if (!screen->pixels && (flags & SDL_HWSURFACE) && (flags &
SDL_FULLSCREEN)) {
flags &= ~SDL_HWSURFACE;
goto again;
-- haicheng
qemu-log.txt
Description: qemu-log.txt
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|