English/Français
Please note, that each item in the matrix is either a big or a huge piece of functionality, so the matrix is updated rarely. For a better view of daily progress, please see the logs of the source code repositories.
Key
"DONE" means... that it is thought to be fully implemented. May contain bugs.
"MOSTLY" means that it is mostly implemented and may have known bugs.
"WIP" means that someone has started on the initial implementation.
"TODO" means that someone needs to write the code. The required knowledge to write the code may or may not be known. Please ask on #nouveau if you want to get your feet wet on this.
"STALLED" means... that whatever code has been written is accumulating color and texture similar to that 3 week old slice of pizza in your fridge.
"BIOS" means... if supported by your BIOS. No software support. Yet.
"SLOW" means that the feature is implemented, but slow. Improvements may or may not be planned.
Features
x |
|||||||
2D features |
|
|
|
|
|
|
|
basic 2D (EXA1) |
DONE |
DONE |
DONE |
DONE |
DONE |
DONE |
|
fast 2D (XRender2) |
N/A5 |
DONE |
DONE |
DONE |
DONE |
DONE |
|
play videos (Xv3) |
DONE |
DONE |
DONE |
DONE |
DONE |
DONE7 |
|
3D features4 |
|
|
|
|
|
|
|
Primitives |
TODO |
WIP |
WIP |
DONE |
DONE |
DONE |
|
Textures |
TODO |
WIP |
WIP |
MOSTLY |
MOSTLY |
MOSTLY |
|
Fixed pipe TCL |
N/A |
TODO |
TODO |
NOT USED |
N/A |
N/A |
|
Vertex programs |
N/A |
N/A |
TODO |
MOSTLY |
MOSTLY |
MOSTLY |
|
Fragment programs |
N/A |
N/A |
N/A |
MOSTLY |
MOSTLY |
MOSTLY |
|
Output |
|
|
|
|
|
|
|
Console restore |
DONE |
DONE |
DONE |
DONE |
DONE |
DONE |
|
Dual-link DVI |
BIOS |
BIOS |
BIOS |
BIOS |
WIP |
WIP |
|
Dual head (Randr 1.2) |
DONE |
DONE |
DONE |
DONE |
DONE |
DONE |
|
Kernel Mode Setting |
DONE |
DONE |
DONE |
DONE |
DONE |
DONE |
|
NouveauFB |
DONE |
DONE |
DONE |
DONE |
DONE |
DONE |
|
TVout8 |
WIP |
WIP |
WIP |
WIP |
WIP |
TODO |
|
Other |
|
|
|
|
|
|
|
Multicard6 |
TODO |
TODO |
TODO |
TODO |
TODO |
TODO |
|
SLI6 |
N/A |
N/A |
N/A |
N/A |
TODO |
TODO |
|
TODO |
TODO |
TODO |
TODO |
TODO |
TODO |
||
Suspend (KMS only) |
DONE |
DONE |
DONE |
DONE |
DONE |
DONE |
|
OpenCL |
N/A |
N/A |
N/A |
N/A |
N/A |
TODO |
|
Notes
1 - EXA: The 'communal edition' EXA works. It is not blindingly fast. You may find it satisfying. Or not. XAA support was dropped long time ago.
2 - XRENDER: This will for nouveau be implemented through EXA using the 3D engine.
3 - Note Xv, not XvMC.: The current specification for XvMC is considered not worth the amount of work required, as the XvMC interface is too limited to be useful with current video formats. Some work is happening on implementing video acceleration within Gallium3D.
4 - While some support for 3D exists, it is far from mature. And even if it was mature, the particular feature you need, be it oddball texture compression formats and whatnot, may not be there. Yet. Patches welcome.
5 - NV0x family only supports swizzled textures, which we can't use for 2D stuff for various reasons. So no acceleration of XRENDER on those.
6 - SLI or even multicard setups are very rare among developers. You should start hacking with us, if you have such a setup.
7 - Now it works fine, but you need Xserver 1.7 or newer. In other case you need to run a composite manager (Compiz won't work, something like xcompmgr or KWin with XRender).
8 - nv0x-nv2x (nv17-nv19 excluded) need an external, third-party manufactured TV encoder. Only some Chrontel branded chips are currently supported. Also note that TV out requires KMS enabled.
Note : there is no NV03 (riva 128 family) support, neither in progress, nor planned. NV03 differs too much from the other chips to be added to a unified driver. A separate driver for NV01/NV03 would probably be the way to go.
Note2 : disable Composite on low-end cards for better XVideo performance.

