(see discussion tab for items missing for FESCo review) |
|||
Line 20: | Line 20: | ||
* Last updated: 2009-01-28 | * Last updated: 2009-01-28 | ||
* Percentage of completion: 70% | * Percentage of completion: 70% | ||
== Detailed Description == | |||
<!-- Expand on the summary, if appropriate. A couple sentences suffices to explain the goal, but the more details you can provide the better. --> | |||
* '''FIXME''' | |||
== Benefit to Fedora == | |||
<!-- What is the benefit to the platform? If this is a major capability update, what has changed? If this is a new feature, what capabilities does it bring? Why will Fedora become a better distribution or project because of this feature?--> | |||
* '''FIXME''' | |||
== Scope == | == Scope == | ||
Line 32: | Line 40: | ||
* 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. | ||
== | == How To Test == | ||
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) | ||
Line 61: | Line 63: | ||
*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. | ||
== User Experience == | |||
<!-- If this feature is noticeable by its target audience, how will their experiences change as a result? Describe what they will see or notice. --> | |||
* '''FIXME''' | |||
== 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 78: | Line 90: | ||
* See [[Talk:Features/NouveauAsDefault]] | * See [[Talk:Features/NouveauAsDefault]] | ||
[[Category:FeaturePageIncomple]] | |||
[[Category: | |||
<!-- 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 --> |
Revision as of 18:38, 4 February 2009
Replace xf86-video-nv with xf86-video-nouveau as default for NVIDIA GPUs
Summary
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:
- 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
Owner
- Name: Ben Skeggs
- email: skeggsb@gmail.com
Current status
- Targeted release: Fedora 11
- Last updated: 2009-01-28
- Percentage of completion: 70%
Detailed Description
- FIXME
Benefit to Fedora
- FIXME
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.
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:XXXX: GeForce 4 MX440 - NV18
- 10de:0281: GeForce 4 Ti4280 - NV28
- 10de:0330: GeForce 5900 Ultra - NV35
- 10de:XXXX: Quadro ??? - 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
- FIXME
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
Release Notes
- draft: The xf86-video-nv driver is replaced by the xf86-video-nouveau as the default graphics driver for NVIDIA video cards.