Re: fbdev & KGI.

Geert Uytterhoeven (Geert.Uytterhoeven@cs.kuleuven.ac.be)
Mon, 6 Apr 1998 16:24:54 +0200 (CEST)


On Mon, 6 Apr 1998, Phil Brutsche wrote:
> On Mon, 6 Apr 1998, David Woodhouse wrote:
> > I apologise for continuing the GGI thread, but...
> >
> > Could someone (Geert?) outline the main conceptual and actual differences
> > between fbdev and KGI?
> Essentially none. KGI and fbdev both provide frame buffers for user-level

Right.

> apps; the primary difference is kgi uses drivers specific to the video
> chipset while fbdev uses a generic driver that will, for example create a
> 640x480x16color video console on systems that don't have a text mode. The

`fbdev' needs low level chipset drivers too. Those are called `frame buffer
devices'. There is no such thing as a `generic driver'. You may think `VGA is a
generic driver'. Right, but chips without VGA text mode are not VGA compatible
anyway.

> bad thing is that I don't think that fbdev will know how to talk to every
> single video adapter out there without chipset drivers.

Of course `fbdev' can't talk to every single video adapter out there without
chipset drivers! But you do _not_ need a chipset driver for every board to
provide a text console: most (all on PC?) boards are VGA compatible and thus
need the VGA text mode driver only. For graphics, you have X, which knows about
every single video adapter (almost).

Things change if you have a graphics board without text mode (e.g. MediaGX).
Then of course you need a frame buffer device to drive the board. This is also
what happens on Amiga, Atari, Mac, ...

The nice thing is that both frame buffer devices and VGA text console (and
other things) are built on top of what we call the `abstract console driver'.
The console layer then looks like

console.c (abstract console driver version)
|
+--- vgacon: VGA text console driver
|
+--- fbcon: frame buffer device console driver (text emulation on graphics)
| |
| +--- amifb (frame buffer devices)
| +--- atafb
| +--- macfb
| +--- tgafb
| |
| ...
|
+--- gspcon: TMS 340x0 Graphics Signal Processor driver
|
...

Note that I put vgacon first, to indicate that there will be more machines
using vgacon than fbcon, because Linux/ia32 has the largest installed base of
machines, and 99.99% of all PC have VGA compatible video hardware.

Greetings,

Geert

--
Geert Uytterhoeven                     Geert.Uytterhoeven@cs.kuleuven.ac.be
Wavelets, Linux/{m68k~Amiga,PPC~CHRP}  http://www.cs.kuleuven.ac.be/~geert/
Department of Computer Science -- Katholieke Universiteit Leuven -- Belgium

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu