qemu-devel
[Top][All Lists]
Advanced

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




reply via email to

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