How To Get a Console at your screen's Native Resolution

The Eees' LCDs have native resolutions of 1024x600 or 800x480 pixels, and X will run at that resolution by default. But the consoles (i.e. what you get when you press Ctrl+Alt+F1..F6) don't, and making them do so is quite involved. This page explains how to do it.

There are a few reasons why this is complicated:

It's possible that some of these reasons may go away in the future; in particular, patches have already been submitted for the last two. So you might like to check on the current status, and please update this page if necessary.

Setting the mode from the bootloader

One approach is to set up the screen mode before the kernel starts. To do this you need to patch your bootloader. This seemed too complicated to me, but if you want to try it it's described in the section "Text Mode" on page DebianEeePC/TipsAndTricks. If you have a '901, or other newer model with the 945GME graphics chip, you'll probably need to incorporate the changes for that chip described below into the 915 patch that you apply to grub.

An advantage of this method is that you should be able to run the kernel's intelfb framebuffer driver, which has graphics acceleration. This is particularly important if you're going to run things like DirectFB applications. However, at present the intelfb driver doesn't know about the 945GME chip; a patch to add support can be found here: http://lkml.org/lkml/2008/8/29/171

Using uvesafb and 915resolution

I believe that this method is simpler than the above as it doesn't require that you change your bootloader. It uses the kernel's uvesafb framebuffer driver and a utility called 915resolution. uvesafb lets you change the screen mode at any time you want, and gets its information about available modes from the BIOS; 915resolution modifies the in-RAM copy of the BIOS (not the ROM) to add new modes. Proceed as follows:

mode "1024x600-60"
    geometry 1024 600 1024 600 8
    timings 20461 144 40 18 1 104 3
endmode

Using uvesafb on 701

I was able to just install the v86d package and add

uvesafb mode=800x480-32

to the end of /etc/modules, and reboot to get the new resolution.