Haciendo funcionar la SiS530 con el XFree
Hola:
No recuerdo quien preguntó sobre la tarjeta mencionada, pero aquí
también tenía problemas con ella y por fin, aunque supongo no es la
mejor manera de hacerlo, así lo hize:
El problema
-----------
Estuve sufriendo un buen rato con la configuración del X en la máquina
nueva que uso en el trabajo. Tiene procesador K6-2 3DNow, con un
motherboard de los nuevos que tienen todo integrado. El mio, si mi
entendimiento no me falla, tiene el chipset SiS530 para la susodicha
integración, el cual tiene el chip de video SiS5595. Leyendo los
correos que me llegaban de las listas, particularmente de la de
debian-user-spanish, escuche que el debian 2.1 trae el XFree86
v. 3.3.2.3a, y que el soporte para los SiS estaba mejor en el 3.3.3.1,
que la forma más fácil de hacer funcionar la tarjeta era bajar
solamente el server SVGA de la nueva versión y remplazar con este el
que instala Debian, ya que son compatibles a nivel binario (es decir,
entre las v. 3.3.2 y 3.3.3).
Después de batallar un buen rato (equivalente al tiempo libre que he
tenido en 2 semanas), lo máximo que logre hacer fué que se pusiera en
modo gráfico, pero siempre se veía la imagen como con fantasma. Le
heche la culpa a que el chip SiS5595 no esta directamente soportado
(hay 5597, 5598, 6326, y otros), y no funcionó bien con ninguno.
La Solución
-----------
Ayer, compré el Linux Journal de este mes (abril 1999), y en el mismo
viene un artículo sobre las nuevas características de frame-buffer
para manejar el video, que se incluyen en el kernel de linux a partir
de la versión 2.2.x (no se desde que versión en los 2.1.x). Así que
decidí probarlo... ¡y funcionó!
La cosa es tan sencilla como leer los documentos que vienen con el
kernel en el directorio Documentation/fb/ y recompilar el kernel con
esta información en mente. Es importante notar que para que se muestre
la opción del frame-buffer durante la configuración del kernel, hay
que habilitar las preguntas por módulos incompletos ó experimentales.
Una vez que configuré, recompilé é instalé el nuevo kernel (desde su
paquete .deb creado con el kernel-package), en el lilo.conf, modifique
la sección que carga mi kernel por default y quedó como sigue:
image=/vmlinuz
root=/dev/hda3
label=linux
vga=0x317
# append="video=vesa:ywrap"
read-only
Es decir, solo agregué vga=0x317, que es la forma de poner la
resolución de la pantalla en 1024x768x16bits de color, esto hace que
la pantalla se ponga en modo gráfico, para las consolas virtuales de
Linux, a la resolución dada. Los parámetros para que esta opción nos
dé otro modo de video estan en el archivo Documentation/fb/vesafb.txt
y, como esta documentado, no se muestran si se pone vga=ask pero
pueden ponerse así para cambiar el número de bits de color que se
quiera tener.
La línea comentada, al agregarse, permite que funcioné el Shift-PgUp y
Shift-PgDn para hacer scroll en las terminales virtuales de modo
"texto" (que ya no son 100% solo texto), sin embargo, tiene el efecto
secundario de hacer que la resolución gráfica en Y (yé) cambié, es
decir, se agranda, entonces el X queda como con resolución virtual y
eso no me gustó.
Bueno, una vez que corrí lilo para grabar las modificaciones, reinicié
la máquina y... he aquí... lo mas cool... te pone un Pingüinito en la
esquina superior derecha de la pantalla mientras se carga el
kernel. ¡Lo que todo linuxuario siempre a querido! :)
NOTA IMPORTANTE: La tarjeta de video debe ser compatible con la
versión 2.0 del estandar VESA, como dice la documentación del kernel
mencionada.
Bueno, una vez que se inicia la máquina y el kernel quedo bien
configurado con el nuevo modo de video, empezamos con la parte de la
configurada del X.
Con Debian 2.1, tuve que bajar el servidor X para frame-buffers, que
está en el archivo XFB.tgz del sitio del XFree86, desempaque el
archivo XF86_FBDev y lo copié a /usr/X11R6/bin/ y edité
/etc/X11/Xserver para cambiar la primera línea para que apuntará a
él, es decir, quedó:
/usr/X11R6/bin/XF86_FBDev
Console
The first line in this file is the full pathname of the default X server.
The second line shows who is allowed to run the X server:
RootOnly
Console (anyone whose controlling tty is on the console)
Anybody
Estos ultimos pasos, creo que son específicos de Debian porque, según
dice el artículo, el RedHat ya incluye dicho servidor en la
distribución.
Luego modifiqué el /etc/X11/XF86Config para añadir la siguiente
sección:
Section "Screen"
Driver "fbdev"
Device "My Video Card"
Monitor "My Monitor"
Subsection "Display"
Depth 16
Modes "default"
Option "noaccel"
EndSubsection
# Subsection "Display"
# Depth 8
# Modes "default"
# Option "noaccel"
# EndSubsection
EndSection
Esta describe que si se carga el servidor X para frame-buffers, el
modo de video se queda como está. Aquí descubrí un efecto lateral: si
se inicia X con startx, se pueden quedar las 2 subsecciones de
"display" y darle:
startx -- -bpp 8
ó
startx -- -bpp 16
Para iniciar X, según el modo de video con que se halla iniciado.
Sin embargo, con el xdm, se tiene que dejar solo la subsección display
del modo de video que se va a usar siempre. Es decir, con startx sólo
hay que reiniciar la máquina y seleccionar otro modo de video (con la
opción vga=0xNNN), para poder pasar de una profundidad de color a la
otra, pero con xdm (por el momento), es un poco más rígido y se
tendría que modificar el archivo de configuración para hacerlo.
Conclusión
----------
Me atreví a mandar un correo así de largo a las listas, porque esta
opción para dar de alta el X es lo suficientemente general para que le
sea útil a otras personas, es decir, creo que hoy en día hay muchas
tarjetas SVGA compatibles con la especificación VESA 2.0 que no estan
soportadas directamente por el XFree86, y con las instrucciónes arriba
mencionadas, podrían funcionar mientras que los gurus les hacen un
controlador "acelerado".
Además, por el momento y en muy poco tiempo de estarlo usando, no he
notado mucha diferencia en la velocidad de despliegue usando el X así,
á cuando lo usaba con una máquina que tenía una S3 Trio64+, para la
cual, se supone que el servidor X para la S3 tiene opciones de
aceleración. Sin embargo, creo importante mencionar que no uso
programas que utilicen muchos gráficos.
Lo anterior lo hize en una máquina con:
Debian GNU/Linux 2.1
XFree86 3.3.2.3a
Kernel v. 2.2.1
Tarjeta de video SiS530 (ó SiS5595, todavía no lo tengo muy claro)
Monitor AcerView 34T UVGA
Y el servidor X para frame-buffers de la versión 3.3.3.1 del XFree86
Saludos
Roberto Ruiz
--
LINUX: the FREE 32 bit OS for [3456]86 PC's available NOW!
Reply to: