From the category archives:

Ubuntu

Tarjetas de Video nVidia en Linux.

by Jorge Machin on April 14, 2007 · 0 comments

in Fedora, Linux, Ubuntu

Aunque prefiero las tarjetas de video ATI, también suelo usar tarjetas nVidia porque son baratas y fáciles de configurar en Linux. La computadora que utilizo para mis experimentos en mi casa es un servidor Dell PowerEdge SC 430. Originalmente no traía tarjeta de video con aceleración gráfica alguna y muy al principio estuvo bien; pero la verdad es que incluso para los scrolls de las terminales se necesita algo de aceleración. Por esa razón le agregué una modesta pero suficiente FX-5200.

PowerEdge SC 430

Dell PowerEdge SC 430

Instalación de los controladores propietarios de Nvidia

En Fedora la instalación se hace por medio de yum:

yum install kmod-nvidia

En Ubuntu:

apt-get install nvidia-glx
nvidia-glx-config enable

Para que los cambios tomen efecto, es necesario salir de la sesión actual.

Archivo xorg.conf

El archivo xorg.conf (/etc/X11/xorg.conf) tiene varias secciones:

1. Server Layout .

2. Configuración de la pantalla.

3. Configuración del ratón.

4. Configuración del monitor.

5. Configuración de la tarjeta de video.

6. Configuración de los módulos.

7. Configuración de los tipos.

Mi archivo de configuración es el siguiente:

# Xorg configuration created by system-config-display

Section "ServerLayout"
        Identifier     "single head configuration"
        Screen      0  "Screen0" 0 0
        InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
        ModulePath   "/usr/lib/xorg/modules/extensions/nvidia"
        ModulePath   "/usr/lib/xorg/modules"
        FontPath     "unix/:7100"
EndSection

Section "Module"
        Load  "freetype"
        Load  "type1"
        Load  "record"
        Load  "fdbevhw"
        Load  "glx"
        Load  "dbe"
        Load  "extmod"
EndSection

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
        Option      "XkbModel" "pc105"
        Option      "XkbLayout" "latam"
EndSection

Section "Monitor"
        Identifier   "Monitor0"
        ModelName    "Samsung SyncMaster 753DF(X)/703DF(X)/783DF(X)/CD173A(T)"
        HorizSync    30.0 - 71.0
        VertRefresh  50.0 - 160.0
        Option      "dpms"
EndSection

Section "Device"
        #Option     "OpenGLOverlay" "on"
        Identifier  "Videocard0"
        Driver      "nvidia"
        Option      "AllowGLXWithComposite" "True"
        Option      "RenderAccel" "True"
        Option      "Coolbits" "1"
        #Option     "VideoOverlay" "off"
        Option      "AddARGBGLXVisuals" "True"
EndSection

Section "Screen"
        Identifier "Screen0"
        Device     "Videocard0"
        Monitor    "Monitor0"
        DefaultDepth     24
        SubSection "Display"
                Viewport   0 0
                Depth     24
                Modes    "1152x864" "1152x768" "1024x768" "800x600" "640x480"
        EndSubSection
EndSection

Section "Extensions"
        Option      "Composite" "Enable"
        Option      "RENDER" "Enable"
EndSection

A partir de la versión 10 de Fedora, no incluye el archivo xorg.conf. Si se desea usar, una forma de obtenerlo es instalando system-config-display y acceder a él para que nos cree uno de manera automática.

Rendimiento

Una forma fácil pero burda de probar el rendimiento de la aceleración 3D es con el programa glxgears:

glxgears -info

En el servidor de mi casa da como resultado:

6955 frames in 5.0 seconds = 1390.953 FPS

Mi Laptop con el chip 4500MHD de Intel obtiene:

6100 frames in 5.0 seconds = 1219.963 FPS

Overclocking

Aunque no soy muy fanático del overclocking para que mi hardware viva más tiempo, hay veces que un 20% o 30% de rendimiento extra puede ser muy útil para sacar un video de muestra o para no quedar mal con las visitas. El overclocking se puede hacer desde la ventana de configurición de la tarjeta nVidia o desde la línea de comandos.

Primero, se necesita agregar la siguiente linea al archivo xorg.conf en la sección device donde se encuentra la tarjeta de video que queremos acelerar:

Option      "Coolbits" "1"

Desde el programa de configuración de nVidia (Menú->Sistema->Nvidia Display Settings) podemos modificar los parámetros de reloj para hacer el overclocking en la sección de "clock frequencies".

Nvida
Ventana de configuración

Desde la línea de commando:

[renato@linux ~]$ nvidia-settings -a GPUOverclockingState=1 --assign="GPU3DClockFreqs=306,514"
  Attribute 'GPUOverclockingState' (linux.home:0.0) assigned value 1.

  Attribute 'GPU3DClockFreqs' (linux.home:0.0) assigned value 306,514.

Con el overclocking, obtengo:

8663 frames in 5.0 seconds = 1732.444 FPS

que es una mejora cercana al 30%.

Beryl

Si se utilizan drivers propietarios de nvidia se tienen que hacer los siguientes cambios al archivo xorg.conf:

Section "Module"
       Load  "dbe"
       Load  "extmod"
       Load  "fbdevhw"
       Load  "glx"
       Load  "record"
       Load  "freetype"
       Load  "type1"
       Load  "GLCore"
       Load  "dri"
EndSection

Section "Screen"
       ...
       DefaultDepth 24
       Option "TripleBuffer" "true"
       Option "AllowGLXWithComposite" "True"
       Option "RenderAccel" "True"
       Option "AddARGBGLXVisuals" "True"
       ...
EndSection

Section "Extensions"
       Option "Composite" "Enable"
EndSection

{ 0 comments }