Ok. I don't really know anything about the non-free graphics drivers, having never used any of
them.
For intel, are you referring to the intel_agp module? I've always considered this a fairly
small and simple module and none of the intel video bugs I've experienced (and been happy to
let Keith fix when he was nearby) have involved it. So I discounted/forgot about that module,
apologies.
Posted Jun 24, 2008 18:45 UTC (Tue) by drag (subscriber, #31333)
[Link]
For current open source drivers that impliment both 2 and 3d drivers you need:
* X.org DDX driver for XAA or EXA support for 2D acceleration
* Linux Kernel DRM driver for allowing userspace drivers to interact with hardware.
* DRI 3D driver. DRI is basically done by taking the Mesa OpenGL stack and trying to run as
much as possible in the video card hardware.
Then in addition to that you can have a Linux kernel VGA driver for virtual console access
and/or Linux kernel framebuffer driver for allowing access directly to the memory on a video
card.. used for virtual console on non-x86 systems as well as other things.
Needless to say, having 4 or 5 different drivers from different projects trying to coordinate
with each other to control one peice of hardware is pretty bad design. Of course all of this
is slowly starting to evolve into different things.
For example we are starting to see DRI2 drivers for Intel. A Gallium3D API is being developed
for the ability to use a (relatively) simple device-specific driver to accelerate all sorts of
application-level APIs. The DRM in-kernel driver is starting to take over mode setting and
other responsibilities. The idea being that X.org will end up being a non-privilaged
application and will use a generic API, just like any other graphical application, rather then
have it's own set of drivers for twiddling with the hardware.
questionable data
Posted Jun 25, 2008 7:13 UTC (Wed) by daniels (subscriber, #16193)
[Link]
The AGP module, oddly, only provides AGP services. The DRI wiki has <a
href="http://dri.freedesktop.org/wiki/DRM">more information</a> on what DRM is, which you may
find enlightening for future discussions about the kernel components of DRI drivers.