[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [Qemu-devel] [PATCH]Fix for minor video corruption under Windows
From: |
Dugger, Donald D |
Subject: |
RE: [Qemu-devel] [PATCH]Fix for minor video corruption under Windows |
Date: |
Thu, 11 May 2006 17:15:28 -0700 |
Fabrice-
Well, I've been assuming that the Windows driver doesn't call the BIOS
to do a video mode switch (that seems like a silly thing to do and
without sources I hate having to guess at things) but this is Windows so
I guess it's possible. If you've got a BIOS patch I'd love to try it
out when you're ready.
--
Don Dugger
"Censeo Toto nos in Kansa esse decisse." - D. Gale
address@hidden
Ph: (303)440-1368
>-----Original Message-----
>From: address@hidden
>[mailto:address@hidden
>] On Behalf Of Fabrice Bellard
>Sent: Thursday, May 11, 2006 4:48 PM
>To: address@hidden
>Subject: Re: [Qemu-devel] [PATCH]Fix for minor video
>corruption under Windows
>
>Hi,
>
>I think the proper fix must be done in the BIOS (set VRAM to 0xFF at
>cirrus mode init). I made a patch for that but I must test it
>a little more.
>
>Fabrice.
>
>Dugger, Donald D wrote:
>> Leo-
>>
>> Yeah, I started there but it turns out there are multiple reasons why
>> that is the wrong place to fix things:
>>
>> 1) `hw/vga.c' only knows about resolution changes, the bug
>also appears
>> if you change the pixel size, e.g. 24 bpp to 16 bpp.
>>
>> 2) Technically, because of the lazy screen update, your
>change would be
>> too late. To improve performance the vga code is only called
>> periodically, not after every VRAM change. It is
>theoretically possible
>> for the target to change video mode, assume VRAM got reset,
>do a bitblt
>> from non-visible VRAM to visible VRAM and then have the
>`hw/vga.c' code
>> get called, overwriting the changes done to visible VRAM.
>>
>> --
>> Don Dugger
>> "Censeo Toto nos in Kansa esse decisse." - D. Gale
>> address@hidden
>> Ph: (303)440-1368
>>
>>
>>>-----Original Message-----
>>>From: address@hidden
>>>[mailto:address@hidden
>>>] On Behalf Of Leonardo E. Reiter
>>>Sent: Tuesday, May 09, 2006 2:29 PM
>>>To: address@hidden
>>>Subject: Re: [Qemu-devel] [PATCH]Fix for minor video
>>>corruption under Windows
>>>
>>>Donald...
>>>
>>>thanks... I actually posted a patch to fix this sometime
>ago, but your
>>>patch seems more thorough and probably more correct. Just FYI, I
>>>attached my patch again. I will test your patch as well.
>>>
>>>Thanks again,
>>>
>>>Leo Reiter
>>>
>>>Donald D. Dugger wrote:
>>>
>>>>If you change the video resolution while running a Windows
>>>
>>>XP image such that
>>>
>>>>it uses fewer bytes of VRAM (either by using fewer bytes per
>>>
>>>pixel or by
>>>
>>>>lowering the resolution) then some window backgrounds will
>>>
>>>become corrupted.
>>>
>>>>This happens because the Windows XP Cirrus Logic driver
>>>
>>>assumes that VRAM is
>>>
>>>>initialized to 0xff whenever the video mode switches between
>>>
>>>VGA and SVGA.
>>>
>>>>This patch fixes this problem by resetting VRAM whenever a
>>>
>>>VGA/SVGA mode switch
>>>
>>>>occurs.
>>>>
>>>>Signed-off-by: address@hidden
>>>>
>>>
>>>--
>>>Leonardo E. Reiter
>>>Vice President of Product Development, CTO
>>>
>>>Win4Lin, Inc.
>>>Virtual Computing that means Business
>>>Main: +1 512 339 7979
>>>Fax: +1 512 532 6501
>>>http://www.win4lin.com
>>>
>>
>>
>>
>> _______________________________________________
>> Qemu-devel mailing list
>> address@hidden
>> http://lists.nongnu.org/mailman/listinfo/qemu-devel
>>
>>
>
>
>
>_______________________________________________
>Qemu-devel mailing list
>address@hidden
>http://lists.nongnu.org/mailman/listinfo/qemu-devel
>