rfc/headsup: graphics driver packaging in F16+
Adam Jackson
ajax at redhat.com
Wed Apr 13 15:22:56 UTC 2011
On 4/12/11 11:58 PM, John Reiser wrote:
> On 04/12/2011 09:12 AM, Adam Jackson wrote:
>> Basically all of this hardware is, ahem, inept. The most featureful
>> device supported by these drivers would be the MGA G550, which just
>> barely manages to do DirectX 7 (comparable to a Radeon 7000 or GeForce
>> 2, both ~1999 vintage). All the others are back in the DX6 stone age.
>
> My r128 card (Rage Mobility M3 AGP 2X; pci 1002:4c46) is running
> DirectX 9.0c (4.09.0000.0904) on Windows ME. The main driver ATI2DRAI.DRV
> says "DDI Version 7". The machine also runs Fedora 12 using:
The DX level that the OS claims is not the DX level that the hardware
supports. Rage 128 doesn't have any shader hardware. The first ATI
card that did was the Radeon 8500, a DX8 part.
If you use any DX9 features on setup, I assure you, they're implemented
in software. Which is what I'm proposing for Fedora.
I should emphasize that I'm not proposing the Mesa packaging change
(just) because it makes my life easier. I'm proposing it because I
think it'll make users' lives better.
>> For comparison, the baseline for the GPU in the phone in your pocket -
>> and that platform layers like clutter more or less expect - is GLES 2.0,
>> which is roughly comparable to DirectX 9. We're rapidly approaching the
>> point where the software renderer is going to be a more satisfying
>> experience than hardware 3d support for these chips, both for features
>> and for performance.
>
> How rapidly? Today, which one leads in "satisfying experience", and by how much?
F16 timeframe? That's kind of why I bring it up now.
Put it this way: gnome-shell will barely work on your card as it is, if
at all, and no DRI1 driver can or will ever handle Composite redirection
of GL apps.
I can conjure up some benchmarks if you think they'd be relevant, I suppose.
>> So in my ideal world, we would simply drop the -dri1 subpackage (and for
>> that matter, DRI1 support in the X server).
>
> Such a wish would be better justified by statistics on usage
> (smolt, at least) and support effort (size and rate of change in
> source commits, number of maintainers with relevant experience, ...)
So, in reverse order: the number of maintainers for the DRI1 drivers is
approximately 0. Anyone who did have any experience with them is now
interested in competent hardware instead. I can probably remember how a
Voodoo5 works if you force me, but I'd rather not.
The support effort for keeping them working at their current level is
not zero, but it's not large. Breakages mostly happen when mechanical
API changes are made internally to Mesa that happen to violate some
invariant that the old driver was relying on. Nobody notices breakage
like that because nobody has the hardware. Time spent on this level of
support is time not spent on hardware people have.
But time spent on this level of support is also time spent on a level of
support that is not sufficient for the future. We can either chase bugs
in seven DX7-or-worse drivers, for hardware that is on the far end of
the bathtub curve; or we can maintain one software-based driver that
runs everywhere including in virtual machines, shares most of its
internal infrastructure with r600 and nouveau, and already implements
better than DX9-level functionality.
I know which one I'd prefer.
---
But then, smolt. Sigh. Smolt. What a travesty.
You would hope that a result like:
http://smolt.fedoraproject.org/reports/view_devices?device=MGA&search=Submit+Query
would mean there's one report for each of those device, but no. And
then you'd hope that you could click on the first device and get a
uniquified list, but nooooo:
http://smolt.fedoraproject.org/reports/view_device/MGA%20G200%20AGP
The one thing - the _one_ thing - I'd want out of smolt is a query by
PCI ID tuple, and that doesn't exist.
Even this page:
http://smolt.fedoraproject.org/static/stats/by_class_VIDEO.html
is nonsense. As of just now, the sum of the (unlabeled) column
immediately right of the vendor name is 38553. The "total count" above
is 432462 and the percentage of systems reporting a video device is
17.7%, but 38553 is not 17.7% of 432462. Not even close.
Assuming that 38553 is anywhere close to a meaningful number, we then get:
nvidia: 38.6% (14888)
ati: 34.2% (13176)
intel: 19.1% (7347)
So that's 92% of the installed base as a ballpark, but not corrected for
mach64, rage128, i740, i810, or (ha!) nv1. Of the remaining 3142
systems where DRI1 support might work:
matrox: 11.0% (347)
s3: 14.4% (451)
sis: 20.1% (633)
3dfx: 2.6% (81)
via: 20.4% (640)
total: 68.5% (2152)
Which is an overestimate:
- mga includes pre-G200 devices, P-series, and M-series
- savage includes all S3 chips, including pre-Savage devices like Virge
and 968, and post-savage4 like savage2000 and chrome cards
- sis includes all sis variants where we only have 3d support for the
300 series (see 'man sis' for the breakdown)
- 3dfx includes pre-voodoo3 devices
- via includes chrome9
But I have no idea how much of an overestimate, because smolt appears to
be full of lies. Searching for devices with the word "voodoo" in the
name should return something other than an empty set, if there are 81
3dfx devices, but of course:
http://smolt.fedoraproject.org/reports/view_devices?device=voodoo&search=Submit+Query
So in a sense, these numbers are completely untrustworthy. But if we
decide to trust them anyway, something like 8% of users will suddenly
discover that their GL driver got a lot more capable, if they notice at
all. Personally I suspect it's more like 0.8%.
- ajax
More information about the devel
mailing list