From Fedora Project Wiki
m (Removing QA category)
 
(17 intermediate revisions by 6 users not shown)
Line 2: Line 2:


== Summary ==
== Summary ==
Make Nouveau the default driver for NVIDIA graphics chipsets.
== Owner ==
* Name: [[User:bskeggs| Ben Skeggs]]
* email: skeggsb@gmail.com
== Current status ==
* Targeted release: [[Releases/11 | Fedora 11 ]]
* Last updated: 2009-03-06
* Percentage of completion: 100%
The latest upstream nouveau code has been merged into rawhide.
nouveau has been made the default driver for Nvidia hardware now.
== Detailed Description ==
Nv is an open-source driver maintained by NVIDIA.  While this driver has some measure of support from the manufacturer itself, it is very limited in terms of the features it supports.
Nv is an open-source driver maintained by NVIDIA.  While this driver has some measure of support from the manufacturer itself, it is very limited in terms of the features it supports.


Nouveau is an effort by the community to produce an alternative open-source NVIDIA driver which can provide the features that are required for a modern desktop experience. The major benefits nouveau currently provides over nv are:
Nouveau is an effort by the community to produce an alternative open-source NVIDIA driver which can provide the features that are required for a modern desktop experience.
 
== Benefit to Fedora ==
The major benefits nouveau currently provides over nv are:
* Supports a few chipsets that nv does not.
* Supports a few chipsets that nv does not.
* RANDR 1.2 support available across all card families.
* RANDR 1.2 support available across all card families.
Line 11: Line 30:
* Textured video supported on all chipsets from NV30 onwards.
* Textured video supported on all chipsets from NV30 onwards.
** Nv doesn't support any form accelerated XVIDEO on G80 and above
** Nv doesn't support any form accelerated XVIDEO on G80 and above
== Owner ==
* Name: [[User:bskeggs| Ben Skeggs]]
* email: skeggsb@gmail.com
== Current status ==
* Targeted release: [[Releases/11 | Fedora 11 ]]
* Last updated: 2009-01-28
* Percentage of completion: 70%


== Scope ==
== Scope ==
Line 31: Line 41:
* If kernel module initialisation fails (ie. chipsets missing ctxprog), fallback to shadowfb
* If kernel module initialisation fails (ie. chipsets missing ctxprog), fallback to shadowfb
* See about implementing multi-master support in the nouveau kernel module, to enable the use of fast user switching features.
* See about implementing multi-master support in the nouveau kernel module, to enable the use of fast user switching features.
* Note that kernel modesetting is outside the scope of this feature - see [[Features/NouveauModesetting]] for that.


== Limitations ==
== How To Test ==
* xf86-video-nv supports all chipsets from NV03 onwards. Nouveau only supports from NV04 as previous chipsets are vastly different and beyond the scope of what nouveau aimed to support.  xf86-video-nv will still need to be used here.
* From GeForce 6 onwards NVIDIA GPUs require a small program to be uploaded to the GPU in order to control multiple hardware contexts. Nouveau cannot operate without this information, and limitations in the current understanding of this program prevent us from being able to write our own.  As such, this information is currently extracted from traces provided by users of the NVIDIA binary driver initialisation.
* GeForce 8200/8300 unsupported, this is also the case with nv
* 3D support will not be provided, it's not ready for end-users on any chipset.
 
== Testing ==
Testing will occur on at least the following chipsets:
Testing will occur on at least the following chipsets:
(will fill in missing details once the cards arrive)
(will fill in missing details once the cards arrive)
* 10de:002d: TNT2              - NV05
* 10de:002d: TNT2              - NV05
* 10de:XXXX: GeForce 4 MX440    - NV18
* 10de:0171: GeForce 4 MX440    - NV17
* 10de:0281: GeForce 4 Ti4280  - NV28
* 10de:0281: GeForce 4 Ti4280  - NV28
* 10de:0330: GeForce 5900 Ultra - NV35
* 10de:0330: GeForce 5900 Ultra - NV35
* 10de:XXXX: Quadro ???        - NV30GL
* 10de:0309: Quadro FX 1000    - NV30GL
* 10de:XXXX: GeForce 7600(GT?)  - G7x  (NV4B)
* 10de:XXXX: GeForce 7600(GT?)  - G7x  (NV4B)
* 10de:0191: GeForce 8800GTX    - G80  (NV50)
* 10de:0191: GeForce 8800GTX    - G80  (NV50)
Line 61: Line 66:
*Verify that X will successfully shutdown and restart
*Verify that X will successfully shutdown and restart
*Verify that the GPU doesn't report any errors to the kernel module during the above tests.
*Verify that the GPU doesn't report any errors to the kernel module during the above tests.
* Procedure details and reports: [[QA/Test Days/2009-03-26]]
== User Experience ==
Users should have a more responsive desktop, due to more operations being accelerated on the GPU.  GeForce 8/9 users will gain XVIDEO support out of the box.  People on earlier chipsets will gain proper multi-monitor support.
== Limitations ==
* xf86-video-nv supports all chipsets from NV03 onwards. Nouveau only supports from NV04 as previous chipsets are vastly different and beyond the scope of what nouveau aimed to support.  xf86-video-nv will still need to be used here.
* From GeForce 6 onwards NVIDIA GPUs require a small program to be uploaded to the GPU in order to control multiple hardware contexts. Nouveau cannot operate without this information, and limitations in the current understanding of this program prevent us from being able to write our own.  As such, this information is currently extracted from traces provided by users of the NVIDIA binary driver initialisation.
* GeForce 8200/8300 unsupported, this is also the case with nv
* 3D support will not be provided, it's not ready for end-users on any chipset.


== Dependencies ==
== Dependencies ==
None.
* None.


== Contingency Plan ==
== Contingency Plan ==
Revert to xf86-video-nv.
* Revert to xf86-video-nv


== Documentation ==
== Documentation ==
Line 72: Line 88:


== Release Notes ==
== Release Notes ==
 
* '''draft''': The xf86-video-nv driver is replaced by the xf86-video-nouveau as the default graphics driver for NVIDIA video cards. TODO: explain how to switch back to nv in case nouveau doesn't work.
* '''draft''': The xf86-video-nv driver is replaced by the xf86-video-nouveau as the default graphics driver for NVIDIA video cards  
 
<!-- The Fedora Release Notes inform end-users about what is new in the release. Examples of past release notes are here: http://docs.fedoraproject.org/release-notes/ -->
<!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the documentation team and shipped with the release. -->


== Comments and Discussion ==
== Comments and Discussion ==
Line 82: Line 94:
* See [[Talk:Features/NouveauAsDefault]]
* See [[Talk:Features/NouveauAsDefault]]


[[Category:FeatureAcceptedF11]]


----
[[Category:FeatureReadyForWrangler]]
<!-- When your feature page is completed and ready for review -->
<!-- When your feature page is completed and ready for review -->
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->

Latest revision as of 17:34, 17 April 2009

Replace xf86-video-nv with xf86-video-nouveau as default for NVIDIA GPUs

Summary

Make Nouveau the default driver for NVIDIA graphics chipsets.

Owner

Current status

  • Targeted release: Fedora 11
  • Last updated: 2009-03-06
  • Percentage of completion: 100%

The latest upstream nouveau code has been merged into rawhide.

nouveau has been made the default driver for Nvidia hardware now.

Detailed Description

Nv is an open-source driver maintained by NVIDIA. While this driver has some measure of support from the manufacturer itself, it is very limited in terms of the features it supports.

Nouveau is an effort by the community to produce an alternative open-source NVIDIA driver which can provide the features that are required for a modern desktop experience.

Benefit to Fedora

The major benefits nouveau currently provides over nv are:

  • Supports a few chipsets that nv does not.
  • RANDR 1.2 support available across all card families.
  • Accelerated XRENDER supported from NV10 (GeForce 3) onwards
    • NV40 onwards (Geforce 6/7/8/9) accelerate the majority of XRENDER that is exposed by EXA
  • Textured video supported on all chipsets from NV30 onwards.
    • Nv doesn't support any form accelerated XVIDEO on G80 and above

Scope

  • Modify xserver autoconfiguration code to select nouveau on supported chipsets before trying nv.
    • nv for NV03 (RIVA 128) series
    • vesa for a couple of known not-working chipsets (in both nouveau and nv), until support appears
    • nouveau for everything else
  • Ensure nouveau is functional across all supported card families.
  • Make sure performance on earlier cards is adequate for desktop use.
  • Ensure manpage is accurate and up-to-date
  • If kernel module initialisation fails (ie. chipsets missing ctxprog), fallback to shadowfb
  • See about implementing multi-master support in the nouveau kernel module, to enable the use of fast user switching features.
  • Note that kernel modesetting is outside the scope of this feature - see Features/NouveauModesetting for that.

How To Test

Testing will occur on at least the following chipsets: (will fill in missing details once the cards arrive)

  • 10de:002d: TNT2 - NV05
  • 10de:0171: GeForce 4 MX440 - NV17
  • 10de:0281: GeForce 4 Ti4280 - NV28
  • 10de:0330: GeForce 5900 Ultra - NV35
  • 10de:0309: Quadro FX 1000 - NV30GL
  • 10de:XXXX: GeForce 7600(GT?) - G7x (NV4B)
  • 10de:0191: GeForce 8800GTX - G80 (NV50)
  • 10de:0402: GeForce 8600GT - G84 (NV84)
  • 10de:040c: Quadro FX 570M - G84GL (NV84GL)

Procedure:

  • Verify that X starts
  • Verify that rendercheck passes, which should show up a lot of potential misrendering issues that may otherwise go unnoticed immediately.
  • Verify that rendering is as expected across a variety of applications
  • Verify that XVideo is operational on all provided adaptors
  • Verify that all supported outputs, and combinations of outputs are operational
    • Including outputs that haven't been initialised previously by the VBIOS
  • Verify that performance in general desktop tasks is acceptable
  • Verify that X will successfully shutdown and restart
  • Verify that the GPU doesn't report any errors to the kernel module during the above tests.

User Experience

Users should have a more responsive desktop, due to more operations being accelerated on the GPU. GeForce 8/9 users will gain XVIDEO support out of the box. People on earlier chipsets will gain proper multi-monitor support.

Limitations

  • xf86-video-nv supports all chipsets from NV03 onwards. Nouveau only supports from NV04 as previous chipsets are vastly different and beyond the scope of what nouveau aimed to support. xf86-video-nv will still need to be used here.
  • From GeForce 6 onwards NVIDIA GPUs require a small program to be uploaded to the GPU in order to control multiple hardware contexts. Nouveau cannot operate without this information, and limitations in the current understanding of this program prevent us from being able to write our own. As such, this information is currently extracted from traces provided by users of the NVIDIA binary driver initialisation.
  • GeForce 8200/8300 unsupported, this is also the case with nv
  • 3D support will not be provided, it's not ready for end-users on any chipset.

Dependencies

  • None.

Contingency Plan

  • Revert to xf86-video-nv

Documentation

Nouveau Wiki

Release Notes

  • draft: The xf86-video-nv driver is replaced by the xf86-video-nouveau as the default graphics driver for NVIDIA video cards. TODO: explain how to switch back to nv in case nouveau doesn't work.

Comments and Discussion