KGI stands for Kernel Graphics Interface, the kernel side of the General Graphics Interface (GGI).
KGI was initially a Linux project with the goal of being a multi-OS subsystem. GGI was aiming to be the new generation Linux console subsystem alone. As GGI was progressing, it became clear that an explicit separation between kernel and user spaces was necessary. Steffen Seeger was maybe the most convinced of this: he rewrote KGI in 1998/1999 resulting in the version we have today both under Linux and FreeBSD.
http://www.kgi-project.org is the main site of the KGI project.
The KGI project aims at providing the kernel of modern Unixes with general purpose APIs (grouped as KgiAPI) for the implementation of:
high-level graphic clients (KgiDevice)
low-level graphic backends (KgiDisplay)
a graphic driver framework (KGIM)
an input system (KII) with:
- a console (KGC) with:
- text (not yet) and graphic modes
- multi-head (HW multi input and output)
virtual terminals (KgiFocus)
TERM emulation (KgcXterm)
- font support (not yet)