v1.1-Bakalaty con Tomaty, 1 de Noviembre de 2002.
Probado con kernel-2.4.18, RedHat 7.3
Este COMO es el resultado de la fusión de algunas partes (que resultaron de mi interés) de los siguientes documentos:
– Artículo publicado en la Revista Linux Actual Nº 8 (Año 1) Pag. 16 – 18 y que firma Juan Antonio Martínez jantonio@dit.upm.es.
– frame-buffer: micro-COMO de GarZa, garzalin@worldonline.es de 8 de Septiembre de 1999.
Índice General
1. ¿De qué estamos hablando?…
2. Configurando el núcleo (2.2.X)
3. Dispositivos especiales y lilo
4. Tabla de valores para los distintos tipos resolución y profundidad del color
5. Configuración de XFree86
1. ¿De qué estamos hablando? (Volver al índice General)
Configuración del Kernel para activar el Frame Buffer Console (Consola en modo gráfico).
Esta opción posibilita:
- Poner logos en el arranque.
- Mezclar de modo sencillo texto y gráficos sobre la pantalla.
- No necesitar el entorno X-Window, ni la SVGALib, para poder trabajar con gráficos.
- Uniformidad entre las diversas arquitecturas Linux.
- Un dispositivo y un API unificado de acceso a la consola transparente e independiente de la arquitectura.
El Frame Buffer sporta las siguientes tarjetas de PC:
- La familia Matrox.
- Las basadas en el chipset ATI Mach64.
- Las tarjetas Permedia.
- Todas aquellas tarjetas cuya BIOS admita la extensión VESA 2.0 o superior.
Este último detalle es el que otorga la mayor utilidad al Frame Buffer. Si no disponemos de un servidor X específico, pero nuestra tarjeta soporta la extensión VESA 2.0, disponemos de un servidor X universal que funciona a través del Frame Buffer denominado XF86_FBDev. Este no accede al hardware de la tarjeta, sino al dispositivo /dev/fb0
. "No se dará más la frase mi tarjeta no está soportada en X-Window"
2. Configurando el núcleo (2.2.X) (Volver al índice General)
En este punto solo se indica que opciones del Kernel son necesarias para activar el Frame Buffer Console. La compilación o recompilación e instalación del kernel queda fuera de este artículo.
En el apartado Console drivers habilitar las siguientes opciones:
* VGA Text Console
* Video mode selection support
* Support for frame buffer devices (EXPERIMENTAL)
* VESA VGA Graphic console
* Advances low level driver options
* Monochrome support
* 8 bpp packed pixels support
* 16 bpp packed pixels support
* 24 bpp packed pixels support
* 32 bpp packed pixels support
* VGA characters/attributes support
CONFIG_VGA_CONSOLE=y
CONFIG_VIDEO_SELECT=y
CONFIG_MDA_CONSOLE=m
CONFIG_FB=y
CONFIG_DUMMY_CONSOLE=y
# CONFIG_FB_PM2 is not set
CONFIG_FB_VESA=y
CONFIG_VIDEO_SELECT=y
CONFIG_FBCON_CFB8=y
CONFIG_FBCON_CFB16=y
CONFIG_FBCON_CFB24=y
CONFIG_FBCON_CFB32=y
# CONFIG_FBCON_FONTWIDTH8_ONLY is not set
# CONFIG_FBCON_FONTS is not set
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
# CONFIG_FB_VIRTUAL is not set
# CONFIG_FBCON_ADVANCED is not set
Además si nuestra tarjeta viene incluida en la lista de las tarjetas soportadas, habilitaremos también la opción correspondiente a dicha tarjeta.
CONFIG_FB_MATROX=m
CONFIG_FB_MATROX_MILLENIUM=y
CONFIG_FB_MATROX_MYSTIQUE=y
CONFIG_FB_MATROX_G100=y
CONFIG_FB_MATROX_MULTIHEAD=y
# CONFIG_FB_ATY is not set
3. Dispositivos especiales y lilo. (Volver al índice General)
Una vez compilado e instalado el kernel hay que preparar el sistema siguiendo los siguientes pasos:
- Creamos, si no lo están, los dispositivos especiales
/dev/fbX
dondeX
vale0,1,2, etc
. en función del número de tarjetas que tengamos. De no existir dichos dispositivos los crearemos ejecutando el comando:# mknod /dev/fbX c 29 Y
Donde
X=0,1,2,...
eY=32*X
, es decirY=0,32,64,...
A continuación creamos un enlace simbólico. El enlace simbólico se mantiene por razones históricas de comatibilidad con arquitecturas distintas al PC.# ln -s /dev/fb0current /dev/fb0
- Cofigurar el arranque para la selección de la consola en modo gráfico editando el fichero
/etc/lilo.conf
y añadiendo la línea:vga=0x314
o tambien…
vga=788
Esto hace que la consola arranque a 800×600 pixels con 16 bits de profundidad (65.536 colores).
Para que surtan efecto los cambios realizados en/etc/lilo.conf
, ejecutamos el comando:# /sbin/lilo
y reiniciamos Linux. Si todo ha ido bién, veremos un lindo pingüino en nuestra pantalla mientras arranca el sistema, así como una pantalla en modo gráfico.
4. Tabla de valores para los distintos tipos de resolución y profundidad del color. (Volver al índice General)
Las dos tablas siguientes nos ayudarán a configurar el arranque para la selección de la consola en modo gráfico.
Resoluciones Colores 640x480 800x600 1024x768 1280x1024 --------------------------------------------- 256 0x101 0x103 0x105 0x107 32k 0x110 0x113 0x116 0x119 64k 0x111 0x114 0x117 0x11A 16M 0x112 0x115 0x118 0x11B
A todos estos modos hay que sumarle 0x200.
Así pues, el modo 800×600 a 16bits (64k) utilizado en ejemplo anterior le corresponde el valor de 0x114 + 0x200 = 0x314
.
…otra forma de pasar el parámtero vga:
Resoluciones Colores 800x600 1024x768 1280x1024 --------------------------------------------- 32K 787 790 793 64K 788 791 794 16M 789 792 795
5. Configuración de XFree86. (Volver al índice General)
El servidor X para frame buffer es el XF86_FBDev. Este en lugar de acceder directamente al hardware, utiliza el dispositivo de salida /dev/fbX
. Se necesita también instalar el paquete fbset. La configuración de XFree86 se realiza mediante el fichero /etc/X11/XF86Config
, si no existe el fichero, ejecuta el siguiente comando:
# /usr/X11R6/bin/xf86config |
El comando siguiente nos dará la información necesaria para configurar XFree86:
# fbset -x |
Devuelve algo parecido a:
Mode "name" # D: 48.001 MHz, H: 46.876 kHz, V: 75.121 Hz DotClock 48.002 HTimings 800 832 928 1024 VTimings 600 604 608 624 Flags "-HSync" "-VSync" EndMode
Estos son los valores con los que hay que configurar XFree86.
Editar el fichero /etc/X11/XF86Config
y en la seccion Monitor Section comprobar que los valores de HorizSync y VertRefresh son correctos.
En nuestro ejemplo:
HorizSync 46.88 VertRefresh 75.12
Borrar todas las lineas que empizan con Modeline y añadir un Modeline con los datos suministrados por fbset. En nuestro ejemplo:
# Modes: Name dotclock horiz vert Modeline "800x600" 48.002 800 832 928 1024 600 604 608 624 -HSync -VSync
Y en la sección Screen en Subsection Display debe poner Modes «default».
# Servidor SVGA 256 colores Section "Screen" Driver "FBDev" Device "My Video Card" Monitor "My monitor" Subsection "Display" Modes "default" EndSubsection EndSection
Instalar el servidor FBDev y en /etc/X11
crear el enlace simbólico con el comando:
# ln -s /usr/X11R6/bin/XF86_FBDev /etc/X11/X |
Y listo para la prueba definitiva. Para arrancar el entorno gráfico, ejecuta el comando:
# startx |
y si todo ha ido bien a disfrutar de las X’s.
Se pueden hacer más cosas como seleccionar un modo de video para cada terminal virtual. Existe un fichero de configuración llamado /etc/fb.modes
donde se pueden espedificar distintos tipos de modos de video y su geometría.
Configuración de privacidad y de cookies.
Deja una respuesta