|
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 and OpenBSD.
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.
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. |
|