|We are looking for more developers!|
If you have any skill writing drivers or even if you don't and would like to learn -- we need your help!
We need developers to port old XFree86 3.3.x drivers to the new XFree86 4.x.x architecture. We also need help porting drivers from Utah-GLX to the DRI and writing drivers for new hardware.
Interested? You need to be competent programming in C and must be willing to invest the time needed to learn the DRI/XFree86 architecture. Previous experience in writing device drivers and graphics programming experience are a plus. Still interested? Then send a message to the dri-devel mailing list and we will help you get started.
Please also take a look at the FAQ for some pointers on how to get started.
|Outstanding Infrastructure Status|
This is a list of potential enhancements that can be incorporated into the DRI project. This section is broken down by high level functionality, and more detailed projects are presented as subsections.
Support for MultiHead configurations of XFree86 has been designed into the DRI. However, full implementations of multihead support have not be done. There are many variations on how multihead can be supported on XFree86. This section describes what's possible, and where more work is needed.
Many of the challenges with supporting basic multiple adapter multihead reside in getting basic 2D initialization for *all* heads. Some XFree86 drivers work better than others in this area. The focus from a DRI perspective, is to make sure 3D works if 2D does. This has not been done for many of the DRI drivers, but is something that can be addressed at the driver level. When attempting to support basic multihead functionality within a driver, there are multiple levels of increasing complexity that should be addressed:
For many configurations, the biggest development challenge for the last step may be getting AGPGART support going with multiple heads. It's possible to defer this by working with drivers that don't require this support (PCI-only).
Traditional Xinerama distributes 2D commands to a basic multihead configuration. Providing the equivelent 3D distribution for the direct rendering 3D stream is new functionality. This diagram from TG gives an overview of the 2D and 3D streams. The 2D stream is distributed in the fourth box from the top, labeled "Xinerama's Single Logical Screen". The missing functionality, is the third box from the top, which distributes the 3D stream. It is labeled "Chromium-like 3D Command MUX".
The Chromium Project has addressed many of the technical challenges for distributing a single 3D stream over multiple rendering pipelines. However, the Chromium Project is focused on providing this solution over multiple systems in a cluster rather than a single system with multiple heads.
|Supported Card Status|
This is a list of all the hardware currently supported by the DRI. If your hardware is not listed it is most likely not supported or work on the driver is in very early stages of development. Check back often as support for new hardware is always being worked on.
Supported Chipsets are the generic chipsets that are supported by the drivers. Most graphics cards using those chipsets should be supported. Example Graphics Cards are simply examples of cards that use such chipsets and are therefore supported.
For more information on DRI support for BSD please consult this page.
NVidia provides their own closed source, binary drivers. Hardware specs are not available to the DRI developers and NVidia cards are therefore not supported by the DRI.