.. include:: <isonum.txt>
=================================
Video Mode Selection Support 2.13
=================================
:Copyright: |copy| 1995–1999 Martin Mares, mj@ucw.cz
Intro
1 |
|
The ASK_VGA mode causes the kernel to offer a video mode menu upon
bootup. It displays a “Press
to continue or wait 30 secs” message. If you press
menu, if you press
the standard 80x25 mode.
The menu looks like::
Video adapter: <name-of-detected-video-adapter>
Mode: COLSxROWS:
0 0F00 80x25
1 0F01 80x50
2 0F02 80x43
3 0F03 80x26
....
Enter mode number or ``scan``: <flashing-cursor-here>
– it’s either a generic adapter name (MDA, CGA, HGC, EGA, VGA, VESA VGA [a VGA
with VESA-compliant BIOS]) or a chipset name (e.g., Trident). Direct detection
of chipsets is turned off by default as it’s inherently unreliable due to
absolutely insane PC design.
“0 0F00 80x25” means that the first menu item (the menu items are numbered
from “0” to “9” and from “a” to “z”) is a 80x25 mode with ID=0x0f00 (see the
next section for a description of mode IDs).
you wish to set and press
“Unknown mode ID”, it is trying to tell you that it isn’t possible to set such
a mode. It’s also possible to press only
The mode list usually contains a few basic modes and some VESA modes. In
case your chipset has been detected, some chipset-specific modes are shown as
well (some of these might be missing or unusable on your machine as different
BIOSes are often shipped with the same card and the mode numbers depend purely
on the VGA BIOS).
The modes displayed on the menu are partially sorted: The list starts with
the standard modes (80x25 and 80x50) followed by “special” modes (80x28 and
80x43), local modes (if the local modes feature is enabled), VESA modes and
finally SVGA modes for the auto-detected adapter.
If you are not happy with the mode list offered (e.g., if you think your card
is able to do more), you can enter “scan” instead of item number / mode ID. The
program will try to ask the BIOS for all possible video mode numbers and test
what happens then. The screen will be probably flashing wildly for some time and
strange noises will be heard from inside the monitor and so on and then, really
all consistent video modes supported by your BIOS will appear (plus maybe someghost modes
). If you are afraid this could damage your monitor, don’t use
this function.
After scanning, the mode ordering is a bit different: the auto-detected SVGA
modes are not listed at all and the modes revealed by scan
are shown before
all VESA modes.
Mode IDs
1 |
|
Build options for arch/x86/boot/* are selected by the kernel kconfig
utility and the kernel .config file.
VIDEO_GFX_HACK - includes special hack for setting of graphics modes
to be used later by special drivers.
Allows to set any BIOS mode including graphic ones and forcing specific
text screen resolution instead of peeking it from BIOS variables. Don’t use
unless you think you know what you’re doing. To activate this setup, use
mode number 0x0f08 (see the Mode IDs section above).
Still doesn’t work?
1 |
|
=============== ================================================================
1.0 (??-Nov-95) First version supporting all adapters supported by the old
setup.S + Cirrus Logic 54XX. Present in some 1.3.4? kernels
and then removed due to instability on some machines.
2.0 (28-Jan-96) Rewritten from scratch. Cirrus Logic 64XX support added, almost
everything is configurable, the VESA support should be much more
stable, explicit mode numbering allowed, “scan” implemented etc.
2.1 (30-Jan-96) VESA modes moved to 0x200-0x3ff. Mode selection by resolution
supported. Few bugs fixed. VESA modes are listed prior to
modes supplied by SVGA autodetection as they are more reliable.
CLGD autodetect works better. Doesn’t depend on 80x25 being
active when started. Scanning fixed. 80x43 (any VGA) added.
Code cleaned up.
2.2 (01-Feb-96) EGA 80x43 fixed. VESA extended to 0x200-0x4ff (non-standard 02XX
VESA modes work now). Display end bug workaround supported.
Special modes renumbered to allow adding of the “recalculate”
flag, 0xffff and 0xfffe became aliases instead of real IDs.
Screen contents retained during mode changes.
2.3 (15-Mar-96) Changed to work with 1.3.74 kernel.
2.4 (18-Mar-96) Added patches by Hans Lermen fixing a memory overwrite problem
with some boot loaders. Memory management rewritten to reflect
these changes. Unfortunately, screen contents retaining works
only with some loaders now.
Added a Tseng 132x60 mode.
2.5 (19-Mar-96) Fixed a VESA mode scanning bug introduced in 2.4.
2.6 (25-Mar-96) Some VESA BIOS errors not reported – it fixes error reports on
several cards with broken VESA code (e.g., ATI VGA).
2.7 (09-Apr-96) - Accepted all VESA modes in range 0x100 to 0x7ff, because some
cards use very strange mode numbers.
- Added Realtek VGA modes (thanks to Gonzalo Tornaria).
- Hardware testing order slightly changed, tests based on ROM
contents done as first.
- Added support for special Video7 mode switching functions
(thanks to Tom Vander Aa).
- Added 480-scanline modes (especially useful for notebooks,
original version written by hhanemaa@cs.ruu.nl, patched by
Jeff Chua, rewritten by me).
- Screen store/restore fixed.
2.8 (14-Apr-96) - Previous release was not compilable without CONFIG_VIDEO_SVGA.
- Better recognition of text modes during mode scan.
2.9 (12-May-96) - Ignored VESA modes 0x80 - 0xff (more VESA BIOS bugs!)
2.10(11-Nov-96) - The whole thing made optional.
- Added the CONFIG_VIDEO_400_HACK switch.
- Added the CONFIG_VIDEO_GFX_HACK switch.
- Code cleanup.
2.11(03-May-97) - Yet another cleanup, now including also the documentation.
- Direct testing of SVGA adapters turned off by default, scan
offered explicitly on the prompt line.
- Removed the doc section describing adding of new probing
functions as I try to get rid of all hardware probing here.
2.12(25-May-98) Added support for VESA frame buffer graphics.
2.13(14-May-99) Minor documentation fixes.
=============== ================================================================