[sisyphus] Fwd: On driver support (was: Re: Windows Vista hardware requirements)

Michael Shigorin =?iso-8859-1?q?mike_=CE=C1_osdn=2Eorg=2Eua?=
Ср Сен 14 20:27:13 MSD 2005


----- Forwarded message from Daniel Stone <daniel/fooishbar.org> -----

Date: Wed, 14 Sep 2005 02:20:34 +1000
From: Daniel Stone <daniel/fooishbar.org>
To: Eric Feliksik <milouny/gmx.net>
Subject: On driver support (was: Re: Windows Vista hardware requirements)
Cc: "sounder/lists.ubuntu.com" <sounder/lists.ubuntu.com>

On Tue, 2005-09-13 at 17:32 +0200, Eric Feliksik wrote:
> I have a ProSavage8 video chip of which the hardware acceleration does 
> not work under Ubuntu by default. I saw the DRI people of 
> freedesktop.org working on a driver, but it was very unstable when I 
> tried (less than a year ago).

EXA is not about OpenGL acceleration using the 3D engine (tricky), but
about standard 2D acceleration using the 2D engine (easier, but still
not trivial).

Okay, so if you want to accelerate alpha blending of two textures,
you're going to need the 3D engine.  But it's not essential.

> My point is: the stuff I read about the xorg-features are *way* cool, 
> but software acceleration often isn't enough. Can the features actually 
> be used freely? With what hardware? How is the state of free drivers for 
> OpenGL hardware in Linux-land at the moment? I know nvidia ships binary 
> drivers to get the hardware acceleration to work, but Ubuntu does not, 
> with good reasons IMO.

Composite is perfectly usable with whatever hardware you have.  Anything
Intel (which works well ... but not hugely performant), ATI, Intel,
nVidia, S3/VIA Savage/UniChrome, SiS -- any of these made in the last
ten years or so should be just fine.

The state of drivers for OpenGL is a slightly different matter; EXA does
not need any GL support.  Currently, ATI Radeons[0], SiS/XGI, all Intel
chips, S3 Savage/VIA UniChrome, ATI Mach64[1], Matrox cards up to the
P650 series (Parhelia), and 3Dfx Voodoo cards are all fully supported by
open source 3D drivers.  There's closed support for Kyro chips, PowerVR
and PowerVR2[2], all ATI chips, all nVidia chips (well, except Riva128,
but whatever), some XGI Volari chips, and a couple of others that don't
quite come to mind right now.

So, yeah.  OpenGL isn't thrilling for coverage of percentage of
chipsets, but in terms of percentage of stuff that ships, I'm going to
go out there and say 99% of shipping OpenGL-capable hardware is
supported by Linux drivers.  Maybe 75% or more by open drivers.  Lars
from Trolltech has made fantastic progress reverse-engineering the 3D
engine of modern nVidia chipsets which is promising (he's got 3D
operations going, with the engine documented, as opposed to 'when I poke
these magic numbers, things seem to work'), so there's some kind of hope
there, depending on how often they want to radically change how the
engine works.

If you just get a basic EXA driver in there that accelerates region
copies and solid fills, and run Composite with xcompmgr -a (basic
server-side compositing, no transparency or drop shadows or anything
crazy like that), that goes a long way to fixing performance problems,
as you don't rely on round-tripping to clients to redraw.  It's really
quite visually stunning.

If you want mad crazy bling, you're going to need OpenGL acceleration.
Software rendering works, but it's not quite quick enough to be
interactive, because our 'needs' scale with the capabilities of video
cards.  And we have that GL acceleration in most places.

Cheers,
Daniel

[0]: PCI Express support just got checked in to X.Org CVS.
[1]: To some degree.
[2]: But it's only built against XFree86 4.1 or 4.2 or so, and the
people who wrote it don't seem to be hugely interested in maintaining
it.

----- End forwarded message -----

-- 
 ---- WBR, Michael Shigorin <mike на altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/
 ----       visit our conference (Oct 1):
--          http://conference.osdn.org.ua



Подробная информация о списке рассылки Sisyphus