From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NJIhq-0001c9-TI for qemu-devel@nongnu.org; Fri, 11 Dec 2009 22:31:42 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NJIhm-0001ah-3d for qemu-devel@nongnu.org; Fri, 11 Dec 2009 22:31:42 -0500 Received: from [199.232.76.173] (port=59035 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NJIhl-0001ae-UF for qemu-devel@nongnu.org; Fri, 11 Dec 2009 22:31:37 -0500 Received: from mail-yx0-f188.google.com ([209.85.210.188]:46893) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NJIhl-0004uq-II for qemu-devel@nongnu.org; Fri, 11 Dec 2009 22:31:37 -0500 Received: by yxe26 with SMTP id 26so1475193yxe.4 for ; Fri, 11 Dec 2009 19:31:37 -0800 (PST) Message-ID: <4B230E96.3060708@codemonkey.ws> Date: Fri, 11 Dec 2009 21:31:34 -0600 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] X support for QXL and SPICE References: <1393046876.1549021260539141025.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com> <4B226BFC.1040606@codemonkey.ws> <20091211204828.464707cf@redhat.com> <4B2297A2.8040102@codemonkey.ws> <20091211212135.645864f9@redhat.com> <4B229DCE.7070500@codemonkey.ws> <20091211213911.0dce90dc@redhat.com> <4B22A2D9.6020602@codemonkey.ws> <20091211222101.5e924d20@redhat.com> <4B22AFBF.6080709@codemonkey.ws> <20091211231334.3d8a599f@redhat.com> <8BF07900-1F21-4E1C-AFC7-FF9CC47525A3@suse.de> <20091212004635.0b57a8c0@redhat.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Soeren Sandmann Cc: Yaniv Kamay , Izik Eidus , Alexander Graf , qemu-devel@nongnu.org Soeren Sandmann wrote: > Hi, > > Here is an overview of what the current QXL driver does and does not > do. The parts of X rendering that are currently being used by cairo > and Qt are: > > - Most of XRender > - Image compositing > - Glyphs > Does anything use Xrender for drawing glyphs these days? Certainly, with a compositing window manager, nothing is getting rendered by X... > The X driver for the QXL device is not yet very sophisticated. What it > does is basically this: > > - It keeps a separate memory framebuffer uptodate using > software > > - Solid fills and CopyArea requests are turned into SPICE > commands. > > - The cursor is drawn using cursor commands > > - For other things, bitmaps are sent across the wire > - It uses the hashing feature of SPICE to only send > hashcodes for those bitmaps if it can get away with > it. > > Even this simple support provides a better user experience than VNC > because scrolling is accelerated and doesn't result in a huge bitmap > getting sent across the wire. Scrolling is accelerated in VNC. In the Cirrus adapter, both X and Windows use a video-to-video bitblt, we use this to create a VNC CopyRect which makes scrolling and Window movement smooth. > However, as things stand right now, there is not much point in adding > this support, because X applications essentially always work like > this: > > - render to offscreen pixmap > - copy pixmap to screen > > There is not yet support for offscreen pixmaps in SPICE, so at the > moment, solid fill and CopyArea are the two main things that actually > make a difference. > Okay, that's in line with what my expectations were. So what's the future of Spice for X? Anything clever or is Windows the only target right now? Regards, Anthony Liguori