Пожалуйста, обратите внимание, что каждый элемент в матрице это большой либо огромный кусок функциональности, так что таблица обновляется редко. Для детального обозрения ежедневного прогресса смотрите логи репозиториев исходного кода.
Легенда
"Готово" означает, что считается полностью реализованной. Может содержать баги.
"Частично" означает, что частично реализована и может содержать баги.
"В процессе" означает, что кто-то начал реализовывать.
"Сделать" означает, что кто-то должен написать код. Необходимые для написания кода знания могут быть известны или не известны. Пожалуйста, спросите на #nouveau если вы хотите заняться этим.
"Приостановлено" 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" означает, если поддерживается вашей BIOS. Нет программной поддержки. Пока.
"Медленно" Означает, что функция реализована, но медленно. Улучшения могут быть запланированы или нет.
Features
x |
||||||||
2D features |
|
|
|
|
|
|
|
|
basic 2D (EXA1) |
DONE |
DONE |
DONE |
DONE |
DONE |
DONE |
DONE9 |
|
fast 2D (XRender2) |
N/A5 |
DONE |
DONE |
DONE |
DONE |
DONE |
DONE9 |
|
play videos (Xv3) |
DONE |
DONE |
DONE |
DONE |
DONE |
DONE |
DONE9 |
|
decode videos |
? |
TODO |
TODO |
WIP |
WIP |
WIP |
TODO |
|
3D features4 |
|
|
|
|
|
|
|
|
Primitives |
WIP |
WIP |
WIP |
DONE |
DONE |
DONE |
DONE9 |
|
Textures |
WIP |
WIP |
WIP |
MOSTLY |
MOSTLY |
MOSTLY |
MOSTLY9 |
|
Fixed pipe TCL |
N/A |
WIP |
WIP |
NOT USED |
N/A |
N/A |
N/A |
|
Vertex programs |
N/A |
N/A |
TODO |
MOSTLY |
MOSTLY |
MOSTLY |
MOSTLY9 |
|
Fragment programs |
N/A |
N/A |
N/A |
MOSTLY |
MOSTLY |
MOSTLY |
MOSTLY9 |
|
Output |
|
|
|
|
|
|
|
|
Dual-link DVI |
BIOS |
BIOS |
BIOS |
BIOS |
MOSTLY10 |
MOSTLY10 |
MOSTLY10 |
|
Dual head (Randr 1.2) |
DONE |
DONE |
DONE |
DONE |
DONE |
DONE |
MOSTLY |
|
Kernel Mode Setting |
DONE |
DONE |
DONE |
DONE |
DONE |
DONE |
MOSTLY |
|
TVout7 |
WIP |
WIP |
WIP |
DONE |
MOSTLY |
TODO |
TODO |
|
Other |
|
|
|
|
|
|
|
|
Multicard8 |
MOSTLY |
MOSTLY |
MOSTLY |
MOSTLY |
DONE |
DONE |
DONE |
|
SLI6 |
N/A |
N/A |
N/A |
N/A |
TODO |
TODO |
TODO |
|
N/A |
WIP |
WIP |
WIP |
WIP |
WIP |
TODO |
||
Suspend |
DONE |
DONE |
DONE |
DONE |
DONE |
DONE |
TODO |
|
Video input |
TODO |
TODO |
TODO |
TODO |
TODO |
TODO |
TODO |
|
HDMI audio |
N/A |
N/A |
N/A |
N/A |
TODO |
TODO |
TODO |
|
OpenCL |
N/A |
N/A |
N/A |
N/A |
N/A |
TODO |
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 - nv0x-nv2x (nv17-nv19 excluded) need an external, third-party manufactured TV encoder. Only some Chrontel branded chips are currently supported.
8 - Multicard support requires ability to cold-boot the secondary card(s), ie. initialise them without help from their Video BIOS (since it isn't run on startup). This means that you need all your secondary cards to support multicard, but you can use anything as your primary card. Primary in this context means the card that was set up as primary display by your machine's BIOS, secondary means any card that is not the primary card. Also, atm there's a bug that makes running a GPU-intensive application (mostly 3d, but some 2d also do the trick) on one GPU temporarily freeze the others...
9 - Needs external firmware, which we can't provide yet. See firmware status.
10 - Works, if the VBIOS gives enough memory bandwidth by default. That is, usually yes.
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.

