• Diff for "Hardware/NVIDIA"
  • Immutable Page
  • Info
  • Attachments
Differences between revisions 1 and 46 (spanning 45 versions)
Revision 1 as of 2007-08-21 21:57:42
Size: 3469
Editor: adsl-68-91-108-96
Comment:
Revision 46 as of 2008-04-15 03:00:13
Size: 6248
Editor: ppp-64-219-76-60
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
First, keep in mind that the best way to get a nice graphical experience is to use your monitors native resolution. It is also recommended that you verify that you have direct rendering enabled before you start to setup composite desktop. In a terminal you can type this. This page needs a suitable introductory statement. It also has sections in need of completion.
Line 3: Line 3:
<<TableOfContents>>

== Supported Cards ==

Compiz will only work with graphic cards with at least 64 MB of memory, and whose drivers are capable of supporting the X Composite extension and the GL_EXT_texture_from_pixmap OpenGL extension. But even if the required extensions are not supported by your card's driver, software solutions such as Xgl may be able to provide them.

=== Tested OK ===
Cards tested to work, driver required, and performance notes:
 * (card / driver / notes)

=== Compatible Specs ===
Cards theoretically compatible by specs, driver required, and performance notes:
 * (card / driver / notes)

=== Tested FAIL ===
Cards tested to fail, driver(s) tested, and specific failures:
 * (card / driver(s) / notes)

== Available Drivers ==
 * '''Legacy''' (1.0.7xxx)
 * '''New Legacy''' (1.0.96xx)
 * '''Latest''' (1.0.97xx - 100.x.x)

== System Setup ==

For information about whether your driver can be used directly with the X.Org server or must be used with Xgl to provide support for missing functionality, please refer to the '''[[Setup]]''' article.

=== Additional Configuration ===

Some of the following options may be worth trying to improve performance or fix bugs:

 * The following option improves performance. As of nvidia driver version 1.0-9746, it has been enabled by default. {{{
 Option "RenderAccel" "True" }}}
 * The following option is necessary to make window borders visible with nvidia driver versions prior to 100.xx. {{{
 Option "AddARGBGLXVisuals" "True" }}}
 * The following option improves performance. It is currently incompatible with SLI and MultiGPU modes. As of nvidia driver version 100.14.09, it has been enabled by default. {{{
 Option "DamageEvents" "True"}}}
 * Use the following option with caution as it may '''not''' work on all systems. {{{
 Option "UseEvents" "False" }}}
 * Do NOT use the following option if you have less than 128MB of video memory, and always use it with ''Sync to VBlank'' enabled in {{{nvidia-settings}}} both for OpenGL and XV. {{{
 Option "TripleBuffer" "True" }}}
 * Use the following option with caution as it may '''not''' work on all systems, especially with 6 series !GeForce cards (it is known to cause freezes with compiz) but give it a try because it helps performance. It can also break Xinerama. {{{
 Option "BackingStore" "True" }}}
 The ''!BackingStore'' option is an option provided by the X.Org server, not specific to the nvidia driver. It is used to enable the server's support for backing store, a mechanism by which pixel data for occluded window regions is remembered by the server thereby alleviating the need to send expose events to X clients when the data needs to be redisplayed. Note that this can significantly increase performance in nVidia !TwinView setups.
  

{i} For further information about these settings, please refer to the README file of the particular nvidia driver version you are using. It can be found on your hard drive at `/usr/share/doc/NVIDIA_GLX-1.0/README.txt` , or online at `http://us.download.nvidia.com/XFree86/Linux-x86/DRIVER_VERSION_NUMBER/README/chapter-11.html` .

=== Setting up nvidia-settings to start on login ===

This information is intended to help you start `nvidia-settings` options on login.

We can set ''AA'' and ''FSAA'' settings using an {{{export}}} command in various locations, including the following:
 * manually in a terminal after login
 * in one of the following files:
  * `/etc/init.d/xdm`
  * `/etc/profile`
  * `/etc/env.d/03opengl`
  * `/home/user/.bashrc`

However, this does not help us with the other options available to us in {{{nvidia-settings}}}, including ''Cursor Shadows'', ''Vibrance Controls'', and others.

To address this issue, it is possible to execute the settings file itself from ~/.kde/Autostart or Gnome session manager. To accomplish this, you will need to have `nvidia-settings` installed. It can then be used to set the desired options. Once this is done, create a bash script 'my-nv-settings.sh`. We will use this script to start the nvidia-settings config file without starting the application. Do not use the '>' character in the script.
Line 4: Line 67:
glxinfo | grep direct >#!/bin/bash
>/usr/bin/nvidia-settings -l &
Line 6: Line 70:
The response should look like this. Please be aware that the "-l" part is a lowercase "L" and not an uppercase "i". You can also add a third line to verify that the script is actually running 'touch ~/nvidia'. Next time you login this will create an empty file called ~/nvidia. If it is there then you know the script ran and you are ok. Now make the script executable with 'chmod a+x ~/my-nv-settings.sh'. If using KDE simply move/copy the script to ~/.kde/Autostart. If using Gnome you do not need the script. For Gnome simply insert '/usr/bin/nvidia-settings -l &' into Gnome session manager. You must make sure that nvidia options are started before compiz in order for this to work properly.
Line 8: Line 72:
{{{
direct rendering: Yes
}}}
If the response is "No" then direct rendering is not enabled and this guide will try and get you on your way. If you still experience problems with direct rendering after following this guide please keep in mind that this is only a general guide. The best source to get anything setup properly in your particular distribution of Linux is to go to the distributions documentation and/or that distributions forum.
Keep in mind this can also be added to `/etc/init.d/xdm` or `/etc/profile` to make the settings global; however, your settings file would also have to be in `/root`, making this second approach less than ideal.
Line 13: Line 74:
With driver 100.14.11 and older or 9631 legacy(no info about 7185) under the hood... In your /etc/X11/xorg.conf you should have the following options in order to run composite desktop. Options that are commented "##" at the end have been found to help either quality, performance or stability. There is also a ''Texture Filtering'' option in '''[[CCSM]]''' which can be adjusted. From CCSM, go to '''[[GeneralOptions|General Options]]''' -> ''Display Settings'' -> ''Texture Filter'' -> '''Best'''.
Line 15: Line 76:
{{{
Section "ServerLayout"
Option "AIGLX" "False"
=== Finding the correct settings for your card ===
Line 19: Line 78:
Section "Module"
Load "glx"
#Load "glcore" ## comment this line if it is there
#Load "dri" ## comment this line if it is there
The environment variables you can set to adjust the behaviour of VBlank syncing, anisotropic filtering, and full-screen anti-aliasing, as well as the meaning of the values you can set, are documented in Chapter 11 of the README file for your driver. It can be found on your hard drive at `/usr/share/doc/NVIDIA_GLX-1.0/README.txt` , or online at `http://us.download.nvidia.com/XFree86/Linux-x86/DRIVER_VERSION_NUMBER/README/chapter-11.html` .
Line 24: Line 80:
Section "Device"
Option "AddARGBGLXVisuals" "True"
Option "AllowGLXWithComposite" "True"
Option "DisableGLXRootClipping" "True" ## This option is deprecated.
Option "RenderAccel" "True" ## Not really needed with newer drivers as it is enabled by default in newer drivers
Option "DamageEvents" "True" ## This option is currently incompatible with SLI and MultiGPU modes
Option "UseEvents" "False" ## Use this one with caution it may NOT work on all systems
Option "TripleBuffer" "True" ## Do NOT use if you have less than 128mb vram
Option "BackingStore" "True" ## Use this one with caution it may NOT work on all systems (freezes when load beryl-manager) but give it a try because it helps performance] It can also break Xinerama
To understand these settings and figure out how best to set them, pages 9 through 11 of the following guide is recommended:
http://www.tweakguides.com/Graphics_1.html
Line 34: Line 83:
Section "Extensions"
Option "Composite" "Enable"

Section "Screen"
DefaultDepth 24
}}}
That is what is recommended for using composite desktop. For further documentation on these settings please refer to the readme file of the particular Nvidia driver you are using. Here is the readme for driver 9755 http://us.download.nvidia.com/XFree86/Linux-x86/1.0-9755/README/appendix-d.html

The option "BackingStore" is a Xorg option not Nvidia. This option is used to enable the server's support for backing store, a mechanism by which pixel data for occluded window regions is remembered by the server thereby alleviating the need to send expose events to X clients when the data needs to be redisplayed. Note that this can significantly increase performance in nVidia TwinView setups.
----------
If you would like to make further changes to improve the graphics performance here is a few suggestions.

(!) If you look in your computer bios and see a MTRR setting, make sure it is set to "DISCRETE"

If you have an AGP card add the following options in your modprobe.conf file or any name this file has in your distro:

options nvidia NVreg_EnableAGPSBA=1 NVreg_EnableAGPFW=1 NVreg_EnableBrightnessControl=1 NVreg_DevicesConnected=1 NVreg_VbiosFromROM=1 NVreg_SaveVBios=1 NVreg_SoftEDIDs=0 NVreg_VideoMemoryTypeOverride=0 NVreg_NvAGP=3 NVreg_ReqAGPRate=8->(8=for 8X AGP, 4=for 4X AGP)

Copy them as they are. They are typed correctly!
(!) When full-screen anti-aliasing is enabled and set to a multisampling mode, you may notice visual corruption when resizing a window.

This page needs a suitable introductory statement. It also has sections in need of completion.

Supported Cards

Compiz will only work with graphic cards with at least 64 MB of memory, and whose drivers are capable of supporting the X Composite extension and the GL_EXT_texture_from_pixmap OpenGL extension. But even if the required extensions are not supported by your card's driver, software solutions such as Xgl may be able to provide them.

Tested OK

Cards tested to work, driver required, and performance notes:

  • (card / driver / notes)

Compatible Specs

Cards theoretically compatible by specs, driver required, and performance notes:

  • (card / driver / notes)

Tested FAIL

Cards tested to fail, driver(s) tested, and specific failures:

  • (card / driver(s) / notes)

Available Drivers

  • Legacy (1.0.7xxx)

  • New Legacy (1.0.96xx)

  • Latest (1.0.97xx - 100.x.x)

System Setup

For information about whether your driver can be used directly with the X.Org server or must be used with Xgl to provide support for missing functionality, please refer to the Setup article.

Additional Configuration

Some of the following options may be worth trying to improve performance or fix bugs:

  • The following option improves performance. As of nvidia driver version 1.0-9746, it has been enabled by default.

     Option "RenderAccel" "True" 
  • The following option is necessary to make window borders visible with nvidia driver versions prior to 100.xx.

     Option  "AddARGBGLXVisuals"  "True" 
  • The following option improves performance. It is currently incompatible with SLI and MultiGPU modes. As of nvidia driver version 100.14.09, it has been enabled by default.

     Option "DamageEvents" "True"
  • Use the following option with caution as it may not work on all systems.

     Option "UseEvents" "False" 
  • Do NOT use the following option if you have less than 128MB of video memory, and always use it with Sync to VBlank enabled in nvidia-settings both for OpenGL and XV.

     Option "TripleBuffer" "True" 
  • Use the following option with caution as it may not work on all systems, especially with 6 series GeForce cards (it is known to cause freezes with compiz) but give it a try because it helps performance. It can also break Xinerama.

     Option "BackingStore" "True" 

    The BackingStore option is an option provided by the X.Org server, not specific to the nvidia driver. It is used to enable the server's support for backing store, a mechanism by which pixel data for occluded window regions is remembered by the server thereby alleviating the need to send expose events to X clients when the data needs to be redisplayed. Note that this can significantly increase performance in nVidia TwinView setups.

{i} For further information about these settings, please refer to the README file of the particular nvidia driver version you are using. It can be found on your hard drive at /usr/share/doc/NVIDIA_GLX-1.0/README.txt , or online at http://us.download.nvidia.com/XFree86/Linux-x86/DRIVER_VERSION_NUMBER/README/chapter-11.html .

Setting up nvidia-settings to start on login

This information is intended to help you start nvidia-settings options on login.

We can set AA and FSAA settings using an export command in various locations, including the following:

  • manually in a terminal after login
  • in one of the following files:
    • /etc/init.d/xdm

    • /etc/profile

    • /etc/env.d/03opengl

    • /home/user/.bashrc

However, this does not help us with the other options available to us in nvidia-settings, including Cursor Shadows, Vibrance Controls, and others.

To address this issue, it is possible to execute the settings file itself from ~/.kde/Autostart or Gnome session manager. To accomplish this, you will need to have nvidia-settings installed. It can then be used to set the desired options. Once this is done, create a bash script 'my-nv-settings.sh`. We will use this script to start the nvidia-settings config file without starting the application. Do not use the '>' character in the script.

>#!/bin/bash
>/usr/bin/nvidia-settings -l &

Please be aware that the "-l" part is a lowercase "L" and not an uppercase "i". You can also add a third line to verify that the script is actually running 'touch ~/nvidia'. Next time you login this will create an empty file called ~/nvidia. If it is there then you know the script ran and you are ok. Now make the script executable with 'chmod a+x ~/my-nv-settings.sh'. If using KDE simply move/copy the script to ~/.kde/Autostart. If using Gnome you do not need the script. For Gnome simply insert '/usr/bin/nvidia-settings -l &' into Gnome session manager. You must make sure that nvidia options are started before compiz in order for this to work properly.

Keep in mind this can also be added to /etc/init.d/xdm or /etc/profile to make the settings global; however, your settings file would also have to be in /root, making this second approach less than ideal.

There is also a Texture Filtering option in CCSM which can be adjusted. From CCSM, go to General Options -> Display Settings -> Texture Filter -> Best.

Finding the correct settings for your card

The environment variables you can set to adjust the behaviour of VBlank syncing, anisotropic filtering, and full-screen anti-aliasing, as well as the meaning of the values you can set, are documented in Chapter 11 of the README file for your driver. It can be found on your hard drive at /usr/share/doc/NVIDIA_GLX-1.0/README.txt , or online at http://us.download.nvidia.com/XFree86/Linux-x86/DRIVER_VERSION_NUMBER/README/chapter-11.html .

To understand these settings and figure out how best to set them, pages 9 through 11 of the following guide is recommended: http://www.tweakguides.com/Graphics_1.html

(!) When full-screen anti-aliasing is enabled and set to a multisampling mode, you may notice visual corruption when resizing a window.

Hardware/NVIDIA (last edited 2010-07-27 05:24:55 by 124-169-107-122)