Alta resolución en la consola de FreeBSD

Una de las cosas que no me gustaba de FreeBSD cuando empezé es que por defecto usa una consola típica de 80 columnas x 25 líneas. En Linux esto depende del bootloader (GRUB o LILO), que es donde se define la resolución de pantalla y la profundidad de color que usará el sistema corriendo en modo texto. Volviendo a FreeBSD, lo que no sabía yo es que esto podía cambiarse fácilmente, para eso usaremos vidcontrol.

Vidcontrol es el comando que comunica con syscons (el driver que proporciona las terminales virtuales) y especifica modos de video y color.

Para empezar, vemos cuáles son los modos disponibles con el siguiendo comando:

# vidcontrol -i mode

En este momento nos cagamos en los desarrolladores de FreeBSD y en sus respectivas famílias. Vemos que, si los modos son esto que vemos, empezamos mal. Efectivamente, estamos empezando por el final casi, lo primero que tenemos que hacer es añadir ciertas opciones al Kernel. Añadimos lo siguiente a nuestro fichero de configuración del Kernel.

options VESA # Añadimos el módulo VESA al kernel

options SC_PIXEL_MODE # Syscons actuando en modo píxel

Si no sabes compilar un nuevo kernel no te preocupes, el otro dia expliqué cómo hacerlo. Ahora podemos volver a vidcontrol:

# vidcontrol -i mode

Vemos que la lista es ahora considerable. Escojemos un modo que sea de nuestro gusto y lo probamos, en mi caso uso el 279, que viene a ser 1024×768 con 16 bits de color. Lo probamos:

# vidcontrol MODE_279

Si esto no funciona (o no nos gusta el resultado) seguimos probando modos hasta tropezar con lo que queremos. Por ejemplo, si tenéis activado el mouse en consola, veréis que en algunos modos concretos no os funciona, no tengo ni idea del porqué pero supongo que habrá una buena explicación. Por último sólo falta añadirlo a /etc/rc.conf (configuración general del sistema) para que el modo se aplique al inicio.

allscreens_flags="MODE_279"

Reiniciemos y seamos felices.

One thought on “Alta resolución en la consola de FreeBSD

Comments are closed.