As far as I know there are 6 ways to change resolution:
1. At compile time: change the line
SVGA_MODE= -DSVGA_MODE=NORMAL_VGA
in /usr/src/linux/Makefile
.
1A. After compilation: use rdev -v
- a terrible hack, but it exists.
2. At boot time: put vga=ask
in the lilo config file, and lilo will
ask you what video mode you want. Once you know, put vga=
mypreference.
3. At run time:
A. Use the resizecons
command. (This is a very primitive wrapper around
the VT_RESIZE ioctl.)
B. Use the SVGATextMode
command. (This is a less primitive wrapper around
the VT_RESIZE ioctl.)
4. Not "on the console":
Under dosemu
, or with svgalib etc. you can change the hardware video mode
without the console driver being aware of it. Sometimes this is useful in
getting resizecons
or SVGATextMode
set up: use dosemu
and some
DOS program to get into the desired videomode, dump (say from another VT) the
contents of all video hardware registers, and use that in the initialization that
resizecons
and SVGATextMode
require.
In some cases where the video mode has gotten into some unusable state,
starting dosemu
, relying on the BIOS to set up the video mode, and then
killing dosemu
(with kill -9
), is the easiest way to get into shape again.
Get svgalib and compile the program restoretextmode
.
Boot up your machine in all possible video modes
(using vga=ask
in the lilo config file), and write
the video hardware register contents to files CxR
(C=cols, R=rows), e.g., 80x25, 132x44, etc.
Put these files in /usr/lib/kbd/videomodes
.
Now resizecons 132x44
will change videomode for you
(and send SIGWINCH to all processes that need to know
about this, and load another font if necessary).
At present, resizecons
only succeeds when there is memory enough
for both the old and the new consoles at the same time.