From: "Daniel P. Berrange" <berrange@redhat.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: xen-devel@lists.xensource.com
Subject: Re: Qemu vnc color depth
Date: Mon, 11 Feb 2008 14:54:14 +0000 [thread overview]
Message-ID: <20080211145414.GA17784@redhat.com> (raw)
In-Reply-To: <47B02F63.4010406@eu.citrix.com>
On Mon, Feb 11, 2008 at 11:20:03AM +0000, Stefano Stabellini wrote:
> the qemu vnc server changes its internal colour depth based on the
> client request. This way just one colour conversion is done: the one in
> vga_template.h, from the guest colour depth and the vnc server internal
> colour depth.
>
> This patch is meant to remove this colour conversion to improve
> performances. It accomplishes the goal making the qemu internal colour
> depth always the same as the guest colour depth.
> The basic idea is that the vnc client is the one that should do the
> colour conversion, if necessary. In general it should accept the pixel
> format suggested by the server during the initial negotiation. This
> behaviour can be set in most vnc clients (vncviewer included).
>
> If the guest changes colour depth, the qemu vnc server changes colour
> depth too and notifies the client. The problem is that the vnc protocol
> doesn't provide a message from the server to the client to ask for a
> colour depth change. So what I am doing is either:
>
> 1) quietly starting to do the conversion on vnc server (not gaining any
> performances here);
This should be the default behaviour
> 2) closing the vnc connection with the client, so the client can
> reconnect and choose the new pixel format.
This is evil. If we need a way to notify the client of colour depth
changes, then we should define an official VNC extension for this
that clients can implement. cf the desktop-resize extension
So, if the client supports the extension use that to notify, otherwise
fallback to doing server-side conversions.
> By default I am doing 1), however the second choice can be enabled
> passing the -vnc-switch-bpp command line option.
Don't add more command line options - the existing -vnc flag already
has the ability to take multiple flags in the format:
-vnc hostname:display,flag,flag,flag,flag
eg
-vnc localhost:1,passwd,tls
> A last note: to get most out of this patch it is best to set Windows to
> 16 bit colour depth, because the 24 bit mode is 24 bit depth and 24 bpp,
> meaning no alpha channel. The vnc protocol doesn't support 24 bpp, only
> 32 bpp, so this conversion is unavoidable.
>
> Comments and critics are welcome.
Please send this to qemu-devel - we should not be introducing yet more
xen-specific forks to the QEMU code we have - it is a maintainance
disaster already with the number of patches we have.
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 -=|
next prev parent reply other threads:[~2008-02-11 14:54 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-02-11 11:20 Qemu vnc color depth Stefano Stabellini
2008-02-11 11:31 ` James Harper
2008-02-11 11:37 ` Stefano Stabellini
2008-02-11 14:54 ` Daniel P. Berrange [this message]
2008-02-11 15:18 ` Stefano Stabellini
2008-02-11 15:29 ` Daniel P. Berrange
2008-02-11 15:47 ` Anthony Liguori
2008-02-12 11:23 ` Stefano Stabellini
2008-02-12 14:56 ` Anthony Liguori
2008-02-12 15:10 ` Stefano Stabellini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080211145414.GA17784@redhat.com \
--to=berrange@redhat.com \
--cc=stefano.stabellini@eu.citrix.com \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.