The KGI Project
Introduction
KGI, or Kernel Graphics Interface, provides a framework that allows full 3D
accellerated video card drivers to compile on different platforms without any
modification to the drivers themselves. At the moment of writing, the Linux
target is rather stable, and the core is being ported to FreeBSD
,
OpenBSD
and The Hurd
.
The basic driver functionality (i.e modesetting) is done in kernel space,
which opens the world of graphic modes to the consoles. Together with the
user space library GGI
, KGI aims at providing full featured 3D accelleration
to the console without the need for additional drivers. KGI will only handle
the bare minimum needed for safe accelleration and mode switching, GGI all
that can be done in user space without loosing stability and security.
KGI comes with drivers for the ATI Radeon and Matrox Gx00 series. The S3 ViRGE driver needs a rewrite or major cleanup. There is a VGA driver for legacy usage. The driver for NVidia TNT2-chipset based boards need to be updated to the new pointer API. For other drivers we need some help, so please join us !
KGI also provides a very flexible console switching system, that allows you to map any input to any virtual console on any display. Multiple display support has been one of the core design items from the beginning, and can easily be achieved.
More...
One of the most asked questions is whether KGI is a replacement for X(Free86). The answer to that is: Yes and no. What users see as "X" is in fact a combination of a videocard driver and a windowing interface/infrastructure. KGI can only replace the driver. The windowing part must be handled by software like XGGI. This way, X becomes just an application on top of KGI, just like any other graphical application is.
KGI is much more than a replacement of the X-driver. Applications can run in graphics mode, full screen, without a heavy window manager in the background. They just run on the console.