253 lines
4.7 KiB
HTML
253 lines
4.7 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
|
<HTML
|
|
><HEAD
|
|
><TITLE
|
|
>What advantages does framebuffer devices have?</TITLE
|
|
><META
|
|
NAME="GENERATOR"
|
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
|
|
REL="HOME"
|
|
TITLE="Framebuffer HOWTO"
|
|
HREF="index.html"><LINK
|
|
REL="PREVIOUS"
|
|
TITLE="What is a framebuffer device?"
|
|
HREF="x131.html"><LINK
|
|
REL="NEXT"
|
|
TITLE="Using framebuffer devices on x86 platforms"
|
|
HREF="x168.html"></HEAD
|
|
><BODY
|
|
CLASS="section"
|
|
BGCOLOR="#FFFFFF"
|
|
TEXT="#000000"
|
|
LINK="#0000FF"
|
|
VLINK="#840084"
|
|
ALINK="#0000FF"
|
|
><DIV
|
|
CLASS="NAVHEADER"
|
|
><TABLE
|
|
SUMMARY="Header navigation table"
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
CELLPADDING="0"
|
|
CELLSPACING="0"
|
|
><TR
|
|
><TH
|
|
COLSPAN="3"
|
|
ALIGN="center"
|
|
>Framebuffer HOWTO</TH
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="left"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="x131.html"
|
|
ACCESSKEY="P"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="80%"
|
|
ALIGN="center"
|
|
VALIGN="bottom"
|
|
></TD
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="right"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="x168.html"
|
|
ACCESSKEY="N"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"></DIV
|
|
><DIV
|
|
CLASS="section"
|
|
><H1
|
|
CLASS="section"
|
|
><A
|
|
NAME="AEN134"
|
|
></A
|
|
>3. What advantages does framebuffer devices have?</H1
|
|
><P
|
|
>Penguin logo! :o) Seriously, the major advantage of the
|
|
framebuffer devices is that it presents a generic
|
|
interface across all platforms. It was the case until
|
|
late in the 2.1.x kernel development process that the
|
|
x86 platform had console drivers completely different
|
|
from the other console drivers for other platforms.
|
|
With the introduction of the 2.1.109 kernel, all this
|
|
has changed for the better, and introduced more uniform
|
|
handling of the console under the x86 platforms and
|
|
also introduced true bitmapped graphical consoles
|
|
bearing the Penguin logo on x86 for the first time, and
|
|
allowed code to be shared across different platforms.
|
|
Note that 2.0.x kernels do not support framebuffer
|
|
devices, but it is possible someday someone 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 0.9.x kernel port for m68k platforms does have the
|
|
framebuffer device support included.</P
|
|
><P
|
|
><EM
|
|
>With the release of the 2.2.x kernels,
|
|
framebuffer device support is very solid and
|
|
stable. You should use the framebuffer device
|
|
if your graphic card supports it, if you are
|
|
using 2.2.x kernels. Older 2.0.x kernels does
|
|
not support framebuffer devices, at least on
|
|
the x86 platform.</EM
|
|
></P
|
|
><P
|
|
></P
|
|
><UL
|
|
><LI
|
|
><P
|
|
>0.9.x - introduced m68k framebuffer
|
|
devices. Note that m68k 0.9.x is
|
|
functionally equivalent to x86 1.0.9
|
|
(plus 1.2.x
|
|
enhancements)</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>2.1.107 - introduced x86
|
|
framebuffer/new console devices and
|
|
added generic support, without
|
|
scrollback buffer
|
|
support.</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>2.1.113 - scrollback buffer support
|
|
added to vgacon.</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>2.1.116 - scrollback buffer support
|
|
added to vesafb.</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>2.2.x - includes matroxfb (Matrox
|
|
cards) and atyfb (ATI
|
|
cards).</P
|
|
></LI
|
|
></UL
|
|
><P
|
|
>There are some cool features of the framebuffer devices,
|
|
in that you can give generic options to the kernel at
|
|
bootup-time, including options specific to a particular
|
|
framebuffer device. These are:</P
|
|
><P
|
|
></P
|
|
><UL
|
|
><LI
|
|
><P
|
|
>video=xxx:off - disable
|
|
probing for a particular framebuffer
|
|
device</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>video=map:octal-number -
|
|
maps the virtual consoles (VCs) to
|
|
framebuffer (FB)
|
|
devices</P
|
|
></LI
|
|
><LI
|
|
STYLE="list-style-type: none"
|
|
><P
|
|
></P
|
|
><UL
|
|
><LI
|
|
STYLE="list-style-type: none"
|
|
><P
|
|
>video=map:01 will
|
|
map VC0 to FB0, VC1 to FB1, VC2
|
|
to FB0, VC3 to
|
|
FB1...</P
|
|
></LI
|
|
><LI
|
|
STYLE="list-style-type: none"
|
|
><P
|
|
>video=map:0132
|
|
will map VC0 to FB0, VC1 to
|
|
FB1, VC2 to FB3, VC4 to FB2,
|
|
VC5 to FB0...</P
|
|
></LI
|
|
></UL
|
|
></LI
|
|
></UL
|
|
><P
|
|
>Normally framebuffer devices are probed for in the order
|
|
specified in the kernel, but by specifying the
|
|
video=xxx option, you can add the specific
|
|
framebuffer device you want probed before the others
|
|
specified in the kernel.</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="NAVFOOTER"
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"><TABLE
|
|
SUMMARY="Footer navigation table"
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
CELLPADDING="0"
|
|
CELLSPACING="0"
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="x131.html"
|
|
ACCESSKEY="P"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="index.html"
|
|
ACCESSKEY="H"
|
|
>Home</A
|
|
></TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="x168.html"
|
|
ACCESSKEY="N"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
>What is a framebuffer device?</TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
> </TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
>Using framebuffer devices on x86 platforms</TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
></BODY
|
|
></HTML
|
|
> |