IT lexicon › Infra & Ops › SVGAlib

SVGAlib

Infra & Ops På svenska → Updated: 2026-10-10
More info
Creator
Tommy Frandsen, Harm Hanemaayer
Released
Type
Graphics library (C)
Website

The Linux library that drew graphics straight onto the VGA card from the text console, with no X in sight, so Doom and Quake could run in 1994 and 1996, at the price of every game being setuid root.

Tommy Frandsen wrote VGAlib in 1993 to get 320×200 graphics on the Linux console; Harm Hanemaayer extended it with SVGA modes and card-specific drivers for Tseng, Cirrus, S3 and Trident and renamed it SVGAlib. The library programmed the card through I/O ports and mapped video memory straight into the process, which requires iopl, in other words root. Programs linked against it were installed setuid, and a crash in graphics mode tended to leave a black screen and a keyboard in raw mode that only a blind reset could cure.

It was nonetheless how Linux got its first real games: the Doom port in 1994 and Quake in 1996 shipped as sdoom and squake on top of SVGAlib, as did the zgv image viewer. Every such program was a potential root hole, and GGI was founded explicitly in protest. The kernel framebuffer device, DirectFB and SDL made the library unnecessary around the turn of the millennium, and development stopped in 2006.

← Back to the lexicon