[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] "console: Properly switch consoles for screen dumps" br
From: |
Alon Levy |
Subject: |
Re: [Qemu-devel] "console: Properly switch consoles for screen dumps" breaks qxl screen dump |
Date: |
Tue, 11 Oct 2011 19:44:42 +0200 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Tue, Oct 11, 2011 at 07:36:27PM +0200, Jan Kiszka wrote:
> On 2011-10-11 11:36, Alon Levy wrote:
> > Hi Jan,
> >
> > I've recently found the $SUBJECT, it's commit
> > f81bdefb63243e82d16ce49332f7cf74d10b8f27.
> >
> > I'd like to fix it without breaking anything, can you provide me with
> > the test that your original patch fixed?
>
> Have monitor on virtual console, switch to monitor and trigger screen
> dump. So far that caused the to be dumped screen been written to the
> monitor console, the console was furthermore resized, but all that mess
> was left behind once dumping was finished. No we switch to the graphic
> console first and restore the monitor afterwards.
I don't follow. Can you provide a qemu command line? how do I run the monitor
on a virtual console?
>
> >
> > Alon
> >
> > p.s. for a simple command line with a single console (not even sure how
> > to get multiple) the following fixes my problem, I expect it doesn't
> > introduce any problems?
> >
> >
> > diff --git a/console.c b/console.c
> > index 6dfcc47..5a709fe 100644
> > --- a/console.c
> > +++ b/console.c
> > @@ -1067,6 +1067,10 @@ void console_select(unsigned int index)
> >
> > if (index >= MAX_CONSOLES)
> > return;
> > + if (active_console == consoles[index]) {
> > + fprintf(stderr, "not changing console, not required\n");
> > + return;
> > + }
> > if (active_console) {
> > active_console->g_width = ds_get_width(active_console->ds);
> > active_console->g_height = ds_get_height(active_console->ds);
>
> I suspect this papers over some QXL bug. SDL has no issues when I
> trigger the screen dump from a monitor console that requires no switching.
You are absolutely right. So far I haven't managed to find the exact bug
(I have been looking without applying this patch). So I've sent this
patch anyway. the rest of console_select reallocates the surface, which
is not terrible (this isn't high frequency) but still redundant.
>
> Jan
>
> --
> Siemens AG, Corporate Technology, CT T DE IT 1
> Corporate Competence Center Embedded Linux