From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NoiyM-0003NZ-WF for qemu-devel@nongnu.org; Mon, 08 Mar 2010 14:50:39 -0500 Received: from [199.232.76.173] (port=51580 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NoiyM-0003Ms-3N for qemu-devel@nongnu.org; Mon, 08 Mar 2010 14:50:38 -0500 Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.60) (envelope-from ) id 1NoiyI-0003iF-O7 for qemu-devel@nongnu.org; Mon, 08 Mar 2010 14:50:37 -0500 Received: from moutng.kundenserver.de ([212.227.126.186]:64979) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NoiyI-0003hu-7n for qemu-devel@nongnu.org; Mon, 08 Mar 2010 14:50:34 -0500 Message-ID: <4B955501.90404@mail.berlios.de> Date: Mon, 08 Mar 2010 20:50:25 +0100 From: Stefan Weil MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH] sdl: improve error message on fatal error References: <1268050034-7376-1-git-send-email-bjorn@mork.no> In-Reply-To: <1268050034-7376-1-git-send-email-bjorn@mork.no> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?UTF-8?B?QmrDuHJuIE1vcms=?= Cc: qemu-devel@nongnu.org Bjørn Mork schrieb: > The SDL_SetVideoMode() error condition is easily triggered by a user by > simply configure a guest with a host unsupported display resolution > and attempting to enable fullscreen. Since the error is fatal, adding > a bit of debugging help can't harm. > > Sample output with this change: > > (qemu) Could not open SDL display (1280x1024x32): No video mode large > enough for 1280x1024 > > The width x height might seem redundant as SDL also provides it in > SDL_GetError(), but I believe there are situations where it is > useful. I.e. if there is some other SDL error. Anyway, redundant > information in fatal error messages has never harmed a single gerbil. > > Signed-off-by: Bjørn Mork > --- > sdl.c | 3 ++- > 1 files changed, 2 insertions(+), 1 deletions(-) > > diff --git a/sdl.c b/sdl.c > index f26035c..34061c0 100644 > --- a/sdl.c > +++ b/sdl.c > @@ -112,7 +112,8 @@ static void do_sdl_resize(int new_width, int > new_height, int bpp) > height = new_height; > real_screen = SDL_SetVideoMode(width, height, bpp, flags); > if (!real_screen) { > - fprintf(stderr, "Could not open SDL display\n"); > + fprintf(stderr, "Could not open SDL display (%dx%dx%d): %s\n", width, > + height, bpp, SDL_GetError()); > exit(1); > } > } Yesterday I stumbled across this problem, too: QEMU was running a guest with 1024x768 resolution on a netbook (which has a lower physical resolution). Switching to fullscreen mode results in "Could not open SDL display\n" and QEMU terminates which is not good. The message is wrong because the SDL display was already opened: "Could not set SDL video mode (%dx%dx%d): %s\n" would be better. It would be even better if QEMU did not try to switch to an unsupported video mode. It could either (a) refuse an unsupported fullscreen mode (stay in window mode) or (b) scale the display so it fits in the largest supported mode Of course, as a first step an improved error message would help a little, too. Regards, Stefan