As far as I know there are 6 ways to change resolution:
1. At compile time: change the line
in
SVGA_MODE= -DSVGA_MODE=NORMAL_VGA
/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.