17 de febrero de 2008

Reconfigurar servidor gráfixo Xorg en Debian Etch

Si por alguna razón después de realizar la instalación de Debian Etch necesitas configurar el servidor gráfico de nuevo, por ejemplo, al no haber detectado en la instalación la resolución correcta del monitor, (en mi portátil no me reconoció la resolución óptima 1280x800), o en algún momento cambias de monitor en tu equipo y los parámetros que tienes configurados en el antiguo no te funcionan con el nuevo, existe un script de configuración en Debian que nos ayuda a reconfigurar nuestro servidor X sin necesidad de estar retocando a mano el fichero /etc/X11/xorg.conf.

Para invocar el script, recomiendo que inicies sesión como usuario "root" en una consola de texto (CTRL+ALT+F1) y sigas los pasos que detallo a continuación, aunque también te funcionará si lo ejecutas desde una terminal (Konsole) dentro de las X.

login: root
password:

Antes de ejecutar el script, si ya tienes configurado tu servidor X, te recomiendo que hagas una copia de seguridad de tu archivo xorg.conf de la siguiente manera:
# cp /etc/X11/xorg.conf /root

Hemos guardado una copia en el directorio de root. Para restaurarla ejecutaríamos el siguiente comando:
# cp /root/xorg.conf /etc/X11/xorg.conf


Una vez hecha la copia de seguridad, ejecutamos el script de configuración:
# dpkg-reconfigure xserver-xorg


1. Nos pedirá confirmación para detectar la tarjeta de vídeo:

RESPUESTA:

2. Muestra el listado de módulos (driver) que actualmente tenemos instalados en el equipo. Debes seleccionar el apropiado a tu tarjeta gráfica. Los más comunes son:

- Driver General (creo que funciona con todas las tarjetas): vesa (sin aceleración 3D)
- Driver ATI: ati, radeon (Libres), fglrx (Propietario Oficial), fglrx (Repositorios Debian)
- Driver NVIDIA: nv (Libre), nvidia (Propietario Oficial), nvidia (Repositorios Debian)
- Driver Intel: i810

RESPUESTA: nvidia (Tengo el driver Oficial)

3. Nos pide que identifiquemos el nombre de nuestra tarjeta gráfica. Al haber contestado de forma afirmativa a la pregunta del paso 1, me muestra el fabricante y modelo de mi gráfica. Éste valor aparecerá en el fichero /etc/X11/xorg.conf, en la sección Device.

RESPUESTA: ACEPTAR (Sin modificar)

4. Identificador del bus de la tarjeta gráfica. Dejamos el valor que ha detectado.

RESPUESTA: ACEPTAR (Sin modificar)

5. Cantidad de memoria que se desea usar con la tarjeta de vídeo. Hasta ahora nunca he utilizado ésta opción. Puede que sea necesario para aquellas tarjetas gráficas que utilizan memoria RAM (lo he visto en algunas intel integradas en placa).

RESPUESTA: ACEPTAR (Como norma general, dejar en blanco)

6. Usar el interfaz de dispositivos "framebuffer" del núcleo. No se en que puede afectar. Siempre contesto que NO.
RESPUESTA: No

7. Autodetectar el diseño de su teclado. Como se supone que durante la instalación nos configuró apropiadamente éste paso, contestamos que no.

RESPUESTA: No

8. Diseño del teclado. Dejamos el valor que nos propone "es" = ESPAÑOL

RESPUESTA: es

9. Conjunto de reglas de XKB que usará. Dejamos el valor propuesto "xorg"

RESPUESTA: xorg

10. Selección del modelo de teclado. Dejamos la opción que no muestra, que será la elegida durante la instalación. En mi caso "pc105".

RESPUESTA: pc105

11. Variante de teclado. Dejamos en blanco.

RESPUESTA: Dejar en blanco

12. Opciones de teclado: Dejamos en blanco.

RESPUESTA: Dejar en blanco

13. Puerto del ratón. Siempre escojo la opción que me detecta por defecto.

RESPUESTA: /dev/input/mice


RESPUESTA: ImPS/2


RESPUESTA:

14. Opciones del módulo. Como norma general, los activo todos, menos cuando configuro tarjetas Nvidia, que desactivo la opción "dri". Hasta ahora no me he encontrado con ningún error que haya relacionado con las opciones que activo en éste paso.

RESPUESTA: Marcar opciones como aparecen en la imagen (para NVIDIA)

15. Nos pide confirmación para escribir la configuración hasta aquí elegida en el fichero /etc/X11/xorg.conf

RESPUESTA:

16. Hasta aquí con la configuración de la tarjeta gráfica. Ahora viene la configuración del monitor. Nos pregunta si queremos que autodetecte nuestro monitor.

RESPUESTA:

17. Identificador para su monitor. Como se ve en la imagen me ha detectado el monitor de mi portátil como "genérico". Si lo hiciera sobre un equipo de sobremesa, casi siempre detecta el fabricante y modelo.

RESPUESTA: ACEPTAR (Sin modificar)

18. Nos muestra los modos de video (resoluciónes) que ha detectado compatibles con mi monitor. Éste paso no funciona al 100%. Debes saber que frecuencias soporta tu monitor. Para mas información mira el manual o google.
En mi portátil, no me detectó la resolución óptima que es 1280x800, así que la marqué.

RESPUESTA: ACEPTAR (una vez seleccionados los modos soportados)

NOTA: Una vez hayamos terminado de configurar nuestro servidor gráfico y lo reiniciemos, arrancará con la resolución más alta que aquí hayamos marcado. Ten siempre presente ésto para que no te lleves sorpresas al iniciar.


19. Método para seleccionar las frecuencias (horizontal y vertical) de nuestro monitor. Ten mucho cuidado en éste paso. Debes mirar en tu manual o google las frecuencias correctas ya que podrías dañar tu monitor.
En Debian Sarge tenía muchos problemas para dar con éstos valores, pero en Debian Etch, hasta ahora siempre me han funcionado los valores que me ha detectado por defecto.

RESPUESTA: Advanced - ACEPTAR

RESPUESTA: 28-64 - ACEPTAR

IMPORTANTE: Éstas son las frecuencias soportadas por el monitor de mi portátil. Pueden variar con las que debas utilizar en tu monitor. Son las que me ha detectado.

RESPUESTA: 43-60 - ACEPTAR

IMPORTANTE: Éstas son las frecuencias soportadas por el monitor de mi portátil. Pueden variar con las que debas utilizar en tu monitor. Son las que me ha detectado.

20. Nos pide escribir éstos valores de sincronismo del monitor en el fichero de configuración /etc/X11/xorg.conf

RESPUESTA:

21. Como paso final, selecciónamos la profundidad de color. Este valor viene limitado por la cantidad de memoria de la tarjeta gráfica. A éstas alturas que las tarjetas gráficas llevan memoria de sobra, creo que no tendréis problemas para seleccionar los 24 bits.

RESPUESTA: 24 -ACEPTAR

22. Tras aceptar el paso anterior, volveremos a la consola de texto y debemos ver el siguiente mensaje.

# dpkg-reconfigure xserver-xorg
xserver-xorg postinst warning: overwriting possibly-customised configuration
file; backup in /etc/X11/xorg.conf.20080217115823

Nos está diciendo que nos ha creado un fichero backup llamado "xorg.conf.20080217115823", del archivo de configuración anterior, en la ruta /etc/X11/. Ante cualquier problema a la hora de reiniciar el servidor gráfico, puedes restaurar dicha copia iniciando sesión como usuario root y ejecutando el comando siguiente:

# mv /etc/X11/xorg.conf.20080217115823 /etc/X11/xorg.conf

NOTA: Fíjate que el nombre del archivo backup es "xorg.conf" más la fecha al revés en la que he realizado la modificación, en mi caso, el 17.02.08 a las 11:58:23 horas.


Saludos y suerte.
Domi - Gran Canaria (Islas Canarias)

16 de febrero de 2008

Recompilar módulo Virtualbox al actualizar Kernel

El pasado 12 de febrero se liberó una nueva actualización del kernel para la versión estable de Debian (Etch). Al instalar dicha actualización e iniciar el sistema con el nuevo kernel, el programa de virtualización Virtualbox, al igual que ocurre con Vmware Server, deja de funcionar al no tener compilado el módulo para la nueva versión del kernel. A continuación puedes ver el error que nos daría al ejecutar el programa desde una terminal (Konsole):

$ VirtualBox
WARNING: The vboxdrv kernel module is not loaded. Either there is no module
available for the current kernel (2.6.18-6-686) or it failed to
load. Please recompile the kernel module and install it by

sudo /etc/init.d/vboxdrv setup

You will not be able to start VMs until this problem is fixed.


Al contrario que ocurre con Vmware Server (donde tenemos que ir contestando innumerables preguntas para recompilar los módulos para el nuevo kernel), recompilar el módulo para Virtualbox (vboxdrv) es una tarea muy sencilla. Simplemente debes iniciar sesión como usuario root en una terminal (Konsole) y ejecutar el comando siguiente:

$ su -
password:

# /etc/init.d/vboxdrv setup
Stopping VirtualBox kernel module: vboxdrv.
Recompiling VirtualBox kernel module: vboxdrv.
Starting VirtualBox kernel module: vboxdrv.

Ya puedes iniciar Virtualbox.


NOTA:
Para instalar ésta nueva versión del kernel (2.6.18-6-686) y recompilar los módulos nvidia, fglrx, ó ipw3945, puedes seguir ésta serie de guías que publiqué en septiembre:

1. Instalar nuevo kernel
2. Recompilar módulo "nvidia"
3a. Recompilar módulo ATI "fglrx" - Antigua Versión
3b. Recompilar módulo ATI "fglrx" - Nueva versión con soporte AIGLX para instalar BERYL
4. Recompilar módulo "ipw3945" - Tarjeta inalámbrica


Saludos y suerte.
Domi - Gran Canaria (Islas Canarias)

2 de febrero de 2008

Nuevo Driver ATI Oficial + Beryl en Debian Etch

Bueno. Este tema ya lo he tocado anteriormente, pero a raíz de un comentario de "Matías" en la guía de instalación del driver Libre Ati, sobre como poder instalar Beryl sobre ésta gráfica, he vuelto a encender mi PC de sobremesa (el pobre, desde que tengo el portátil se encuentra aburrido :D ), el cual tiene una Ati Radeon 9800 Pro 128 Mb, y he instalado el nuevo driver oficial, el cual desde hace ya un tiempo soporta AIGLX, razón por la que antes no era posible utilizar Beryl en Debian Etch con el driver oficial.
Los pasos que he seguido son los siguientes:


1. Accedemos a la web oficial y nos descargamos el driver apropiado a nuestra gráfica:
http://ati.amd.com/support/driver.html

Puedes consular el listado de gráficas soportadas por el nuevo driver en el siguiente enlace:
https://a248.e.akamai.net/f/674/9206/0/www2.ati.com/drivers/linux/catalyst_81_linux.html


2. Una vez descargado el archivo (en mi caso he descargado el archivo "ati-driver-installer-8-01-x86.x86_64.run"), nos logueamos en una terminal (KONSOLE) como usuario root, movemos el archivo al directorio de root.
$ su -
password:

# mv /home/nombre_de_tu_usuario/Desktop/ati-driver-installer-8-01-x86.x86_64.run /root


3. En éste PC como tenía instalado el driver oficial anterior, he procedido a desinstalarlo. Lo conveniente sería cerrar la sesión de KDE actual y desde una consola (CTRL + ALT + F1) loguearnos como root y proceder a la desinstalación, pero yo lo he realizado desde una terminal (KONSOLE) con la sesión en marcha y no me ha surgido ningún problema, pero recuerda que lo conveniente es lo 1º.

# aptitude purge fglrx-driver fglrx-kernel-src fglrx-control
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias... Hecho
Leyendo la información de estado extendido
Inicializando el estado de los paquetes... Hecho
Leyendo las descripciones de las tareas... Hecho
Construir la base de datos de etiquetas... Hecho
Los siguientes paquetes están ROTOS:
fglrx-kernel-2.6.18-4-686 fglrx-kernel-2.6.18-5-686
Los siguientes paquetes no se usan y se ELIMINARÁN:
kernel-package
Se han retenido los siguientes paquetes:
linux-image-2.6-686
Se ELIMINARÁN los siguientes paquetes:
fglrx-control{p} fglrx-driver{p} fglrx-kernel-src{p}
0 paquetes actualizados, 0 nuevos instalados, 4 para eliminar y 1 sin actualizar.
Necesito descargar 0B de ficheros. Después de desempaquetar se liberarán 26,7MB.
No se satisfacen las dependencias de los siguientes paquetes:
fglrx-kernel-2.6.18-5-686: Depende: fglrx-driver (= 8.28.8-4) pero no es instalable
fglrx-kernel-2.6.18-4-686: Depende: fglrx-driver (= 8.28.8-4) pero no es instalable
Resolving dependencies...
Las acciones siguientes resolverán estas dependencias

Eliminar los paquetes siguientes:
fglrx-kernel-2.6.18-4-686
fglrx-kernel-2.6.18-5-686

La puntuación es -648

¿Acepta esta solución? [Y/n/q/?] y
Los siguientes paquetes no se usan y se ELIMINARÁN:
kernel-package
Se ELIMINARÁN automáticamente los siguientes paquetes:
fglrx-kernel-2.6.18-4-686 fglrx-kernel-2.6.18-5-686
Se han retenido los siguientes paquetes:
linux-image-2.6-686
Se ELIMINARÁN los siguientes paquetes:
fglrx-control{p} fglrx-driver{p} fglrx-kernel-2.6.18-4-686 fglrx-kernel-2.6.18-5-686 fglrx-kernel-src{p}
0 paquetes actualizados, 0 nuevos instalados, 6 para eliminar y 1 sin actualizar.
Necesito descargar 0B de ficheros. Después de desempaquetar se liberarán 27,8MB.
¿Quiere continuar? [Y/n/?] y
Escribiendo información de estado extendido... Hecho
(Leyendo la base de datos ...
122101 ficheros y directorios instalados actualmente.)
Desinstalando fglrx-control ...
(Leyendo la base de datos ...
122092 ficheros y directorios instalados actualmente.)
Desinstalando fglrx-kernel-2.6.18-4-686 ...
Desinstalando fglrx-kernel-2.6.18-5-686 ...
(Leyendo la base de datos ...
122084 ficheros y directorios instalados actualmente.)
Desinstalando fglrx-driver ...
Stopping atieventsd: done.
Eliminando `diversion of /usr/lib/libGL.so.1 to /usr/lib/fglrx/diversions/libGL.so.1 by fglrx-driver'
Eliminando `diversion of /usr/lib/libGL.so.1.2 to /usr/lib/fglrx/diversions/libGL.so.1.2 by fglrx-driver'
Purgando ficheros de configuración de fglrx-driver ...
Desinstalando fglrx-kernel-src ...
(Leyendo la base de datos ...
121973 ficheros y directorios instalados actualmente.)
Desinstalando kernel-package ...


4. Una vez desinstalado, preparamos el driver oficial para ser instalado en Debian ETCH, ejecutando el siguiente comando:

Antes de nada, debemos tener éstos paquetes en el sistema. De lo contrario, la construcción del paquete de instalación para Debian Etch fallará.
# aptitude install dpkg-dev debhelper module-assistant

# sh ati-driver-installer-8-01-x86.x86_64.run --buildpkg Debian/etch
Created directory fglrx-install.F12221
Verifying archive integrity... All good.
Uncompressing ATI Proprietary Linux Driver-8.452.1.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
==================================================
ATI Technologies Linux Driver Installer/Packager
==================================================
Generating package: Debian/etch
Package /root/fglrx-driver_8.452.1-1_i386.deb has been successfully generated
Package /root/fglrx-driver-dev_8.452.1-1_i386.deb has been successfully generated
Package /root/fglrx-kernel-src_8.452.1-1_i386.deb has been successfully generated
Package /root/fglrx-amdcccle_8.452.1-1_i386.deb has been successfully generated
Removing temporary directory: fglrx-install.F12221

Como puedes ver, nos ha generado 4 paquetes .deb listos para ser instalados en el sistema y otro archivo con los cambios en el driver.
# ll fglrx-*
-rw-r--r-- 1 root root 5377630 2008-01-31 22:58 fglrx-amdcccle_8.452.1-1_i386.deb
-rw-r--r-- 1 root root 7367324 2008-01-31 22:58 fglrx-driver_8.452.1-1_i386.deb
-rw-r--r-- 1 root root 40168 2008-01-31 22:58 fglrx-driver-dev_8.452.1-1_i386.deb
-rw-r--r-- 1 root root 1080628 2008-01-31 22:58 fglrx-kernel-src_8.452.1-1_i386.deb
-rw-rw-r-- 1 root root 1123 2008-01-31 22:58 fglrx-installer_8.452.1-1_i386.changes

El fichero que nos ha generado con las novedades del nuevo driver, lo renombramos por ejemplo así:
# mv fglrx-installer_8.452.1-1_i386.changes txt-fglrx-installer_8.452.1-1_i386.changes


5. Instalamos los paquetes generados anteriormente y compilamos el driver para la versión del kernel que estamos usando:
# dpkg -i fglrx-*
Seleccionando el paquete fglrx-amdcccle previamente no seleccionado.
(Leyendo la base de datos ...
121740 ficheros y directorios instalados actualmente.)
Desempaquetando fglrx-amdcccle (de fglrx-amdcccle_8.452.1-1_i386.deb) ...
Seleccionando el paquete fglrx-driver previamente no seleccionado.
Desempaquetando fglrx-driver (de fglrx-driver_8.452.1-1_i386.deb) ...
Añadiendo `diversion of /usr/lib/libGL.so.1.2 to /usr/lib/fglrx/diversions/libGL.so.1.2 by fglrx-driver'
Añadiendo `diversion of /usr/lib/libGL.so.1 to /usr/lib/fglrx/diversions/libGL.so.1 by fglrx-driver'
Seleccionando el paquete fglrx-driver-dev previamente no seleccionado.
Desempaquetando fglrx-driver-dev (de fglrx-driver-dev_8.452.1-1_i386.deb) ...
Seleccionando el paquete fglrx-kernel-src previamente no seleccionado.
Desempaquetando fglrx-kernel-src (de fglrx-kernel-src_8.452.1-1_i386.deb) ...
Configurando fglrx-amdcccle (8.452.1-1) ...

Configurando fglrx-driver (8.452.1-1) ...
Starting atieventsd: done.

Configurando fglrx-driver-dev (8.452.1-1) ...
Configurando fglrx-kernel-src (8.452.1-1) ...

# cd /usr/src

# module-assistant prepare

# module-assistant build fglrx
Extracting the package tarball, /usr/src/fglrx.tar.bz2, please wait...
Done with /usr/src/fglrx-kernel-2.6.18-5-686_8.452.1-1+2.6.18.dfsg.1-17_i386.deb .

Puedes ver el contenido del nuevo paquete generado, en el cual se puede ver el módulo que tenemos que cargar:
# dpkg -c fglrx-kernel-2.6.18-5-686_8.452.1-1+2.6.18.dfsg.1-17_i386.deb
drwxr-xr-x root/root 0 2008-01-31 23:09 ./
drwxr-xr-x root/root 0 2008-01-31 23:09 ./lib/
drwxr-xr-x root/root 0 2008-01-31 23:09 ./lib/modules/
drwxr-xr-x root/root 0 2008-01-31 23:09 ./lib/modules/2.6.18-5-686/
drwxr-xr-x root/root 0 2008-01-31 23:09 ./lib/modules/2.6.18-5-686/misc/
-rw-r--r-- root/root 1774581 2008-01-31 23:09 ./lib/modules/2.6.18-5-686/misc/fglrx.ko
drwxr-xr-x root/root 0 2008-01-31 23:09 ./usr/
drwxr-xr-x root/root 0 2008-01-31 23:09 ./usr/share/
drwxr-xr-x root/root 0 2008-01-31 23:09 ./usr/share/doc/
drwxr-xr-x root/root 0 2008-01-31 23:09 ./usr/share/doc/fglrx-kernel-2.6.18-5-686/
-rw-r--r-- root/root 10711 2008-01-31 22:58 ./usr/share/doc/fglrx-kernel-2.6.18-5-686/copyright


6. Finalmente, instalamos el módulo en nuestro kernel y preparamos el fichero /etc/X11/xorg.conf para utilizar el nuevo driver:
# module-assistant install fglrx
Seleccionando el paquete fglrx-kernel-2.6.18-5-686 previamente no seleccionado.
(Leyendo la base de datos ...
121875 ficheros y directorios instalados actualmente.)
Desempaquetando fglrx-kernel-2.6.18-5-686 (de .../fglrx-kernel-2.6.18-5-686_8.452.1-1+2.6.18.dfsg.1-17_i386.deb) ...
Configurando fglrx-kernel-2.6.18-5-686 (8.452.1-1+2.6.18.dfsg.1-17) ...

# aticonfig - -initial (son 2 guiones juntos)
Uninitialised file found, configuring.
Using /etc/X11/xorg.conf
Saved back-up to /etc/X11/xorg.conf.original-0

# aticonfig –overlay-type=Xv (son 2 guiones juntos)
Warning: Option 'VideoOverlay' doesn't affect running session.
Warning: Option 'OpenGLOverlay' doesn't affect running session.
Using /etc/X11/xorg.conf
Saved back-up to /etc/X11/xorg.conf.fglrx-0


7. Cierra la sesión y reinicia el servidor X. (Si tienes dudas de como hacer ésto, puedes ver el post anterior de configuración de la gráfica ATI o simplemente reinicia el equipo). Al reiniciar, inicia sesión con tu usuario, abre una terminal (KONSOLE) y comprueba que tienes aceleración ejecutando el famoso comando:

$ glxinfo | grep direct
direct rendering: Yes

Para que el comando anterior funcione, necesitas tener instalado en el sistema el paquete "mesa-utils". Si no te funciona, probablemente no lo tienes instalados. Ejecuta el siguiente comando para instalarlo:
# aptitude install mesa-utils


8. Una vez llegado aquí y si no ha habido ningún error, solo te queda instalar Beryl. Para ello sigue la guía que publiqué hace unos meses.
http://debiantotal.blogspot.com/2007/04/instalar-beryl-en-debian-etch.html


Saludos y suerte.
Domi - Gran Canaria (Islas Canarias)