Inicio > Archlinux > Cuidado al actualizar Xorg 1.7 en Archlinux! [Error con placas Nvidia]

Cuidado al actualizar Xorg 1.7 en Archlinux! [Error con placas Nvidia]

Bueno, acá les vengo a contar ésto que me pasó hoy mismo a la mañana.

Hace unos días, se publicó la versión 1.7 de Xorg, y como todos sabemos, Arch suele estar siempre al día, gracias a lo cual ya desde ayer teníamos dicha versión disponible en repositorios. Y ahí empezó la odisea, ya que, tras actualizarlos y reiniciar mi PC que quedé sin servidor gráfico. Y no había caso, no podía levantar las Xs de ninguna forma.

Tras luchar un poco, las levante usando vesa y ahi, buscando en el foro de Arch me enteré del problema, el cual no fue anunciando ni en el sitio de Arch (al menos hasta éste momento, sigue sin publicarse nada al respecto). La única mención que ví está en la lista de correo de desarrolladores.

Pero, ¿cuál es el problema?, muy sencillo que Xorg 1.7 es incompatible con todos los drivers legacy de Nvidia (las series 173xx y 96xx). O sea, que si tenés una placa de video Nvidia medio viejita olvídate de usar el nuevo Xorg, por lo menos, hasta que salgan nuevas versiones de los drivers solucionando ésto.

Pero bueno, ¿están ustedes en la misma que yo? les pasó lo mismo y ahora están sin entorno gráfico. La solución es relativamente sencilla. Es más, tenemos 3 opciones.

1_ Usar el driver NV

pacman -S xf86-video-nv

2_ Usar el divrer Nouveau

pacman -S nouveau-drm xf86-video-nouveau

Tanto para la opción 1 como para la 2, recuerden editar el xorg.conf y poner en la opción driver, el que corresponde en reemplazo del nvidia que tenían.

3_ Hacer un downgrade a la versión anterior de Xorg donde no había problemas.

El downgrade fue lo que yo hice. Y volví a la versión 1.6.3 que tenía antes. Existen 2 formas de hacerlo. La primera es buscar en var/cache/pacman/pkg el paquete deseado y luego, con un

pacman -U nombredelpaquete-versionvieja.pkg.tar.gz

Instalamos dicha versión, en nuestro caso, sería el paquete xorg-server-1.6.3.901-1-i686.pkg.tar.gz pero bueno obviamente yo no tengo tanta suerte y mi cache estaba vacía. Por lo que tomé el camino difícil.

Tal y como dice la wiki de Arch, fue a ver el estado de los mirrors de los repositorios y busqué alguno que todavía no se hubiese actualizado (hay algunos que tardan días o semanas en hacerlo). Entonces elegí uno de esos. Recuerden que a la web del mirror al final deben agregarle “$repo/os/i686” o el “$repo/os/x86_64” según su versión del sistema. Luego edité mi mirrorlist, en donde agregue dicho mirror y, temporalmente, comente todos los otros. Eso se hace, con un

sudo nano /etc/pacman.d/mirrorlist

Es lo mismo si usan nano, gedit, mousepad, kwrite o el que deseen. Yo pongo nano porque asumo que no tiene entorno gráfico para usar los otros. Entonces le agregan # a todos los mirrors y copian al comienzo el mirror elegido para que quede algo así:

Server = ftp://atviras.lt/archmirror/$repo/os/i686
#Server = http://www.las.ic.unicamp.br/pub/archlinux/$repo/os/i686
#Server = http://mirror.umoss.org/archlinux/$repo/os/i686

En donde el primero es, justamente, el mirror con paquetes viejos. Entonces, ya solo es cuestión de actualizar los repos y reinstalar Xorg. Aunque previamente, debemos hacer un downgrade a xf86-input-evdev debido a las dependencías. Entonces hacemos

sudo pacman -Syy
sudo pacman -S xf86-input-evdev
sudo pacman -S xorg

Durante el proceso, el mismo pacman les avisará que van a bajar de versión los programas y les pedirá la confirmación dicen que si, y listo. Ya tendrán el Xorg viejo instalado, ahora reinician el sistema y listo.

Si todo funcionó bien, ya pueden volver a editar el mirrorlist, quitando el repo que agregamos y volviendo a activar los que usan habitualmente. Ahora, para que en el próximo upgrade pacman no vuelva a actualizarles el Xorg, hay que editar el pacman.conf y decirler que ignore a xorg:

sudo kwrite /etc/pacman.conf

y lo editamos para que quede así

# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
IgnorePkg   = xf86-input-evdev
IgnoreGroup = xorg

Y listo. Solucionado todo el problema. Si algún día se actualizan los drivers Nvidia o cambian de placa, editan el pacman.conf borrando la referencia a ignorar xorg y listo, volverá a actualizare normalmente como cualquier otro paquete.

Y, ¿Cuál es la moraleja de todo ésto? es que siempre que se actualicen éstos paquetes importantes del sistema como Xorg, el kernel o cosas así, esperen unos días para actualizarse. Y antes de hacerlo, revisen el foro de Arch a ver si surgieron problemas con dicho update ya que puede pasarles a ustedes ;) .

  1. Noviembre 2, 2009 a las 7:48 pm | #1

    Me pasó lo mismo pero con los drivers de Intel que están en el AUR, tuve que recompilarlos y todo funcionó nuevamente, a muchas personas les ocurrió.

    • Noviembre 2, 2009 a las 9:53 pm | #2

      Si, vi en el foro de Arch que el problema afectó a varios. No sabes el susto que fue ver que no tenía Xs justo cuando necesitaba hacer algo de la facu :P

  2. Noviembre 7, 2009 a las 9:49 am | #3

    joerrr me ha pasado esta mañana y la verdad sea dicha me he tirado un buen rato dando vueltas hasta que he instalado xf86-video-nv, si hubiera leido esto antes lo hubiese hecho del tiron jajaja

    Zuargo, que grafica tienes?? es que he leido a medias lo de los drivers intel y no se si tiraran para mi Gforce4 mx440, si sabes algo al respecto o tu Thalskarth me echais un cable pleaseeee, mientras buscare info por la wiki a ver que hay :)

  3. Noviembre 7, 2009 a las 4:11 pm | #4

    Estoy intentando hacer el downgrade a la versión anterior de Xorg como dices ahi, pero al llegar a pacman -S xorg me sigue dando los paquetes nuevos:

    extra/xorg-server 1.7.1-1

    ¿que puedo estar haciendo mal?

  4. Noviembre 7, 2009 a las 8:09 pm | #6

    ¿No da problemas el congelar un paquete? Lo digo por que los repos se van actualizando (rolling release) ¿Y si instalas un paquete que te pide que la dependencia (el paquete que has dicho que no se actualice) se actualice?

    Ya sé que se puede forzar a instalar aunque te pida determinada version o editar el pkgbuild si es de AUR pero ¿eso no desestabiliza el sistema o hace q algo vaya mal?

    Duda de novata, ya sé xD

    • Noviembre 7, 2009 a las 8:20 pm | #7

      No pasa nada, osea, si lo congelaste y uno nuevo pide la otra version de pendencia, pacman te avisa del problema y no lo instala, diciendote que descongeles el otro. O que lo dejes asi sin actualizar. es mas si queres, congelas ese tambien asi pacman no te dice mas nada.

      Por ejemplo yo congele el xf86-input-evdev porque justamente pide xorg 1.7 de dependencia

  5. iyanmv
    Noviembre 8, 2009 a las 8:13 am | #8

    Ahora con la última actualización da problemas a todos, porque hace que KDE vaya muy lento y me imagino que pase lo mismo en Gnome.
    http://bugs.archlinux.org/task/17037?project=1&order=dateopened&sort=desc

  6. RAT
    Noviembre 8, 2009 a las 2:25 pm | #9

    Me ocurrio algo parecido, pero en mi caso ni siquiera me dejo instalar. Esperemos que se solucione el problema… sino, toca quedarse con el xorg antiguo.

  7. iyanmv
    Noviembre 8, 2009 a las 3:54 pm | #10

    Ya está solucionado!!

  8. Noviembre 8, 2009 a las 8:29 pm | #11

    Thalskarth :
    ¿estás probando con el Server = ftp://atviras.lt/archmirror/$repo/os/i686?
    Ese server solo lleva 3 días de demora, o sea que ya debe tener los nuevos paquetes. Probá con

    ftp://ftp.nux.ipb.pt/pub/dists/archlinux/$repo/os/i686
    ftp://mirror.pacific.net.au/linux/archlinux/$repo/os/i686

    Que se actualizan cada 26 y 69 días respectivamente por lo que todavía deberían tener los paquetes viejos.
    Sino, fijate acá que es la lista del estado de todos los mirrors

    Voy a probar con esos que me dices a ver, porque ahora con pacman -Syu me dice esto:
    xorg-server tiene conflictos con nvidia-96xx-utils. ¿Quitar nvidia-96xx-utils? [S/n]

    Y no se si quitar nvidia-utils, es capaz de que dentro de un par de dias actualicen nvidia y por alguna razon no me deje instalarlo otra vez :) lo dicho, pruebo esos y comento

  9. Noviembre 9, 2009 a las 5:06 am | #12

    Al final no he podido hacerlo, me decia que no reconocia los servidores en mirrorlst. he hecho el downgrade con el primer paso de esta manera:

    $ sudo pacman -U /var/cache/pacman/pkg/xorg-server-1.6.3.901-1-i686.pkg.tar.gz /var/cache/pacman/pkg/xorg-server-utils-7.4-7-i686.pkg.tar.gz /var/cache/pacman/pkg/xf86-input-evdev-2.2.5-1-i686.pkg.tar.gz /var/cache/pacman/pkg/xf86-video-nv-2.1.14-1-i686.pkg.tar.gz /var/cache/pacman/pkg/xf86-video-vesa-2.2.0-1-i686.pkg.tar.gz

    Lo lei en el foro de arch y me ha ido estupendo

    gracias a todos

    • Noviembre 10, 2009 a las 8:21 am | #13

      Si, esa es la forma más sencillla… pero, al menos en mi caso… no tenía los paquetes en el cache y por eso no pude hacerlo así

  10. Dario
    Noviembre 10, 2009 a las 1:55 am | #14

    hablando de nvidia, alguien tiene idea de que paso con vdpau (libvdpau), esta en la version 185 y lo drivers de nvidia en la 190, lo que me causa unos problemas terribles.
    por cierto, buen blog, salu2.

  11. Un Aweonao
    Noviembre 13, 2009 a las 4:05 pm | #15

    compadre, ya se ha arreglado el problema, así que actualice el tutorial : los paquetes nvidia-173xx y nvidia-96xx ya funcionan con xorg 1.7 ( los subieron hoy), solo agreguen los repositorios extra

    Saludos y excelente blog!!

  1. Noviembre 2, 2009 a las 6:56 am | #1
  2. Noviembre 8, 2009 a las 8:03 am | #2
  3. Noviembre 8, 2009 a las 8:13 am | #3