SVGAlib is an open-source low-level graphics library which ran on Linux and FreeBSD and allowed programs to change video mode and display full-screen graphics, without the use of a windowing system.[3][4] Alongside X11 and the General Graphics Interface, it was one of the earliest libraries allowing graphical video games on Linux.
Original author(s) | Harm Hanemaayer[1] |
---|---|
Developer(s) | Matan Ziv-Av |
Stable release | 1.4.3 / June 2, 2001[2] |
Preview release | 1.9.25[2] |
Written in | C |
Operating system | Linux, FreeBSD |
Platform | x86, x86-64 |
Type | Library |
Website | www |
History
The first version of SVGALib was based on version 1.2 of another library, VGALib by Tommy Frandsen.[5]
Several games like Ambrosia Software's Maelstrom by Sam Lantinga, the first-person games Freaks! and Space Plumber[6] using the QDGDF library,[7][8] and most famously id Software's Doom (alongside an X11 version) and Quake (after the submission of a third-party patch based on leaked source code[9]) were ported to use SVGALib from other operating systems,[10] as was Doom porter Dave Taylor's Abuse.
Wolfenstein 3D was also ported following its source code being released in 1995,[11] as well as the id produced Heretic, Hexen and Hexen II after 1999,[12] and Descent and Descent II by Parallax Software after 1998.[13] Certain source ports for Doom, Quake, and Abuse maintained support for SVGALib.[14] The library is also supported by the MAME/MESS emulator.[15]
First party Linux games that have supported it include Alizarin Tetris,[16] Bdash,[17] Fleuch,[18] Hatman,[19] Intelligent FRAC,[20] Koules,[21] LinCity,[22][23] Linberto,[24] Quadra,[25] Repton,[26] SABRE,[27] Thrust (also supported GGI),[28] Zarch,[29] and Zblast,[30] among others.[31][32][33]
SVGALib was popular in the mid to late 1990s.[34][35] A reference book, Linux Graphics Programming with SVGAlib, was authored by Jay Link in 2000.[36] Around the turn of the millennium, many applications that used it migrated to X11 and SDL,[37] which could (until SDL 2.0) make use of SVGAlib as a video driver.[38][39] This was in part due to the risks of privilege escalation due to SVGAlib requiring applications to run from root.[40][41][42]
References
External links
- SVGAlib
- Development versions (link on the site itself is broken)
- SVGAlib - Universal Videogames List