From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Daniel P. Berrange" Subject: Re: vnc client, 16 bit, strange colors when viewing a PV guest Date: Tue, 26 Feb 2008 17:17:57 +0000 Message-ID: <20080226171757.GJ30568@redhat.com> References: <47C44705.3090008@novell.com> Reply-To: "Daniel P. Berrange" Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <47C44705.3090008@novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Pat Campbell Cc: xen-devel List-Id: xen-devel@lists.xenproject.org On Tue, Feb 26, 2008 at 10:06:13AM -0700, Pat Campbell wrote: > > Using tightVNC, the colors are messed up when viewing a PV guest running > on a 3.2 hypervisor from a client system with a 16 bit deep display. > virt-manager --> viewer works OK. > Standalone virt-viewer and other VNC clients have bad colors. > > This problem is new with Xen 3.2 and the qemu xenfb code. > > As a short term fix I added a second macro in tools/ioemu/hw/xenfb.c to > munge the colors from 32 bit to 16 bit based on an algorithm used by > RealVNC. Patch I used is attached, not suggesting it be merged. > > Is anybody else seeing this problem? > > By the way, while looking at the original macro I think the last shift > for blue should of used BRS instead if GRS. ( Changing that did not > make the colors better. ) Yes, clearly that last GRS is bogus & should have been BRS. > int col; \ > for (col = x ; col < w ; col++) { \ > *dst = (((*src >> RRS) & RM) << RLS) | \ > (((*src >> GRS) & GM) << GLS) | \ > - (((*src >> GRS) & BM) << BLS); \ > + (((*src >> BRS) & BM) << BLS); \ > src++; \ > dst++; \ > } \ > } Note that there is also a colour shift problem in GTK-VNC (used by virt-viewer & virt-manager) - you need latest GTK-VNC from the source repo to get the fix. So you may have been seeing a cobmo of 2 bugs Dan. -- |=- Red Hat, Engineering, Emerging Technologies, Boston. +1 978 392 2496 -=| |=- Perl modules: http://search.cpan.org/~danberr/ -=| |=- Projects: http://freshmeat.net/~danielpb/ -=| |=- GnuPG: 7D3B9505 F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 -=|