Fedora 12 y NVIDIA: ¿Por qué nouveau?

Ayer en la noche me dispuse a reinstalar Linux en la máquina de la casa. Desde Fedora 8 no había vuelto a reinstalar; siempre hacía upgrade. Del 8 me pasé al 10, y el 11 simplemente lo dejé pasar (aunque lo tengo instalado en el trabajo).

Pensé que lo que más trabajo me iba a costar sería el respaldo de las carpetas que tengo en ese disco duro (uno de 160 GB, exclusivo para Linux), y aunque sí tardé un buen en mover todo (y se me olvidaron los bookmarks de Firefox 🙁 ), en donde topé con pared fue en la instalación de los drivers de Nvidia.

Mi tarjeta es una GeForce 7600 GS, nada del otro mundo. No tengo ningún problema con instalar/compilar los drivers por mi cuenta ( lo que significa que también tengo que revisarlos a pie continuamente o volverlos a compilar cuando salga una actualización del kernel), pero por lo general siempre le dejo todo al yum o al package manager y lo venía haciendo por medio de RPMS. Después de todo, ahorran tiempo. Total que después de instalar el nuevo sistema operativo me encuentro con que el monitor que yo quería que fuera el principal (uso 2) era detectado como secundario, y el que quería como secundario (que también uso como TV), era el principal, eso sí, ambos con su máxima resolución detectada correctamente. Aquí comenzó el problema.

No importaba qué hiciera o cómo cambiara la configuración de monitores, siempre era lo mismo: en la pantalla de login se mantenían configurados al revés, pero después de entrar, se ponían en su lugar correcto… pero el escritorio estaba dividido: los páneles en el secundario y los íconos y demás en el primario. Decidí entonces que lo primero que haría sería configurar los drivers de Nvidia. Me apresuré a agregar los repositorios de rpmfusion, y, acto seguido, a instalar los drivers usando yum. No contaba yo con que no los encontraría (aunque solo hice varias búsquedas tipo yum search nvidia. Creo que debo tratar usando kmod también). “Ni modo. A instalarlos a mano”, pensé.

Bajé el script de instalación de la página de Nvidia, cambié el runlevel a 3, y ejecuté el script. Compilación sin problemas, pero me marcó un error al final diciéndome las posibles causas, y una me llamó la atención: algún driver tenía control del video e impedía que nvidia.ko (el módulo compilado) se apoderara de él. El dichoso módulo es nouveau, el cual es, según leo, un driver open source para Nvidia, que reemplaza al tradicional nv. Opté por hacer un rmmod, pero me decía que el módulo estaba en uso, y era lógico (estaba en runlevel 3). Así que tuve que hacer lo siguiente:

  • Cambiar el runlevel a single user.
  • rmmod nouveau
  • Regresar el runlevel a 3.
  • Permitir ejecución de allow_execstat para que SELinux no impida que el driver sea cargado.
    Esto se logra con setsebool -P allow_execstack on
  • Instalar los drivers de Nvidia.
  • Regresar el runlevel a 5.

Una de las guías para configurar Fedora 12 post-instalación menciona que hay que agregar nouveau.modeset=0 al final de la línea de booteo en el GRUB, pero al hacerlo, GRUB la ignora porque dice que no la reconoce.  El paso 4, que puse en negritas, es esencial para que SELinux no ponga peros como suele hacerlo.

Al instalar los drivers, se crea el tan ansiado (al menos para mí) /etc/X11/xorg.conf . Y lo que sigue es ya cuestión de gustos: editarlo directamente para configurar los 2 monitores como debe ser, o bien usar, como root, nvidia-settings y hacer todo por medio de interface gráfica (acción que solo recomiendo después de haber configurado todo a mano para saber qué es exactamente lo que cambia). Al fin tenía todo como debe ser.

Al parecer no soy el único que ha tenido problemas con nouveau y los drivers de Nvidia. Quizá para configuraciones sencillas, y si no se necesita aceleración 3D, nouveau sea una opción interesante, pero hasta el momento me ha causado más problemas que beneficios. Así que mejor me quedo con los drivers originales de Nvidia. mis monitores configurados correctamente y más control sobre el video.

De aquí surge otra duda: ¿por qué Fedora no trae por default el /etc/X11/xorg.conf ? Dicen que es una de sus “ventajas”, pero hasta el momento no sé por qué no tenerlo debería ser considerado como ventaja.

Hoy por la noche sigo en la post-instalada con el plugin de flash, el acrobat reader,  algunas fuentes que requiero y xetex. A ver qué tal me va.

21 thoughts on “Fedora 12 y NVIDIA: ¿Por qué nouveau?”

  1. Hola, me pasa lo mismo, con mi tarjeta Nvidia 6150 en mi portatil

    El problema que en runlevel 1 tampoco me deja hacer rmmod a nouveau, alguna ayuda?

    Gracias

  2. hola mi estimado que gusto que un paisa ande por alla programando jaja quien lo diria. bueno oye sabes opte por desinstalar mi dichoso windows e instalar fedora 12, por que mi lap g60 de hp tiene webcam y ubuntu no la detectaba aqui si pude pero como tengo nvidia pues no funciona, abro un programa me detacta la camara y tomo la foto pero el video esta estatico, a que se debe que debo colocar el mio es un nvidia geforce 8500 ojala me puedas auxiliar o me quedo con ubuntu y le busco a la camara? es mas pesado fedora12? aqui no se instala con sudo apt-get verdad? son otras instrucciones tiene mas software? tiene mas soporte? quisiera saber para ya quedarme con una distro. gracias!!!

  3. Me cae q un 75% d lo q hablaste no lo entiendo jejejeje

    Me declaro total neófito en linux, debo admitir q rara vez lo uso y ciertamente solo uso los q se instalan solitos 🙂

    Chido q hallas corregido el comportamiento d la compu, enseñale quien es el q manda!!!!

  4. Creo que tu nVidia ya entra en la lista de “Legacy” no? tal vez por eso Nouveau no tenga soporte específico para tu gpu. Me pasó lo mismito con madwifi en Debian y mi Atheros, tuve que usar y cargar un módulo viejo (ath_pci) porque el nuevo, premium y maravilloso “ath5k” aun no tenía soporte para mi modelo, y cuando lo tuvo, se tardó en subir a los repos de Debian porque ya ves que esa gente checa y recheca mil veces su código, haciendo las actualizaciones leeeeeeentas. Al final fue demasiado dolor de trasero y mejor me pasé a Fedora 11, pero entonces el problema se volvió mi Radeon, que no tenía soporte ni en las repos de RPM Fusion.

    Últimamente me quité de tanto maldito problema (ya que a diferencia tuya, yo no sé compilar) y estoy trabajando en Windows 7. Pero ya me está dando de nuevo la inquietud de instalar ese disquito de OpenSUSE que bajé hace una semana =D

  5. Por eso mejor uso XP y el tiempo de instalar y configurar algún Linux, lo uso para jugar AOE2. XD

  6. Interesante la última respuesta….

    a Fedora/Red Hat le gusta tener sus propias aplicaciones, por eso el generico de xorg no va con sus politicas. Fedora es mas como un mutante linux wannabe win xp, por lo que se comporta asi.
    Prefiero xorg, lo sencillo, clasico y util.
    Aunque no niego que Fedora es una buena opcion, de hecho es el que uso… 😛
    Antes era FreeBSD, pero tiene problemas mucho mayores con los drivers…

  7. [quote comment=”3454″]Hola, me pasa lo mismo, con mi tarjeta Nvidia 6150 en mi portatil

    El problema que en runlevel 1 tampoco me deja hacer rmmod a nouveau, alguna ayuda?

    Gracias[/quote]

    A mi me pasa exactamente lo mismo, cambiando al init 1 no me deja tampoco quitar el módulo…
    Vaya rollo el nouveau!

  8. [quote comment=””][quote comment=”3454″]Hola, me pasa lo mismo, con mi tarjeta Nvidia 6150 en mi portatil

    El problema que en runlevel 1 tampoco me deja hacer rmmod a nouveau, alguna ayuda?

    Gracias[/quote]

    A mi me pasa exactamente lo mismo, cambiando al init 1 no me deja tampoco quitar el módulo…
    Vaya rollo el nouveau![/quote]

    Bueno, ya lo he arreglado. El tema es el siguiente, o al menos lo que yo he entendido:
    El nuevo arranque gráfico plymouth necesita del driver nouveau para arrancar. Por lo tanto, ya desde el mismo arranque del kernel
    (es decir, desde el initrd) se carga el nouveau y ya es imposible quitarlo, ni forzándolo.
    Lo que hay que hacer es eliminar el driver nouveau del initrd.
    Para ello, cambiamos de nombre el driver (en vez de borrarlo, que siempre es más seguro):
    mv /lib/modules/2.6.31.5-127.fc12.i686/kernel/drivers/gpu/drm/nouveau/nouveau.ko /lib/modules/2.6.31.5-127.fc12.i686/kernel/drivers/gpu/drm/nouveau/nouveau.ko.bkp
    Es decir, el driver pasa de llamarse nouveau.ko a nouveau.ko.bkp
    Y por último recreamos el initrd. Para ello, primero borramos (previa copia de seguridad) el actual initrd:
    rm /boot/initramfs-2.6.31.5-127.fc12.i686.img
    Y recreamos:
    mkinitrd /boot/initramfs-2.6.31.5-127.fc12.i686.img 2.6.31.5-127.fc12.i686
    Reiniciamos, y listo.
    Ahora el modo de arranque es similar al que había con fedora 11 y 10. Al arrancar, ya detecta (al menos a mí me ha hecho) automáticamente el driver de nvidia, lo carga y tenemos aceleración gráfica.

  9. al realizar lo que dice en la info, no inicia la sesión grafica en fedora 12, si no como modo de consola, que se debe hacer ahora??’ tengo una GeForce 8200 en una lap compaq, segui todos los pasos que mencionas

    1. ¿Inicias directamente en modo texto o la máquina intenta entrar a modo gráfico y te manda error? Si es lo primero, entra como root y revisa qué nivel está configurado en /etc/inittab . El inicio en modo gráfico es runlevel 5. Fíjate el número que tienes en la línea:

      id:5:initdefault:

      Si es algo diferente a 5, cámbialo 🙂

      Si es lo segundo (intenta entrar a modo gráfico y manda error), quizá es porque no encuentra ningún driver gráfico. Si pudiste instalar el driver de nvidia, checa tu /etc/X11/xorg.conf para ver si está bien configurado.

      Avísame si tienes dudas.

  10. Hola, uso Fedora desde que esta distribución era Red Hat 9, aunque siempre en ambiente gráfico. Tengo también el problema de la instalación de los drivers de nvidia, siempre los instalo ya que así tengo soporte 3d para compiz y para jugar, por ejemplo, Blobby, o usar awn. Sin embargo, ahora con el nuevo driver nouveau que viene en fedora hay problemas (o no lo sé configurar).

    Seguí las instrucciones para instalar el driver de nvidia. Como muchos ya lo habremos intentando, no es posible instalarlo de la manera como se venía haciendo (ejecutar el script de nvidia en el nivel 3), así que hay que añadir la entrada que éste artículo comenta, con respecto a deshabilitar la carga de nouveau (uso el kernel 2.6.31.5-127), y modificar la directiva de selinux (también indicada aquí), entonces sí se reinicia, se entra al nivel 3, y se instalan los drivers de nvidia ejecutando el script.

    La aceleración por hardware funciona, pero no así compiz (para los efectos del escritorio).

    Si queremos regresar al driver nouveau, es necesario primero desinstalar el driver de nvidia (y verificar que sea eliminado el archivo de configuración de pantalla que el instalador de nvidia crea, xorg.conf), restaurar la entrada que se había modificado en el grub, y también en selinux (de lo contrario es posible que su pantalla se quede en negro y sean necesarios otros pasos para poder entrar de nuevo al escritorio gráfico.

    Si lo anterior sucede sólo entra desde la consola como root para borrar etc/X11/xorg.conf (el dvd de fedora 12 tiene la opción para hacer esto).

    Si alguien sabe cómo hacer funcionar compiz y la aceleración por hardware se le agradecerá mucho. Gracias por este artículo, y al autor.

  11. Terrible es increible que una distro tan seria como fedora tenga ese problema la distro es buena y bonita pero cuando se tratra de de incluir drives para tarjeta de video es dolorosamente dificil, me gusta mas ubuntu porque no tiene ese problema ella te detecta automaticamente la tarjeta de video y te pide bajar el driver mucho mejor, el vendito driver no soporta (por lo menos en mi maquina) la acelarion 3d nouveau, una buena opción tambien es Mandriva que ya viene con los drivers propietarios y nada especial

    1. Gracias a todos por sus comentarios:

      Sobre rehacer el initrd, puede ser una opción necesaria, pero yo no lo hice (no necesité) 🙂 ¡Gracias por el aporte!
      Otra opción sería también deshacerse por completo del initrd recompilando el kernel (así es como tengo Gentoo en la laptop).

      Cuando yo lo instalé, al estar en runlevel 1 primero hice rmmod de los módulos que usaban nouveau, y una vez quitados de la tablita, hice rmmod nouveau y me dejó hacerlo. De ahí hice el setsebool para que SELinux no pusiera peros, compilé los drivers con el instalador y todo listo.

      Si sale algún problema, avísenme por aquí o por correo y vemos qué se puede hacer 😀

  12. Hoooooooolaaaaaaaa 🙂 medinamanuel@hotmail.com este es tu correo nop 🙂

    Si es asi para mandarte y espero me puedas responder solo un par de dudas en cuanto a las becas que otorgan el la embajada de Japon en Mexico, ya que intente por medio de la embajada en Mexico y mas por los 400 años de relaciones Mexico Japon y pues que hasta el otro año me dijieron que pida informes peeeeeeeeeeeeeeero el tiempo es valioso nop???? Mexicana precavida vale por muxxxxoooooo nop 🙂 y pues son un par de dudas que no estan en tus FaQ y pues espero que pormedio de este post solo me confirmes tu mail para mandarte mis preguntas por que enserio es super imprtante para mi y espero me puedas Guiar y asesorar sip 🙂 beeeeeno felicidades por estar donde quieres estar y ser ejemplo para muxxxos Gracias Buen dia Byeeeeeeee :).

  13. [quote comment=””]¿Inicias directamente en modo texto o la máquina intenta entrar a modo gráfico y te manda error? Si es lo primero, entra como root y revisa qué nivel está configurado en /etc/inittab . El inicio en modo gráfico es runlevel 5. Fíjate el número que tienes en la línea:

    id:5:initdefault:

    Si es algo diferente a 5, cámbialo 🙂

    Si es lo segundo (intenta entrar a modo gráfico y manda error), quizá es porque no encuentra ningún driver gráfico. Si pudiste instalar el driver de nvidia, checa tu /etc/X11/xorg.conf para ver si está bien configurado.

    Avísame si tienes dudas.[/quote]

    Hola,
    la cosa esta así: prengo la maquina, de ahi al grub, luego el boot splash, que se llama plymouth, de ahi me manda directo a consola, a logearme en consola, intento editar el etc/x11/xorg.conf, y me lanza error

  14. Hola, yo he usado Fedora desde que era FC4 y hasta el 11, el 12 ya lo bajé pero aun no lo instalo, confiezo que ando probando win7 y me gusta :p

    Punto y aparte del problema con el driver de nVidia note que perdiste tus bookmarks de firefox, a mi me pasó una vez, pero luego me recomendaron y ddesde ahce como 3 años que uso una extension que se llama Xmarks (antes foxmarks), que se encarga de guardar tus bookmarks y los puede sincronizar si tienes diferentes computadoras. El link de la extension es: https://addons.mozilla.org/en-US/firefox/addon/2410

    Salu2 desde 北九州

  15. si nouveau se niega a morir y sigue molestando simple consola y
    su
    yum erase xorg-x11-drv-nouveau
    mv /lib/modules/$(uname -r)/kernel/drivers/gpu/drm/nouveau/nouveau.ko /lib/modules/$(uname -r)/kernel/drivers/gpu/drm/nouveau/nouveau.txt
    mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img
    dracut /boot/initramfs-$(uname -r).img $(uname -r)

  16. Hola, has tenido problemas con los nuevos kernel de las actualizaciones de fedora 12?, yo si, todo bien con el kernel que venia por defecto, al hacer las modificaciones para nvidia, pero cuando cargo con los kernels nuevos, se queda pegado antes de entrar a la grafica

    Alguna idea?
    Gracias

  17. He tenido algunos problemillas también con el driver noouveau y mi tarjeta nVidia, pero he logrado resolverlo, así que os expongo el proceso que he seguido por si a alguien puede servirle.

    1.- Primero deshabilitar el arranque del driver “nouveau” en el propio kernel: editamos como superusuario el archivo “/boot/grub/grub.conf” y añadimos al final de la directiva kernel (de nuestro arranque) la opción: “rdblacklist=nouveau” (sin comillas). Guardamos el archivo.

    2.- Reiniciamos

    3.- Desinstalamos cualquier driver instalado previamente mediante la opción: (como superusuario) yum remove nvidia* (con asterisco (*) despues de nvidia, para que elimine todo lo que empiece por nvidia)

    4.- Agregamos los repositorios de “RPMFusion”:
    su -c ‘rpm -ivh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm

    su -c ‘rpm -ivh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm

    5.-Instalamos el último driver correspondiente a nuestro kernel:
    su -c ‘yum install kmod-nvidia-`uname -r`’

    6.- Y listo!!¡¡ Tendremos nuestros drivers de nVidia instalados y funcionando.

    NOTA: Los pasos del 3 al 5 los he hecho en el runlevel 3 (su -c ‘init 3’), al terminar he vuelto al runlevel número 5. Creo que esto no es estrictamente necesario, pero puede que lo sea, tenerlo en cuenta por favor.

    Espero os haya sido de utilidad.
    Un saludo.

  18. agrega los siguiente en grub.conf: selinux=0 nouveau.modeset=0 rdblacklist=nouveau

    y listo

    saludos

Leave a Reply

Your email address will not be published. Required fields are marked *