Manual para la instalación de los drivers nVidia en linux

En este manual que voy a escribir a continuación iré paso a paso, para que los novatos no se pierdan, en la instalación de los drivers nVidia para linux (es válido para cualquier distribución, aunque yo he usado en concreto la Mandrake 10.1 Community).

Hay gente que piensa que ya tiene los drivers nVidia según viene recien instalado, ya que si miras en las configuraciones, suele venir ya detectada, pero esos drivers no llevan las posibilidades 3D. Los drivers con dichas posibilidades se tienen que bajar de la web de nVidia, ya que son software propietario, y las distribuciones gratuitas no suelen llevarlos (las distribuciones de pago, en cambio, sí que suelen incluirlos). De todas formas, conviene tener dichos drivers actualizados. Como yo tuve problemas para instalarlos, y sé que hay bastante gente que también, ya que no viene muy claro, sobre todo para novatos, el procedimiento. he decidido crear un manual paso a paso, para que todos puedan exprimir las capacidades de su tarjeta 3D también en linux :cool:

Bueno, pues aquí va:

Pasos para instalar correctamente y sin problemas los drivers nVidia con aceleración 3D en linux:

1.- Al iniciar, entrar en la BIOS, y asegurarse de que se tiene la opción "Assign IRQ to VGA"
activada (YES o ENABLED), ya que si no, dará errores en la compilación o ejecución del módulo.

2.- Descargarse los últimos drivers de la web de nVidia (asegurarse de que la ruta a esos drivers
no tiene espacios en los nombres, ya que eso daría conflictos en la instalación).

3.- Instalar el paquete kernel-source de los discos de instalación de linux (el nombre exacto del
paquete varía según la versión del kernel instalada). Esto es necesario ya que para compilar el
modulo se usan partes de dichas fuentes. Asegurarse también de tener instalado el compilador de
C gcc. Si no es así instalarlo desde su correspondiente paquete, también en los discos de
instalación de linux.

3.- Entrar en una sesión en modo texto (Alt-Ctrl-F1).

4.- Hacer login con tu nombre de usuario y contraseña.

5.- Entrar en el directorio donde se guardó el archivo anteriormente.

6.- Pasar a modo administrador (escribir 'su' e introducir el password de administrador).

7.- Escribir 'init 3' (Esto desactiva el modo gráfico de linux, necesario para poder instalar los
drivers

8.- Escribir 'sh NVIDIA_xxxxx.run' (o sea, el nombre del archivo que bajamos en el paso 2). Esto
iniciará el script de instalación de los drivers. Una vez dentro, aceptar el acuerdo de licencia
e ir diciendo que sí a todo hasta que se instale.

9.- Ya tenemos instalados los drivers, ahora tenemos que decirle al modo gráfico de linux que los
utilice. Esto ya es muy sencillo, simplemente hay que editar un par de archivos. Primero
editaremos '/etc/modprobe.preload', y luego 'etc/X11/xorg.conf'. Vamos por pasos:

9.1.- /etc/modprobe.preload
- Editamos este archivo, simplemente escribiendo 'vi /etc/modprobe.preload'.
- Una vez en el editor, llegamos hasta el último carácter, pulsamos la 'a' para insertar
a continuación, un 'intro' para pasar a una nueva línea, y escribimos 'nvidia'. Luego
pulsamos ESC y ':wq' para guardar los cambios y salir. (Más adelante pongo una guía
rápida de los comandos que se necesitan del editor vi para hacer estas operaciones,
así que no los iré detallando más).
- Esto produce que el módulo de nVidia sea cargado al iniciar linux.

9.2.- /etc/X11/xorg.conf
- Editamos este archivo escribiendo 'vi /etc/X11/xorg.conf'
- Buscamos una línea en la que pone 'Driver "nv"' o 'Driver "vesa"', y lo sustituimos por
'Driver "nvidia"'.
- Buscamos, en la seccion 'Module Section', y quitamos las '#' que estén delante de 'Load
"glx"' (eso activará la opción, ya que las almohadillas hacen que esa línea no se tenga
en cuenta). Además tenemos que añadir almohadillas delante de las líneas, si aparecen
(no tienen por qué aparecer) 'Load "dri"' y 'Load "GLCore"'.
- Esto le dice al modo gráfico que se usan los drivers nVidia y las extensiones 3D.

10.- Bueno, pues ya está todo, ahora escribimos 'modprobe nvidia', para cargar el módulo y poder volver
al entorno gráfico. Para esto último, escribimos 'init 5'. Si todo ha ido bien, saltará una ventana
splash de nVidia y luego el entorno gráfico, ya con aceleración 3D. Ahora, antes que nada, es mejor
reiniciar el equipo, y comprobar que todo marcha bien. Y ya está, drivers 3D instalados.

Notas adicionales:

- Ayuda con el procesador vi: El procesador vi es un procesador en modo texto muy útil por la de funciones
que trae, pero también un poco complicado de usar al principio, ya que no tiene menús, todo se hace con
comandos. Cuando se entra en el procesador se está en el modo comandos, y lo que escribas no se añade al
texto, sino que le das órdenes al procesador de texto (vamos, como si estuvieses en el menú de opciones).
Hay que usar uno de esos comandos para ponerse a escribir. Para pasar de modo escritura a modo comando, se
usa la tecla ESC (no pasa nada si se pulsa varias veces, por lo que, si no estamos seguros de en que modo
estamos, la pulsamos y sabemos que a partir de ahí estamos en modo comando). A continuación pongo algunos
de esos comandos que pueden ser útiles para editar los ficheros indicados:

i -> Pasa a modo escritura en el lugar en el que esté el cursor en ese momento.
a -> Pasa a modo escritura en el siguiente lugar al que esté el cursor en ese momento.
x -> borra el caracter sobre el que esté situado el cursor.
dd -> borra la línea sobre la que esté situado el cursor.
:q! -> Sale del editor sin guardar los cambios.
:w -> Guarda los cambios efectuados en el archivo.
:wq -> Guarda los cambios y sale del editor.

- Respetar mayúsculas y minúsculas, ya que en el linux están diferenciadas (no es lo mismo Esto que esTo).

- /etc/X11/xorg.conf es el archivo de configuración para la versión nueva de las X-Window, las versiones
antiguas de linux usan XFree86, y su archivo de configuración cambia, aunque la sintaxis es la misma, por
lo que los cambios a efectuar en dicho archivo son los mismos, aunque el nombre del archivo cambie.
gracias, pero tengo un problema.

Tengo mandrake 10.1, y en el momento de la compilacion me dijo que podria tener problemas , puesto que estaba activado el soporte del ¿framebufer? o algo parecido para las tarjetas nvidia. Tengo el kernel por defecto de la distribucion, asi q supongo que esto le habra surgido a alguien mas.
He hecho todo lo que dices... ( menos lo de dri y glcore, que no lo tengo en mi xorg.conf) y lo que ocurre es que cuando entro a kde se keda la imagen de nvidia como de fondo, no se ven las ventanas, y todas las acciones que voy haciendo se quedan congeladas en la pantalla, es decir si abro el menu inicio, se queda la imagen del menu inicio abierto aunque haga otra cosa.
Te falta un pequeño apunte:

el gcc DEBE ser la misma versión que la usada para compilar el kernel.
Gracias por el apunte soyyo :D.
Hola a todos.
desde ayer tengo Ubuntu en mi PC, y hoy la he instalado estos drivers, pero de una forma sustancialmente diferente, para ello he seguido un minituto que koala191 dejo en el foro de ubuntu-es, http://www.ubuntu-es.org/node/view/438
Os lo dejo en este hilo por si a alguien le es de alguna utilidad. A mi me ha funcionado a la perfección. (Ubuntu Warty, o lo q es lo mismo, 4.10)

koala191 escribió:ASI INSTALE LOS DRIVERS NVIDIA

Nota: Hay que tener instalado linux-restricted modules >= 2.6.8.1.1-3

Para instalar los drivers.

sudo apt-get install nvidia-glx

Nota (opcional): El paquete nvidia-settings proporciona un panel de control para configurar algunas opciones de la tarjeta de video.


1. Después de instalar Ubuntu, el paquete linux-restricted-modules ya estará instalado normalmente.

2. Como digo arriba, se ejecuta el comando

sudo apt-get install nvidia-glx (o se usa Synaptic para instalarlo).

Esto instala "driver" nvidia.

3. Se ejecuta el comando

sudo dpkg-reconfigure xserver-xfree86.

Se selecciona el driver nvidia en la primera pantalla. Al resto de opciones se les puedes dar el valor por defecto. Ahora hay que actualizar el fichero /etc/X11/XF86Config-4.

En la sección "Module" fijarse que esté la línea Load "glx"

En la sección "Device" sustituir nv por nvidia

4. Como root (por ejemplo con sudo), se edita el fichero/etc/modules.

Se añade una linea que contenga solo la palabra "nvidia" (sin las comillas). Esto hace que el módulo se carge la próxima vez que se reinicie el sistema.

5. Para cargar el módulo ahora se introduce el comando sudo modprobe nvidia.

6. Ahora hay que reinciar el servidor X para que los cambios tengan efecto. Se puedes hacer presionando las teclas ctrl-alt-backspace. Esto parará las X luego mostrará la pantalla de NVIDIA y luego una nueva pantalla de conexión.

Y eso es todo.
Hola, me parece un muy buen manual, e intentado seguirlo pero na, todo perfecto hasta el punto 9.2 pero cuando voi a editar las XF86Conifg veo que el archivo ta vacio y tengo que editar el XF86Config-4 que si que tiene lo que pides, pero cuando lo cambio i hago un init 5 eso no va xD, y hago un reboot y no me entra a las x se me queda en consola.... nose porque sera... voi con Mandrake 10.0 Oficial


Saludos
Lo de la configuración es porque usas XFree86 (actualmente las distros tienden a usar xorg como gestor de ventanas, pero el archivo de configuración es idéntico, solo cambia el nombre).

Lo de que no te cargue es posible que sea porque en la BIOS no tienes activada la interrupción para la VGA, compruébalo (a mi me pasaba lo mismo y era por eso).
Uff, que trabajo me ha costado encontrar este hilo que recordaba de hace un tiempo y me fue muy util.
Resulta que he cambiado de placa por averia de la que tenía y ahora no me rulan las X.
Pudiera ser por lo del "Assign IRQ to VGA", que en la BIOS de esta placa, por más que lo busco no encuentro ninguna opción parecida. Pero es que no se me ocurre otro motivo, ya que lo tengo todo tal y como lo tenía antes.
Por si acaso voy a pegar mi /etc/X11/XF86config-4 porque lo he estado toqueteando y a ver si al final he dejado algo chungo.



# File generated by XFdrake.

# **********************************************************************
# Refer to the XF86Config man page for details about the format of
# this file.
# **********************************************************************

Section "Files"
# Multiple FontPath entries are allowed (they are concatenated together)
# By default, Mandrake 6.0 and later now use a font server independent of
# the X server to render fonts.
FontPath "unix/:-1"
EndSection

Section "ServerFlags"
#DontZap # disable (server abort)
AllowMouseOpenFail # allows the server to start up even if the mouse doesn't work
#DontZoom # disable / (resolution switching)
EndSection

Section "Module"
Load "dbe" # Double-Buffering Extension
Load "v4l" # Video for Linux
Load "extmod"
Load "type1"
Load "freetype"
Load "glx"
EndSection

Section "InputDevice"
Identifier "Keyboard1"
Driver "Keyboard"
Option "XkbModel" "pc105"
Option "XkbLayout" "es"
Option "XkbOptions" ""
EndSection

Section "InputDevice"
Identifier "Mouse1"
Driver "mouse"
Option "Protocol" "IMPS/2"
Option "Device" "/dev/psaux"
Option "ZAxisMapping" "4 5"
EndSection

Section "Monitor"
Identifier "monitor1"
HorizSync 30-48
VertRefresh 50-90

# Sony Vaio C1(X,XS,VE,VN)?
# 1024x480 @ 85.6 Hz, 48 kHz hsync
ModeLine "1024x480" 65.00 1024 1032 1176 1344 480 488 494 563 -hsync -vsync

# TV fullscreen mode or DVD fullscreen output.
# 768x576 @ 79 Hz, 50 kHz hsync
ModeLine "768x576" 50.00 768 832 846 1000 576 590 595 630

# 768x576 @ 100 Hz, 61.6 kHz hsync
ModeLine "768x576" 63.07 768 800 960 1024 576 578 590 616
EndSection

Section "Device"
Identifier "device1"
Driver "vesa"
Option "DPMS"
EndSection

Section "Screen"
Identifier "screen1"
Device "device1"
Monitor "monitor1"
DefaultColorDepth 16

Subsection "Display"
Depth 8
Modes "1024x768" "800x600" "640x480"
EndSubsection

Subsection "Display"
Depth 15
Modes "1024x768" "800x600" "640x480"
EndSubsection

Subsection "Display"
Depth 16
Modes "1024x768" "800x600" "640x480"
EndSubsection

Subsection "Display"
Depth 24
Modes "1024x768" "800x600" "640x480"
EndSubsection
EndSection

Section "ServerLayout"
Identifier "layout1"
InputDevice "Keyboard1" "CoreKeyboard"
InputDevice "Mouse1" "CorePointer"
Screen "screen1"
EndSection


Teniendo en cuenta que lo tengo en "vesa" para que me tiren las X mientras averiguo el tema este.
Toda ayuda será bien recibida.
Un saludo
si vi(m) es demasiado para vosotros, probad nano, tambien es de texto, pero no tiene tantos modos ni complicaciones (ni posibilidades). lo único es que tendréis que instalarlo aparte


creo que debian no pasa mata las X en init 3, si no recuerdo mal hay que editar los servicios que se activan/desactivan en cada nivel de ejecución (cada init). siendo muy burros, matad el proceso gdm (o kde o xdm, el que useis), eso debería servir
Os olvidais de que el instalador de los drivers de nvidia ya carga automáticamente el driver y reconfigura el xorg.conf

Mis pasos son (en Ubuntu 5.10):
[list=1]
[*]Abrir el synaptic (Sistema >> Administración >> gestor de paquetes synaptic).
[*]Instalar linux-image-k7 y linux-headers-k7 (porque tengo un AMD Athlon xp).
[*]Instalar build-esential y gcc-3.4.
[*]Borrar todos los restricted-modules y todo lo que ponga nvidia.
[*]Reiniciar.
[*]Pasar al primer terminal "Ctrl + ALT + F1".
[*]$ sudo /etc/init.d/gdm stop
[*]$ sudo export CC=gcc-3.4
[*]$ sudo sh NVIDIA-xxxx.run
[*]Reiniciar y listo.
[/list=1]

Ya tenemos un kernel optimizado y los últimos drivers de nVIDIA [oki]
9 respuestas