Re: [Qemu-devel] [Qemu-ppc] [1.4]: 32-bit framebuffer video regression on qemu-system-ppc

2013-02-15 Thread Alexander Graf

On 15.02.2013, at 14:01, Mark Cave-Ayland wrote:

 Hi all,
 
 I've just updated my QEMU git pull to master in order to do some testing, and 
 I'm noticing a regression with 32-bit framebuffers on PPC.
 
 If I load QEMU with the following command line to force a 32-bit framebuffer 
 then the light yellow OpenBIOS background now appears as a bright garish 
 yellow:
 
 ./qemu-system-ppc -g 1024x768x32 -vnc :1
 
 Does anyone else see this too?

Yes, I see the same thing on PPC hosts. So far I assumed it was due to my 
ancient pixman version, but maybe it's not related to that after all.

Does it work with SDL?


Alex




Re: [Qemu-devel] [Qemu-ppc] [1.4]: 32-bit framebuffer video regression on qemu-system-ppc

2013-02-15 Thread Mark Cave-Ayland

On 15/02/13 13:11, Alexander Graf wrote:


Yes, I see the same thing on PPC hosts. So far I assumed it was due to my 
ancient pixman version, but maybe it's not related to that after all.

Does it work with SDL?


Yes - it looks as if SDL is fine, and it's just VNC that is broken. A 
session with git bisect shows that the problem is caused by the 
following commit:



git bisect bad
9f64916da20eea67121d544698676295bbb105a7 is the first bad commit
commit 9f64916da20eea67121d544698676295bbb105a7
Author: Gerd Hoffmann kra...@redhat.com
Date:   Wed Oct 10 13:29:43 2012 +0200

pixman/vnc: use pixman images in vnc.

The vnc code uses *three* DisplaySurfaces:

First is the surface of the actual QemuConsole, usually the guest
screen, but could also be a text console (monitor/serial reachable via
Ctrl-Alt-nr keys).  This is left as-is.

Second is the current server's view of the screen content.  The vnc 
code

uses this to figure which parts of the guest screen did _really_ change
to reduce the amount of updates sent to the vnc clients.  It is also
used as data source when sending out the updates to the clients.  This
surface gets replaced by a pixman image.  The format changes too,
instead of using the guest screen format we'll use fixed 32bit rgb
framebuffer and convert the pixels on the fly when comparing and
updating the server framebuffer.

Third surface carries the format expected by the vnc client.  That 
isn't
used to store image data.  This surface is switched to PixelFormat 
and a

boolean for bigendian byte order.

Signed-off-by: Gerd Hoffmann kra...@redhat.com


ATB,

Mark.