pavement

High Resolution Console

From FreeBSDwiki
Revision as of 11:20, 15 December 2005 by Quiet (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

If you come to FreeBSD after using Linux, one of the first things you may notice is the lack of high-resolution consoles. The default is 640x480. Although high-resolution is desirable to many, it's certainly not required. If you want to have a 1024x768(or even higher) console resolution, it's fairly easy to set up, just requires a kernel recompile and setting the mode you want to use in the /etc/rc.conf file.

First off, we need to edit the kernel config to add two options. I won't go into too much depth here, as this article isn't about how to config your kernel. For my example I will use the 'GENERIC' kernel config.

cd /usr/src/sys/i386/conf
cp GENERIC VESAKERN
vi VESAKERN

add the following lines:

options      VESA            # Build VESA module into kernel
options      SC_PIXEL_MODE   # Allows syscons to act on pixels rather than text

Save & exit

cd /usr/src
make buildkernel KERNCONF=VESAKERN
make installkernel KERNCONF=VESAKERN

When that is done, reboot to use the new kernel. Upon reboot, you will notice no change initially. Log in as root and enter:

vidcontrol -i mode

You should see a long listof all available resolutions, possibly all the way up to 1600x1200. Personally, 1024x768 console is plenty big, or small, depending on how you think about it. On my system the mode number for 1024x768x24 is 280. To test the desired mode, use the following command:

vidcontrol MODE_280

Your console should jump to that. If it works, great. If the screen goes blank, your card/monitor can't support that, and you need to use something else. You may need to switch to different terminal to try one that works. Once you find a setting that you like, we can add it to /etc/rc.conf.

allscreens_flags="MODE_280"

This will tell all terminal screens to use the desired resolution. Go ahead and reboot to try it. You will not see the large screen resolution until rc.conf is processed. This is different to Linux where the bootloader passes the resolution providing for a full boot-sequence in high-resolution. On my system, it jumps to high-resolution just before loading the Linux ABI support.

Personal tools