qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] "console: Properly switch consoles for screen dumps" br


From: Jan Kiszka
Subject: Re: [Qemu-devel] "console: Properly switch consoles for screen dumps" breaks qxl screen dump
Date: Tue, 11 Oct 2011 22:31:27 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666

On 2011-10-11 19:44, Alon Levy wrote:
> 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?

It's there by default unless you specify something else via -mon[itor].
In that case you can add another one via -monitor vc.

> 
>>
>>>
>>> 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.

Yeah, I see. No concerns.

Jan


Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]