[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: |
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
signature.asc
Description: OpenPGP digital signature