Framebuffer HOWTO
Alex Buell, [email protected]
v1.2, 27 Feb 2000
This document describes how to use the framebuffer devices in Linux witha variety of platforms. This also includes how to set up multi-headed displays.
1. History
2. Contributors
3. What is a framebuffer device?
4. What advantages does framebuffer devices have?
5. Using framebuffer devices on Intel platforms
* 5.1 What is vesafb?
* 5.2 How do I activate the vesafb drivers?
* 5.3 What VESA modes are available to me?
* 5.4 Got a Matrox card?
* 5.5 Got a Permedia card?
* 5.6 Got a ATI card?
* 5.7 Which graphic cards are VESA 2.0 compliant?
* 5.8 Can I make vesafb as a module?
* 5.9 How do I modify the cursor?
6. Using framebuffer devices on Atari m68k platforms
* 6.1 What modes are available on Atari m68k platforms?
* 6.2 Additional suboptions on Atari m68k platforms
* 6.3 Using the internal suboption on Atari m68k platforms
* 6.4 Using the external suboption on Atari m68k platforms
7. Using framebuffer devices on Amiga m68k platforms
* 7.1 What modes are available for Amiga m68k platforms?
* 7.2 Additional suboptions on Amiga m68k platforms
* 7.3 Supported Amiga graphic eXPansion boards
8. Using framebuffer devices on Macintosh m68k platforms
9. Using framebuffer devices on PowerPC platforms
10. Using framebuffer devices on Alpha platforms
* 10.1 What modes are available to me?
* 10.2 Which graphic cards can work with the frambuffer device?
11. Using framebuffer devices on SPARC platforms
* 11.1 Which graphic cards can work with the framebuffer device?
* 11.2 Configuring the framebuffer devices
12. Using framebuffer devices on MIPS platforms
13. Using framebuffer devices on ARM platforms
* 13.1 Netwinders
* 13.2 Acorn Archimedes
* 13.3 Other ARM ports (SA 7110s et. al)
14. Using multi-headed framebuffers
* 14.1 IntrodUCtion
* 14.2 Feedback
* 14.3 Contributors
* 14.4 Standard Disclaimer
* 14.5 Copyright Information
* 14.6 What hardware is supported?
* 14.7 Commercial support
* 14.8 Getting all the stuff.
* 14.9 Getting Started
* 14.10 Summary
* 14.11 Other Notes and Problems
15. Using/Changing fonts
16. Changing console modes
17. Setting up the X11 FBdev driver
18. How do I convert XFree86 mode-lines into framebuffer device timings?
19. Changing the Linux logo
20. Looking for further information?
1. History
Revision history
19990607 - Release of 1.0
19990722 - Release of 1.1
20000222 - Release of 1.2
2. Contributors
Thanks go to these people listed below who helped improve the Framebuffer HOWTO.
* Jeff Noxon [email protected]
* Francis Devereux [email protected]
* Andreas Ehliar [email protected]
* Martin McCarthy [email protected]
* Simon Kenyon [email protected]
* David Ford [email protected]
* Chris Black [email protected]
* N Becker [email protected]
* Bob Tracy [email protected]
* Marius Hjelle [email protected]
* James Cassidy [email protected]
* Andreas U. Trottmann [email protected]
* Lech Szychowski [email protected]
* Aaron Tiensivu [email protected]
* Jan-Frode Myklebust for his info on permedia cards [email protected]
* Many others too numerous to add, but thanks!
Thanks go to Rick Niles [email protected] who has very kindly handed over his Multi-Head Mini-HOWTO for inclusion in this HOWTO.
Thanks to these people listed below who built libc5/glibc2 versions of theXF86_FBdev X11 framebuffer driver for X11 on Intel platforms:
* Brion Vibber [email protected]
* Gerd Knorr [email protected]
and of course the authors of the framebuffer devices:
* Martin Schaller - original author of the framebuffer concept
* Roman Hodek [email protected]
* Andreas Schwab [email protected]
* Guenther Kelleter
* Geert Uytterhoeven [email protected]
* Roman Zippel [email protected]
* Pavel Machek [email protected]
* Gerd Knorr [email protected]
* Miguel de Icaza [email protected]
* David Carter [email protected]
* William Rucklidge [email protected]
* Jes Sorensen [email protected]
* Sigurdur Asgeirsson
* Jeffrey KuSKIN [email protected]
* Michal Rehacek [email protected]
* Peter Zaitcev [email protected]
* David S. Miller [email protected]
* Dave Redman [email protected]
* Jay Estabrook
* Martin Mares [email protected]
* Dan Jacobowitz [email protected]
* Emmanuel Marty [email protected]
* Eddie C. Dost [email protected]
* Jakub Jelinek [email protected]
* Phil Blundell [email protected]
* Anyone else, stand up and be counted. :o)
3. What is a framebuffer device?
A framebuffer device is an abstraction for the graphic hardware. Itrepresents the frame buffer of some video hardware, and allows applicationsoftware to Access the graphic hardware through a well-defined interface,so that the software doesn't need to know anything about the low-levelinterface stuff [Taken from Geert Uytterhoeven's framebuffer.txt in thelinux kernel sources]
4. What advantages does framebuffer devices have?
Penguin logo. :o) Seriously, the major advantage of the framebuffer drivesis that it presents a generic interface across all platforms. It was thecase until late in the 2.1.x kernel development process that the Intelplatform had console drivers completely different from the other consoledrivers for other platforms. With the introduction of 2.1.109 all thishas changed for the better, and introduced more uniform handling of theconsole under the Intel platforms and also introduced true bitmappedgraphical consoles bearing the Penguin logo on Intel for the first time,and allowed code to be shared across different platforms. Note that 2.0.xkernels do not support framebuffer devices, but it is possible somedaysomeone will backport the code from the 2.1.x kernels to 2.0.x kernels.There is an exception to that rule in that the v0.9.x kernel port for m68kplatforms does have the framebuffer device support included.
With the release of the 2.2.x kernel, framebuffer device support is very solidand stable. You should use the framebuffer device if your graphic card supportsit, if you are using 2.2.x kernels. Older 2.0.x kernels does not support framebufferdevices, at least on the Intel platform.
* 0.9.x (m68k) - introduced m68k framebuffer devices. Note that m68k 0.9.xis functionally equivalent to Intel 1.0.9 (plus 1.2.x enhancements)
* 2.1.107 - introduced Intel framebuffer/new console devices andadded generic support, without scrollback buffer support.
* 2.1.113 - scrollback buffer support added to vgacon.