From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NJLN3-0007j7-JC for qemu-devel@nongnu.org; Sat, 12 Dec 2009 01:22:25 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NJLMy-0007fy-T8 for qemu-devel@nongnu.org; Sat, 12 Dec 2009 01:22:25 -0500 Received: from [199.232.76.173] (port=46513 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NJLMy-0007fu-Ka for qemu-devel@nongnu.org; Sat, 12 Dec 2009 01:22:20 -0500 Received: from mail-iw0-f197.google.com ([209.85.223.197]:43123) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NJLMy-0000tU-EY for qemu-devel@nongnu.org; Sat, 12 Dec 2009 01:22:20 -0500 Received: by iwn35 with SMTP id 35so987704iwn.4 for ; Fri, 11 Dec 2009 22:22:19 -0800 (PST) MIME-Version: 1.0 In-Reply-To: <4B230E96.3060708@codemonkey.ws> References: <1393046876.1549021260539141025.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com> <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> <4B230E96.3060708@codemonkey.ws> Date: Sat, 12 Dec 2009 16:22:19 +1000 Message-ID: <21d7e9970912112222r1a0d43c5kaa092ba23d671070@mail.gmail.com> Subject: Re: [Qemu-devel] X support for QXL and SPICE From: Dave Airlie Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: Yaniv Kamay , qemu-devel@nongnu.org, Izik Eidus , Soeren Sandmann , Alexander Graf On Sat, Dec 12, 2009 at 1:31 PM, Anthony Liguori wr= ote: > Soeren Sandmann wrote: >> >> Hi, >> >> Here is an overview of what the current QXL driver does and does not >> do. =A0The parts of X rendering that are currently being used by cairo >> and Qt are: >> >> - Most of XRender =A0 =A0 =A0 =A0- Image compositing >> =A0 =A0 =A0 =A0- Glyphs >> > > Does anything use Xrender for drawing glyphs these days? Yes all of cairo apps and gtk, pretty much anything doing anti-aliased fonts on a modern Linux desktop uses X render to draw glyps. I think QT can use Xrender also but not 100% sure what the default is. > > Certainly, with a compositing window manager, nothing is getting rendered= by > X... Yes there is, with a GL compositing window manager nothing is rendered by X, with an Xrender compositing window manager (metacity or kwin xrender mode). Also allanti-aliased font operations, and a number of cairo operations are done using xrender, which means most of the modern desktop, I actually broke sw fallbacks to the frontbuffer on my driver last week and it took me nearly a half a day to realise it. X rendering in modern apps is like Soeren describes, render to offscreen pixmap, copy to onscreen. > Scrolling is accelerated in VNC. =A0In the Cirrus adapter, both X and Win= dows > use a video-to-video bitblt, we use this to create a VNC CopyRect which > makes scrolling and Window movement smooth. Firefox scrolling? (though I'm not sure anyone deals with it sainly). > >> However, as things stand right now, there is not much point in adding >> this support, because X applications essentially always work like >> this: >> >> =A0 =A0 =A0 =A0- render to offscreen pixmap >> =A0 =A0 =A0 =A0- 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. =A0So what's the fut= ure > of Spice for X? =A0Anything clever or is Windows the only target right no= w? > If spice grows offscreen surfaces along with some a few more rendering operations I expect we can make it go fairly fast for most X apps. Since at RH we have both spice and X teams I think we can probably produce some sort of collaborative plan in the short term on how to go forward. Dave.