Otros sitios...

Búsqueda

Antispam

Tarjetas de Video nVidia en Linux.

April 14th, 2007 by Jorge Machin

Aunque prefiero las tarjetas de video ATI, también suelo usar tarjetas nVidia porque son baratas y fáciles de configurar. La computadora que utilizo para mis pruebas en Linux es un servidor Dell PowerEdge SC 430. Originalmente no traía tarjeta de video con aceleración gráfica y 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 PowerEsge 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 configuracion 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

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

Overclocking

Aunque no soy muy fanático del overclocking para que mi hardware viva más tiempo, pero 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

Posteado en Fedora, Linux, Ubuntu | No hay comentarios »