Framebuffer or standard VGA ?

Peter Stuge stuge-linuxbios at
Wed Sep 11 04:02:00 CEST 2002

On Tue, Sep 10, 2002 at 11:22:58PM -0700, Steve M. Gehlbach wrote:
> > > Maybe someone knows if alphanumeric mode setup is via the standard VGA
> > > register set on most modern VGA cards.
> > >
> >
> > I am afraid your are wrong. For modern VGA cards, there is actually no
> > alphanumeric mode. These alphanumeric mode were simulated by BIOS or
> > drivers. The worst thing, if you have no documents about these extended
> > registers, you have no way to drive the clock gen for Dot clock, Hsync,
> > Vsync.
> Are you saying that it is not possible to use a text console with Linux
> (vgacon.c) with modern VGA cards (BIOS mode 3)? Only framebuffer? Or are you
> saying that without extra information (ie, the BIOS or the manuals) you
> can't init it into mode 3?  I don't understand your answer.
> I thought most vga cards were register compatible with the legacy VGA
> register set, only that there were a lot of other (sometimes secret) things
> to setup.  Is this wrong?

That's Ollie's point AFAICS.

> Fortunately regular vga cards are not very important to me, actually, I am
> really most interested in integrated chipsets, such as the stpc and the via
> apollo ple133 northbridge, both of which are legacy VGA register
> compatible.

In this case, when the chips really ARE VGA compatible, of course you can
program the neccessary registers with appropriate values and get the
expected results.  You could try this for all graphics chips, just for fun. 
With a little luck it will work better than we expect.

You will want to dump the VGA registers on a running system, and of course
you're interested in 0x3c0, 0-0x14 at 0x3c0:0x3c0, 0x3c3, 0-4 at 0x3c4:0x3c5,
0x3c6-0x3c9, 0-8 at 0x3ce:0x3cf and 0-0x14 at 0x3d4:0x3d5.

One number above is just the port, a-b at x:y means registers a through b at
port y after index is written to port x.

Good luck with this.  :)


More information about the coreboot mailing list