<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <HTML> <HEAD> <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9"> <TITLE>Framebuffer HOWTO: $B%$%s%F%k%W%i%C%H%[!<%`>e$G%U%l!<%`%P%C%U%!%G%P%$%9$r;H$&(B</TITLE> <LINK HREF="Framebuffer-HOWTO-6.html" REL=next> <LINK HREF="Framebuffer-HOWTO-4.html" REL=previous> <LINK HREF="Framebuffer-HOWTO.html#toc5" REL=contents> </HEAD> <BODY> <A HREF="Framebuffer-HOWTO-6.html">$B<!$N%Z!<%8(B</A> <A HREF="Framebuffer-HOWTO-4.html">$BA0$N%Z!<%8(B</A> <A HREF="Framebuffer-HOWTO.html#toc5">$BL\<!$X(B</A> <HR> <H2><A NAME="s5">5. $B%$%s%F%k%W%i%C%H%[!<%`>e$G%U%l!<%`%P%C%U%!%G%P%$%9$r;H$&(B</A></H2> <H2><A NAME="ss5.1">5.1 vesafb $B$H$O2?$+(B</A> </H2> <P> <P> <P>Vesafb $B$O(B VESA 2.0 $BN`;w$N%0%i%U%#%C%/%+!<%I$GF0$/%$%s%F%k%"!<%-%F%/%A%c(B $B$N%U%l!<%`%P%C%U%!%I%i%$%P$G$9!#%+!<%M%kFbIt$G%U%l!<%`%P%C%U%!%G%P%$%9(B $B$HL)@\$K4X78$7$F$$$^$9!#(B <P>vesafb $B$O!"%S%C%H%^%C%W2=$5$l$?%F%-%9%H%3%s%=!<%k$KBP$9$k%$%s%F%k%W%i%C(B $B%H%[!<%`>e$G!"%0%i%U%#%+%k%b!<%I$N;HMQ$r2DG=$K$9$k%G%#%9%W%l%$%I%i%$%P(B $B$G$9!#%m%4$rI=<($G$-$k$h$&$K$b$J$j!"$=$l$,62$i$/(Bvesafb $B$r;H$$$?$$$*$b(B $B$JM}M3$+$b$7$l$^$;$s!#(B <P>$B;DG0$J$,$i!"(BVESA 1.2 $B%+!<%I$G$O==J,$K(B vesafb $B$r;H$($^$;$s!#$3$l$i$N(B 1.2 $B%+!<%I$O(B <EM>linear</EM> frame buffering $B$r;H$o$J$$$+$i$G$9!#(BLinear frame buffering $B$H$$$&$N$O!"%7%9%F%`$N(B CPU $B$,%G%#%9%W%l%$$N$9$Y$F$N(B bit $B$K%"%/%;%9$G$-$k$H$$$&$3$H$G$9!#Nr;KE*$K!"8E$$%0%i%U%#%C%/%+!<%I(B $B$G$O!"0lEY$K(B 64K $B$7$+(B CPU $B$+$i%"%/%;%9$G$-$^$;$s!#$3$l$,!"$+$N%*%=%m(B $B%7%$(B CGA/EGA $B%0%i%U%#%C%/%b!<%I$N8B3&!"$H$$$&$o$1$G$9(B! $B$3$l$i$N%+!<%I$K$D$$$F$N(B vesafb12 $B%G%P%$%9%I%i%$%P$rC/$+$,=q$$$F$b$h$$(B $B$G$7$g$&$,!"$3$l$O!"5.=E$J%+!<%M%k%a%b%j$r>CHq$7!"$"$^$j$d$j$?$/$J$$(B $B3JF.$,I,MW$K$J$k$G$7$g$&!#(B <P> <P>$B$7$+$7$J$,$i!"$"$J$?$,$*;}$A$N$A$g$C$H8E$$(B VESA 1.2 $B%+!<%I$KBP$7$F(B VESA 2.0 $B%(%/%9%F%s%7%g%s$r2C$($k$K$O!"$A$g$C$H$7$?EXNO$,I,MW$G$9!#(BDOS $B$+$iF0$+$;$k(B TSR $B7?%W%m%0%i%`$r%@%&%s%m!<%I$G$-$k$G$7$g$&$7!"(Bloadlin $B$r;H$C$FE,@Z$J%0%i%U%#%C%/%3%s%=!<%k%b!<%I$KBP$7$F%+!<%I$N@_Dj$r1g=u(B $B$G$-$^$9!#$3$l$O$$$D$b$&$^$/$$$+$J$$$3$H$rCm0U$7$F$*$$$F$/$@$5$$!#(B $B$?$H$($P!"(BVLB 54xx $B%7%j!<%:$N$h$&$J(B Cirrus Logic $B$N$"$k$b$N$O!"(B $B%U%l!<%`%P%C%U%!%j%s%0MQ$KFCDj$N%a%b%j%"%I%l%9(B($B$?$H$($P(B15MB-16MB $B$N(B $BHO0O0JFb(B)$B$NHO0O$r%^%C%W$7$F$*$j!"$+$D$=$l$i$,(B 32MB $B0J>e$N%a%b%j$r;}$D(B $B%7%9%F%`$G%a%b%jHO0O$+$i=|30$5$l$F$$$k$3$H$rA0Ds$K$7$F$$$^$9!#(B $B$3$N$h$&$J%\!<%I$rF0$+$9J}K!$O$"$j$^$9!#(B $B$?$H$($P!"(B15MB-16MB $B$NHO0O$G%a%b%j%[!<%k$r$=$N$^$^$K$9$k(B BIOS $B%*%W%7%g%s$,;H$($k$J$iF0$+$;$k$G$7$g$&!#(BLinux $B<+?H$O%a%b%j%[!<(B $B%k$N;HMQ$r%5%]!<%H$7$F$$$^$;$s!#(B $B$7$+$7!"$3$N%*%W%7%g%s$KBP$9$k%Q%C%A$,$"$j$^$9$,!"(B[$BC/$,:n$C$F!"$I$3$+$iF~<j(B $B$9$k$+!)$G$9(B] $B$"$J$?$,$3$N%*%W%7%g%s$r;n$7$F$_$?$$$J$i!"MxMQ$G$-$k(B TSR $B%W%m%0%i%`$O$?$/$5$s$"$j$^$9!#(B UNIVBE $B$O$b$C$HM-L>$G!"%$%s%?!<%M%C%H>e(B $B$K$"$j$^$9!#(B <P> <P> <P>$B$"$k$$$O!"(B VESA $B%U%l!<%`%P%C%U%!%I%i%$%P$GF0$+$9$?$a!"(BVESA 1.2 $B%+!<%I(B $B$r2DG=$K$9$k%+!<%M%k%Q%C%A$r%@%&%s%m!<%I$G$-$k$G$7$g$&!#$?$H$($P!"(B VESA 1.2 $B$r%5%]!<%H$7$F$$$k$A$g$C$H8E$$(B S3 $B$N%\!<%I(B(S3 Trio $B$d(B S3 Virge $B$N$h$&$J(B)$B$G;H$&%Q%C%A$,$"$j$^$9!#$3$l$i$N%+!<%I$K$D$$$F$O!"(B <PRE> ftp://<url url="ftp://ccssu.crimea.ua/pub/linux/kernel/v2.2/unofficial/s3new.diff.gz" name="ftp://ccssu.crimea.ua/pub/linux/kernel/v2.2/unofficial/s3new.diff.gz"> </PRE> $B$+$i%Q%C%A$rF~<j$G$-$^$9!#(B <P> <H2><A NAME="ss5.2">5.2 vesafb $B%I%i%$%P$rM-8z$K$9$kJ}K!(B</A> </H2> <P>menuconfig $B$r$*;H$$$@$H2>Dj$7$F!"<!$N$h$&$J<j=g$,I,MW$G$9!#(B <P> <P>$B$*;H$$$N%W%m%;%C%5(B($B%$%s%F%k%W%i%C%H%[!<%`$G(B)$B$,(B MTRR $BN`$r%5%]!<%H$7$F$$(B $B$k$J$i!"$3$l$rM-8z$K$7$^$9!#$3$N5!G=$O%W%m%;%C%5$H%0%i%U%#%C%/%+!<%I$N4V$G%a%b%j(B $B%3%T!<$r9bB.$K$7$^$9$,!"I,$:$7$bI,MW$G$O$"$j$^$;$s!#$b$A$m$s!"%3%s%=!<(B $B%k%G%P%$%9$rF0$/$h$&$K$7$?8e$G9T$&$3$H$,$G$-$^$9!#(B <P> <P> <P> <P><EM>$B=EMW!'(B2.1.x $B%+!<%M%k$G$O!"(BCode Maturity Level $B$N%a%K%e!<$KF~$j!"(B the prompt for development $B$H(B</EM><EM>$B$^$?$O!"(Bincomplete drivers $B$rM-8z$K(B $B$7$^$9!#(B2.2.x $B%+!<%M%k$G$O$3$l$O$b$&I,MW$O$"$j$^$;$s!#(B</EM> <P> <P>Console Drivers $B%a%K%e!<$KF~$j!"<!$N9`L\$rM-8z$K$7$^$9!'(B <P> <UL> <LI>VGA Text Console</LI> <LI>Video Selection Support</LI> <LI>Support for frame buffer devices (experimental)</LI> <LI>VESA VGA Graphic console</LI> <LI>Advanced Low Level Drivers</LI> <LI>Select Mono, 2bpp, 4bpp, 8bpp, 16bpp, 24bpp and 32bpp packed pixel drivers</LI> </UL> <P> <P>VGA Chipset Support ($B%F%-%9%H$N$_(B) - vgafb - $B$O!">e5-%j%9%H$N0lIt$G$7$?$,!"(B $BHcH=$r$"$S$?$N$G8=:_$O<h$j=|$+$l!"$b$&%5%]!<%H$5$l$F$$$^$;$s!#6a$$$&$A$K(B $B:o=|$5$l$k$G$7$g$&!#$+$o$j$K(B VGA Text Console (fbcon) $B$r;H$$$^$9!#(B VGA Character/Attributes $B$O(B VGA Chipset $B$G$N$_;HMQ$G$-!"A*Br$9$kI,MW$O(B $B$"$j$^$;$s!#(B <P> <P>Mac variable bpp packed pixel support $B$OM-8z$K$O$J$C$F$$$J$$$N$O3N$+$G(B $B$9!#(BLinux $B%+!<%M%k(B 2.1.111 ( $B$5$i$K(B 112)$B$G$O!":G=i$K!"(BAdvanced Low Level Drivers $B$,A*Br$5$l$F$$$?$J$i!"<+F0E*$K$3$l$rM-8z$K$9$k$h$&$G$9!#(B 2.1.113 $B$G$O$b$&$3$N$h$&$K$O$J$j$^$;$s!#(B <P> <P>$B%a%b%j$K%U%)%s%H$r$$$l$F%3%s%Q%$%k$9$k%*%W%7%g%s$b$"$j$^$9$,!"$3$l$O<B(B $B:]$K$OI,MW$G$O$J$/!"%3%s%=!<%k%G%P%$%9$K%U%)%s%H$r%m!<%I$9$k$3$H$G%U%)(B $B%s%H$rJQ99$9$k$?$a!"DL>o$O(B kbd-0.99 $B$N%U%)%s%H%f!<%F%#%j%F%#(B($B%U%)%s%H$K(B $B$D$$$F$N>O$r8+$F$/$@$5$$(B)$B$r;H$($^$9!#(B <P> <P>$B%b%8%e!<%k$K$7$J$$$h$&3NG'$7$F$/$@$5$$!#(B[$B%b%8%e!<%k$H$7$FAH$_9~$_$,(B $B2DG=$+$O$h$/$o$+$j$^$;$s!#$3$l$K$D$$$F$O65$($F$/$@$5$$!#(B ] <P> <P>/dev $B$K%U%l!<%`%P%C%U%!%G%P%$%9$r:n$i$J$/$F$O$$$1$^$;$s!#%U%l!<%`%P%C(B $B%U%!%G%P%$%9$4$H$K$R$H$DI,MW$G!"%G%P%$%9$r:n$k$?$a$K!"$^$:(B mknod /dev/fb0 c 29 0 $B$HF~NO$7$^$9!#<!$N$R$H$D$O(B 32 $B$NG\?t$K$J$j!"$?$H$($P!"(B /dev/fb1 $B$r:n$k$K$O!"(Bmknod /dev/fb1 c 29 32 $B$HF~NO$7$J$1$l$P$$$1$^$;$s!#(B $B$3$N$h$&$K$7$FB3$1$F(B8 $B$D$N%U%l!<%`%P%C%U%!%G%P%$%9$^$G:n$k$3$H$,$G$-$^(B $B$9(B(mknod /dev/fb7 c 29 224)$B!#(B <P> <P>$B<!$K!"%+!<%M%k$r:F9=C[$7!"(B/etc/lilo.conf $B$K(B VGA=ASK $B$H$$$&%Q%i%a!<%?$r(B $B2C$($F=q$-D>$7!"(Blilo $B$rAv$i$;!"$3$l$G;H$$$?$$%b!<%I$rA*Br$G$-$k$h$&$K(B $B$7$^$9!#(B <P> <P>$B4JC1$J(B LILO $B$N@_DjNc$G$9(B($B;d$N%^%7%s$G;H$C$F$$$kNc$G$9(B)$B!#(B <P> <P> <PRE> # LILO $B@_Dj%U%!%$%k(B boot = /dev/hda3 delay = 30 prompt vga = ASK # $B%f!<%6$,K>$`%b!<%I$rF~NO$9$k!#(B image = /vmlinuz root = /dev/hda3 label = Linux read-only # $BHs(B-UMSDOS $B%U%!%$%k%7%9%F%`$OFI$_$@$7$N$_$G%^%&%s%H$5$l$^$9!#(B </PRE> <P> <P>$B%+!<%M%k$r:F5/F0$7!"4JC1$J%F%9%H$H$7$F!"(BVGA $B%W%m%s%W%H$G(B 0301 $B$rF~NO$7(B $B$^$9(B( 640x480 @ 256 $B$K$J$j$^$9(B)$B!"$3$l$G$"$J$?$O$+$o$$$$>.$5$J%Z%s%.%s(B $B%m%4$r8+$k$3$H$,$G$-$k$O$:$G$9!#(B <P> <P>VGA $B%W%m%s%W%H$G!"(B''0''$B$H(B 3 $B$GI=$97A<0$G$N?t;z$NF~NO$rMW5a$5$l$k$3$H$K(B $BCm0U$7$F$/$@$5$$!#(B'x' $B$G$O$@$a$G$9!#(BLILO $B$r;H$C$F$$$k$J$i$3$l$OI,MW$"(B $B$j$^$;$s!#(B <P> <P>$B$&$^$/F0$/$3$H$r3N$+$a$?$J$i!"$5$^$6$^$J(B VESA $B%b!<%I(B($B8e=R(B)$B$r;n$7$F$b$C(B $B$H$b$h$$$b$N$K7h$a!"(Blilo.conf $B$K(B ''VGA=x''$B%Q%i%a!<%?$K%O!<%I%&%'%"$r;X(B $B<($7$^$9!#$b$C$H$bNI$$$b$N$rA*$s$@$H$-!"2<5-$NI=$+$i(B10$B?J$N?tCM$KAjEv$9(B $B$k$b$N$rC5$7!"$=$l$r;H$$(B($B$?$H$($P!"(B1280x1024 @ 256 $B$KBP$7$F$O!"(B ''VGA=0x307''$B$r;H$$$^$9(B)$B!"(Blilo $B$r:F5/F0$7$^$9!#$=$l$G=*$j$G$9!#$b$C$H>\(B $B$7$$>pJs$K4X$7$F$O!"(BLoadLin $B$H(B LILO $B$K$D$$$F$N(B HOWTO $B$rFI$s$G$/$@$5$$!#(B <P> <P><EM>$BCm0U(B!</EM> vesafb $B$O%G%U%)%k%H$G$O%9%/%m!<%k%P%C%/%P%C%U%!%j%s%0$,M-8z$G(B $B$O$"$j$^$;$s!#%+!<%M%k$GM-8z$K$9$k%*%W%7%g%s$rEO$9I,MW$,$"$j$^$9!#(B $B%"%/%F%#%V$K$9$k$?$a(B video=vesa:ypan $B$^$?$O(B video=vesa:ywrap $B$r;H$$$^(B $B$9!#$3$NFs$D$OF1$8$3$H$r0c$C$?J}K!$G9T$$$^$9!#(Bywrap $B$O(B ypan $B$h$j$+$J$j9bB.$G$9(B $B$,!">/$72x$7$$(B VESA 2.0 $B%0%i%U%#%C%/%+!<%I>e$G$OF0$+$J$$$+$b$7$l$^$;$s!#(B ypan $B$O(B ywrap $B$h$jCY$$$G$9$,$h$j9b$$8_49@-$,$"$j$^$9!#$3$N%*%W%7%g%s$O%+!<(B $B%M%k(B2.1.116 $B$H$=$l0J9_$N%+!<%M%k$G$@$1;H$($^$9!#>/$7A0$N%+!<%M%k$O(B vesafb $B$G%9%/%m!<%k%P%C%U%!%j%s%0$r5v2D$9$kG=NO$r;}$C$F$$$^$;$s!#(B <P> <P> <H2><A NAME="ss5.3">5.3 $B$I$N$h$&$J(B VESA $B%b!<%I$rMxMQ$G$-$k$+(B</A> </H2> <P> <P>$B$*;H$$$N%7%9%F%`$G;H$C$F$$$k(B VESA 2.0 $BN`;w%0%i%U%#%C%/%+!<%I$N7?$H%S%G(B $B%*%a%b%j$NMFNL$K0MB8$7$^$9!#$3$N7o$O!"$*;H$$$N%S%G%*%+!<%I$K$H$C$F:GNI(B $B$KF0$/%b!<%I$r%F%9%H$9$k;vJA$G$9!#(B <P> <P>$B<!$NI=$O!"(B VGA $B%W%m%s%W%H$GF~NO$G$-$k!"$^$?$O(B LILO $B%W%m%0%i%`$G;H$($k(B $B%b!<%I?tCM$r<($7$?$b$N$G$9!#(B($B$3$l$i$N?tCM$OI=$r;2>H$9$k$N$r$h$j4JC1$K$7$F(B $B$$$k$?$a!"<B:]$K$O(B0x200 $B$,2C$o$j$^$9!#(B) <P> <PRE> Colours 640x400 640x480 800x600 1024x768 1152x864 1280x1024 1600x1200 --------+-------------------------------------------------------------- 4 bits | ? ? 0x302 ? ? ? ? 8 bits | 0x300 0x301 0x303 0x305 0x161 0x307 0x31C 15 bits | ? 0x310 0x313 0x316 0x162 0x319 0x31D 16 bits | ? 0x311 0x314 0x317 0x163 0x31A 0x31E 24 bits | ? 0x312 0x315 0x318 ? 0x31B 0x31F 32 bits | ? ? ? ? 0x164 ? </PRE> <P> <P>Key: 8 bits $B$O(B 256 $B?'!"(B15 bits $B$O(B 32,768 $B?'!"(B16 bits $B$O(B 65,536 $B?'!"(B24 bits $B$O(B 16.8 $BK|?'!"(B32 bits $B$O(B 24 bits $B$H$[$\F1$8$G$9$,!"M>J,$N(B 8 bits $B$OB>$N$3$H$K;H$($^$9!#$=$7$F!"(B32 bit PCI/VLB/EISA $B%P%9$G!"40`z$KE,1~$7(B $B$^$9!#(B <P> <P>$BDI2C%b!<%I$O%+!<%I%a!<%+!<$NH=CG$K$"$j!"(BVESA 2.0$B$G!"(B 0x31F $B$KDj5A$5$l(B $B$?%b!<%I$r=q$$$F$$$k$@$1$G$9!#$3$l$i$NFCJL$N%b!<%I$r8+$D$1$k$K$O$"$l$3(B $B$l$"$?$i$J$/$F$O$$$1$J$$$+$b$7$l$^$;$s!#(B <P> <P> <H2><A NAME="ss5.4">5.4 Matrox $B%+!<%I$r@_Dj$9$k$K$O!)(B</A> </H2> <P> <P> <P>Matrox $B$N%0%i%U%#%C%/%+!<%I$r;}$C$F$$$k$J$i!"<B:]$N$H$3$m(B vesafb $B$OI,(B $BMW$"$j$^$;$s!#$+$o$j$K(B matroxfb $B%I%i%$%P$,I,MW$G$9!#$3$l$O$*;H$$$N%+!<(B $B%I$NG=NO$rCx$7$/9b$a$^$9!#(BMatroxfb $B$O(B Matrox Mystique Millennium I $B$H(B II$B!"(BG100 $B$H(B G200 $B$GF0$/$G$7$g$&!#(Bmultiheaded $B%7%9%F%`$b$^$?%5%]!<%H$7(B $B$F$$$^$9(B($B$D$^$j!"<+J,$N%^%7%s$K#2Kg$N(B Matrox $B%+!<%I$r$D$1$F$$$k$J$i!"(B $BF1$8%^%7%s$G#2$D$N%G%#%9%W%l%$$r;H$&$3$H$,$G$-$^$9!*(B) Matrox $B$r@_Dj$9(B $B$k$?$a!"<!$N$h$&$K$9$kI,MW$,$"$j$^$9!#(B <P> <P>Matrox BIOS $B$r99?7$7$?$$$J$i!"(B <A HREF="http://www.matrox.com/mgaweb/drivers/ftp_bios.htm">http://www.matrox.com/mgaweb/drivers/ftp_bios.htm</A>$B$+$i(BBIOS $B%"%C%W%0%l!<%IHG$r%@%&%s%m!<%I$G$-$^$9!#%"%C%W%0%l!<%I$9$k$K$O(B DOS $B$,(B $BI,MW$K$J$k$3$H$KCm0U$7$F$/$@$5$$!#(B <P> <P>Code Maturity Level $B%a%K%e!<$KF~$j!"(Bdevelopment and/or incomplete drivers $B$rM-8z$K$7$^$9!#(B[$B$3$l$O:#8e$N%+!<%M%k$G$OJQ99$K$J$k$+$b$7$l$^(B $B$;$s!#$=$&$J$l$P!"$3$N(BHOWTO $B$O2~D{$5$l$k$G$7$g$&!#(B ] <P> <P>Console Drivers $B%a%K%e!<$KF~$j!"<!$N9`L\$rM-8z$K$7$^$9!#(B <P> <UL> <LI>VGA Text Console</LI> <LI>Video Selection Support</LI> <LI>Support for frame buffer devices (experimental)</LI> <LI>Matrox Acceleration</LI> <LI>Select the following depending on the card that you have <UL> <LI>Millennium I/II support</LI> <LI>Mystique support</LI> <LI>G100/G200 support</LI> </UL> </LI> <LI>Enable Multihead Support if you want to use more than one Matrox card</LI> <LI>Advanced Low Level Drivers</LI> <LI>Select Mono, 2bpp, 4bpp, 8bpp, 16bpp, 24bpp and 32bpp packed pixel drivers</LI> </UL> <P> <P>$B%+!<%M%k$r:F9=C[$7$^$9!#$=$l$+$i(B Matroxfb $B%G%P%$%9$rM-8z$K$9$k$?$a(B lilo.conf $B%U%!%$%k$r=$@5$9$kI,MW$,$"$j$^$9!#$b$C$H$bB.$/$F4JC1$JJ}K!$O(B $B;d$N$b$N$r:FMxMQ$9$k$3$H$G$9!#(B <P> <PRE> # LILO configuration file boot = /dev/hda3 delay = 30 prompt vga = 792 # You need to do this so it boots up in a sane state # Linux bootable partition config begins image = /vmlinuz append = "video=matrox:vesa:440" # then switch to Matroxfb root = /dev/hda3 label = Linux read-only # Non-UMSDOS filesystems should be mounted read-only for checking </PRE> <P> <P>$B:G8e$K(B /dev $B$K%U%l!<%`%P%C%U%!%G%P%$%9$r:n$i$J$1$l$P$$$1$^$;$s!#%U%l!<(B $B%`%P%C%U%!%G%P%$%9$4$H$K0l$DI,MW$G!"%G%P%$%9$r:n$k$?$a$K!"$^$:(B mknod /dev/fb0 c 29 0 $B$HF~NO$7$^$9!#<!$N$R$H$D$O(B 32 $B$NG\?t$K$J$j!"$?$H$($P!"(B /dev/fb1 $B$r:n$k$K$O!"(Bmknod /dev/fb1 c 29 32 $B$HF~NO$7$J$1$l$P$$$1$^$;$s!#(B $B$3$N$h$&$K$7$FB3$$$F!"(B8 $BHVL\$N%U%l!<%`%P%C%U%!%G%P%$%9$^$G:n$l$^$9(B (mknod /dev/fb7 c 29 224)$B!#(B <P> <P>$B$3$l$G$$$$$O$:$G$9!*(B[$BCm0U!'$I$J$?$+$3$N(B multiheaded support $B$r$*;H(B $B$$$J$i!"$G$-$k$@$1Aa$/;d$KO"Mm$7$F$/$@$5$$!#;d$O$=$N7o$K$D$$$F=q$/$?$a(B $B$K(B ($B>pJs$,$[$7$$$?$a(B) $BOC$7$?$$$N$G$9!#(B] <P> <P> <P> <H2><A NAME="ss5.5">5.5 Permedia $B%+!<%I$r@_Dj$9$k$K$O!)(B</A> </H2> <P> <P> <P>Permedia $B%+!<%I$O(B vesafb $B%I%i%$%P$G$O;H$&$3$H$O$G$-$^$;$s$,!"9,$$$K!"(B Permedia $B%U%l!<%`%P%C%U%!%I%i%$%P$,$"$j$^$9!#(Bmenuconfig $B$r$*;H$$$J$i!"(B $B<!$N$h$&$K9T$$$^$9!#(B <P> <P>Code Maturity Level $B%a%K%e!<$KF~$j!"(Bdevelopment and/or incomplete drivers [$B$3$l$O>-Mh$N%+!<%M%k$G$OJQ99$5$l$k$+$b$7$l$^$;$s!#$=$&$J$C$?(B $B$i!"$3$N(B HOWTO $B$O2~D{$5$l$k$G$7$g$&!#(B] <P>Console Drivers $B%a%K%e!<$KF~$j!"<!$N9`L\$rA*Br$7$^$9!#(B <P> <UL> <LI>VGA Text Console </LI> <LI>Video Selection Support </LI> <LI>Support for frame buffer devices (experimental) </LI> <LI>Permedia2 support (experimental)</LI> <LI>Generic Permedia2 PCI board support</LI> <LI>Advanced Low Level Drivers </LI> <LI>Select Mono, 2bpp, 4bpp, 8bpp, 16bpp, 24bpp and 32bpp packed pixel drivers </LI> <LI>$B%U%)%s%HAH$_9~$_$G%3%s%Q%$%k$7$F;H$$$?$$$J$i!"%*%W%7%g%s$H$7$F!"(B $B<!$N9`L\$rA*Br$7$^$9!#(B <UL> <LI>Select compiled-in fonts</LI> <LI>Select Sparc console 12x22 font</LI> </UL> </LI> </UL> <P> <P>$B%+!<%M%k$r:F9=C[$7$^$9!#$=$l$+$i(B pm2fb $B%G%P%$%9$rM-8z$K$9$k$?$a!"(B lilo.conf $B%U%!%$%k$r=$@5$7$J$1$l$P$$$1$^$;$s!#$h$jB.$/4JC1$K$9$k$J$i!"<!(B $B$K<($7$?$b$N$r;H$C$F$/$@$5$$!#(B <P> <PRE> # LILO configuration file boot = /dev/hda3 delay = 30 prompt vga = 792 # You need to do this so it boots up in a sane state # Linux bootable partition config begins image = /vmlinuz append = "video=pm2fb:mode:1024x768-75,font:SUN12x22,ypan" # then switch to pm2fb root = /dev/hda3 label = Linux read-only # Non-UMSDOS filesystems should be mounted read-only for checking </PRE> <P> <P>''pm2fb:mode:1024x768-75,font:SUN12x22,ypan''$B$N9T$O!"(B75Hz $B$G(B 1024x768 $B%b!<%I!"(Bscrollback $B%5%]!<%H$KBP$9$k(B ypan $B$r4^$`(B SUN12x22 $B%U%)%s%H(B($B$=$l(B $B$rA*Br$7$F$$$k$J$i(B)$B$rA*Br$7$F$$$k$N$r<($7$^$9!#$*K>$_$J$i%b!<%I$rA*Br(B $B$7$F$b$h$$$G$7$g$&!#(B <P> <P>$B:G8e$K!"(B /dev $B$G%U%l!<%`%P%C%U%!%G%P%$%9$r:n$i$J$1$l$P$$$1$^$;$s!#%U%l!<(B $B%`%P%C%U%!%G%P%$%9$4$H$K$R$H$DI,MW$G$9$+$i!":G=i$N$R$H$D$r:n$k$N$K!"(B mknod /dev/fb0 c 29 0 $B$HF~NO$9$k$Y$-$G$9!#<!$N$b$N$O!"(B32 $B$NG\?t$G!"$?(B $B$H$($P!"(B/dev/fb1 $B$r:n$k$K$O!"(Bmknod /dev/fb1 c 29 32 $B$HF~NO$7$J$1$l$P$$(B $B$1$^$;$s!#$=$N$h$&$KB3$1$F!"(B8 $BHVL\$N%U%l!<%`%P%C%U%!%G%P%$%9$r:n$j$^$9(B (mknod /dev/fb7 c 29 224)$B!#(B <P> <P>Permedia $B$N%U%l!<%`%P%C%U%!%I%i%$%P$N$=$NB>$N;EMM$K$D$$$F$N>\:Y>pJs$O(B $B$*;H$$$N%V%i%&%6$G<!$N$H$3$m$G8+$F$/$@$5$$!'(B <PRE> <htmlurl url="http://www.cs.unibo.it/~nardinoc/pm2fb/index.html" name="http://www.cs.unibo.it/~nardinoc/pm2fb/index.html"> </PRE> <P>video=pm2fb:[option[,option[,option...]]] <P> <P>option $B$N>l=j$K$O<!$N$I$l$+$R$H$D$r;H$$$^$9!#(B <P> <P> <UL> <LI>$B%I%i%$%P$rL58z$K$9$k!#(B</LI> <LI>mode:resolution $B$O!"%3%s%=!<%k$N2rA|EY$r@_Dj$9$k$?$a!#(B $B%b!<%I$O(B Geert $B$N(B fbset $B%Q%C%1!<%8$K$"$k(B fb.modes ATI $B%U%!%$%k(Bfb.modes $B$+$i<hF@$5$l$F$$$^$9!#$9$Y$F$N%b!<%I$KBP$9$k(B depth $B$O(B 8bpp $B$G$9!#$3$l$O(B $BMxMQ$G$-$k%b!<%I$N%j%9%H$G$9!'(B <UL> <LI>640x480-(60,72,75,90,100)</LI> <LI>800x600-(56,60,70,72,75,90,100) </LI> <LI>1024x768-(60,70,72,75,90,100,illo) illo=80KHz 100Hz </LI> <LI>1152x864-(60,70,75,80) </LI> <LI>1280x1024-(60,70,74,75)</LI> <LI>1600x1200-(60,66,76)</LI> </UL> </LI> <LI>$B%G%U%)%k%H$O(B 640x480-60 $B$G$9!#(B</LI> <LI> font:font name $B$O%3%s%=!<%k%U%)%s%H$r@_Dj$9$k$?$a!#(B $B$?$H$($P!"(B font:SUN12x22 $B$N$h$&$K$7$^$9!#(B</LI> <LI> ypan sets $B$O%S%G%*%a%b%j%5%$%:$,5v2D$9$k$b$N$HF1$8$/$i$$Bg$-$$(B $B8=:_$N2>A[2hLL$N9b$5$r@_Dj$7$^$9!#(B</LI> <LI>oldmem $B$H$$$&%*%W%7%g%s$O!"(BCybervisionPPC $B%f!<%6$N$_$KBP1~$7$^$9!#(B $B$*;H$$$N%\!<%I$,(B( 30-Dec-1998 $B0JA0$O$9$Y$F(BCVisionPPCs)$B$K>h$C$?(B Fujitsu SGRAM$BN`$r;H$C$F$$$k$J$i!"$3$l$rL@5-$7$^$9!#(B</LI> <LI>$B%+!<%M%k$,$*;H$$$N%W%i%C%H%[!<%`$G(B PCI $BNN0h$r:F%^%C%W$9$k$J$i!"(B $B$3$l$r2>A[E*$K(B($B0l;~E*$K(B)$BL@5-$7$^$9!#(B</LI> </UL> <P> <H2><A NAME="ss5.6">5.6 ATI $B%+!<%I$r@_Dj$9$k$K$O!)(B</A> </H2> <P> <P> <P> <P>[$BCm0U!';d$O(B ATI $B$N%+!<%I$r;}$C$F$$$^$;$s$N$G!"%F%9%H$O$7$F$$$^$;$s!#(B $B$3$N>pJs$O!"$^$?J9$-!"$^$?$O$&$o$5$N$_$N>pJs$G$9!#4V0c$C$F$$$?$j!"(B $B$40U8+$,$"$l$P!"$I$&$>5$7Z$K$4D{@5$r$*Aw$j$/$@$5$$!#(B ] <P> <P>ATI $B%+!<%I$O(B vesafb $B%I%i%$%P$G;H$($^$9$,!"$=$N%+!<%I$,$I$NDxEYIe$C$F(B $B$$$k$+$K$h$C$FLdBj$K$V$D$+$k$+$b$7$l$^$;$s$7!"$"$k$$$OLdBj$J$7$K(B $B$$$1$k$+$b$7$l$^$;$s!#(Bmenuconfig $B$r$*;H$$$J$i!"<!$N$h$&$K9T$C$F$/$@$5(B $B$$!#(B <P> <P>Code Maturity Level $B%a%K%e!<$KF~$j!"(Bprompt for development and/or incomplete drivers $B$rM-8z$K$7$^$9(B[$B$3$l$O>-Mh$N%+!<%M%k$GJQ99$K$J$k$+$b(B $B$7$l$^$;$s!#$=$&$J$C$?$H$-!"$3$N(B HOWTO $B$O99?7$5$l$k$G$7$g$&!#(B] <P> <P>$B%3%s%=!<%k%I%i%$%P$N%a%K%e!<$K$O$$$j!"<!$N9`L\$rA*Br$7$F$/$@$5$$!#(B <P> <UL> <LI>VGA Text Console</LI> <LI>Video Selection Support</LI> <LI>Support for frame buffer devices (experimental)</LI> <LI>ATI Mach64 display support </LI> <LI>Advanced Low Level Drivers</LI> <LI>Select Mono, 2bpp, 4bpp, 8bpp, 16bpp, 24bpp and 32bpp packed pixel drivers</LI> <LI>$B%U%)%s%H$rAH$_9~$s$G;H$$$?$$$J$i!"<!$N9`L\$rA*Br$7$^$9!#(B <UL> <LI>Select compiled-in fonts</LI> <LI>Select Sparc console 12x22 font</LI> </UL> </LI> </UL> <P> <P>$B%+!<%M%k$r:F9=C[$7$^$9!#$=$l$+$i!"(Batyfb $B%G%P%$%9$rM-8z$K$9$k$?$a!"$*;H(B $B$$$N(Blilo.conf $B%U%!%$%k$r=$@5$7$J$1$l$P$$$1$^$;$s!#<jAa$/4JC1$K$9$k$K$O(B $B<!$N$b$N$rMxMQ$7$^$7$g$&!#(B <P> <PRE> # LILO configuration file boot = /dev/hda3 delay = 30 prompt vga = 792 # You need to do this so it boots up in a sane state # Linux bootable partition config begins image = /vmlinuz append = "video=atyfb:mode:1024x768,font:SUN12x22" root = /dev/hda3 label = Linux read-only # Non-UMSDOS filesystems should be mounted read-only for checking </PRE> <P> <P>''atyfb:mode:1024x768,font:SUN12x22'' $B9T$O!"(B1024x768 $B%b!<%I$rA*Br$7$F(B $B$$$k$3$H$r<($7$^$9!#(B <P> <P>$B:G8e$K!"(B /dev $B$G%U%l!<%`%P%C%U%!%G%P%$%9$r:n$i$J$1$l$P$$$1$^$;$s!#%U%l!<(B $B%`%P%C%U%!%G%P%$%9$4$H$K$R$H$DI,MW$G$9$+$i!":G=i$N$R$H$D$r:n$k$N$K!"(B mknod /dev/fb0 c 29 0 $B$HF~NO$9$k$Y$-$G$9!#<!$N$b$N$O!"(B32 $B$NG\?t$G!"$?(B $B$H$($P!"(B/dev/fb1 $B$r:n$k$K$O!"(Bmknod /dev/fb1 c 29 32 $B$HF~NO$7$J$1$l$P$$(B $B$1$^$;$s!#$=$N$h$&$KB3$1$F!"(B8 $BHVL\$N%U%l!<%`%P%C%U%!%G%P%$%9$r:n$j$^$9(B (mknod /dev/fb7 c 29 224)$B!#(B <P>video=atyfb:[option[,option[,option...]]] <P> <P>$B%*%W%7%g%s$N>l=j$K$O<!$N$I$l$+$R$H$D$r;H$$$^$9!#(B <P> <P> <UL> <LI>font:STRING $B$OAH$_9~$_%U%)%s%H$rA*Br$7$^$9(B($B%+!<%M%k$K%3%s%Q%$%k$7$?$b$N(B)</LI> <LI>noblink $B$OE@LG$rCf;_$7$^$9!#(B</LI> <LI>noaccel $B$O2CB.$rL58z$K$7$^$9!#(B</LI> <LI>vram:ULONG $B$O!"$I$l$/$i$$$N%a%b%j$r;}$C$F$$$k$+$r(B atyfb $B$KEA$($^$9!#(B</LI> <LI>pll:ULONG Unknown</LI> <LI>mclk:ULONG Unknown</LI> <LI>vmode:ULONG Unknown</LI> <LI>cmode:ULONG $B$O(B depth $B$r(B 0, 8, 15, 16, 24 $B$H(B 32 $B$K@_Dj$7$^$9!#(B</LI> </UL> <P> <P> <H2><A NAME="ss5.7">5.7 $B$I$N%0%i%U%#%C%/%+!<%I$,(BVESA 2.0 $BN`;w$N$b$N$+(B</A> </H2> <P> <P>$B$3$N%j%9%H$O(B vesafb $B%G%P%$%9$GF0$/$3$H$,$o$+$C$F$$$k%0%i%U%#%C%/%+!<%I$G$9!#(B <P> <UL> <LI>ATI PCI VideoExpression 2MB (max. 1280x1024 @ 8bit)</LI> <LI>ATI PCI All-in-Wonder</LI> <LI>Matrox Millennium PCI - BIOS v3.0</LI> <LI>Matrox Millennium II PCI - BIOS v1.5</LI> <LI>Matrox Millennium II AGP - BIOS v1.4</LI> <LI>Matrox Millennium G200 AGP - BIOS v1.3</LI> <LI>Matrox Mystique & Mystique 220 PCI - BIOS v1.8</LI> <LI>Matrox Mystique G200 AGP - BIOS v1.3</LI> <LI>Matrox Productiva G100 AGP - BIOS v1.4</LI> <LI>All Riva 128 based cards</LI> <LI>Diamond Viper V330 PCI 4MB</LI> <LI>Genoa Phantom 3D/S3 ViRGE/DX</LI> <LI>Hercules Stingray 128/3D with TV output</LI> <LI>Hercules Stingray 128/3D without TV output - needs BIOS upgrade (free from support@hercules.com)</LI> <LI>SiS 6326 PCI/AGP 4MB </LI> <LI>STB Lightspeed 128 (Nvida Riva 128 based) PCI </LI> <LI>STB Velocity 128 (Nvida Riva 128 based) PCI</LI> <LI>Jaton Video-58P ET6000 PCI 2MB-4MB (max. 1600x1200 @ 8bit)</LI> <LI>Voodoo2 2000</LI> </UL> <P> <P>$B$3$N%j%9%H$O%7%9%F%`$N%^%6!<%\!<%I$K%*%s%\!<%I%A%C%W%;%C%H$K$J$C$F$$$^$9!#(B <P> <UL> <LI>Trident Cyber9397</LI> <LI>SiS 5598</LI> </UL> <P> <P>$B$3$N%j%9%H$O(B vesafb $B%G%P%$%9$G$OF0$+$J$$%0%i%U%#%C%/%+!<%I$r$^$H$a$?$b$N$G$9!#(B <P> <UL> <LI>TBA</LI> </UL> <P> <H2><A NAME="ss5.8">5.8 vesafb $B$r%b%8%e!<%k$K$G$-$^$9$+!#(B</A> </H2> <P> <P> <P>$BJ,$+$C$F$$$k8B$j!"(Bvesafb $B$O%b%8%e!<%k$K$9$k$3$H$O$G$-$^$;$s!#(B $B$7$+$7$J$,$i>-Mh$N$"$k;~E@$G!"(Bvesafb $B$N3+H/<T$,%b%8%e!<%k2=$N$?$a%=!<%9(B $B$r=$@5$9$kH=CG$r9T$&2DG=@-$O$"$j$^$9!#$?$H$(%b%8%e!<%k$K$G$-$F$b!"(B $B5/F0;~$K(B vesafb $B$,(B <EM>modprobed</EM> $B%b%8%e!<%k$r%m!<%I$9$k$^$G%G%#%9%W%l%$(B $B$K2?$b=PNO$5$l$J$$$G$7$g$&!#5/F0;~$KLdBj$,$G$k>l9g$,$"(B $B$k$N$G!"%+!<%M%k$N$J$+$K;D$9J}$,$:$C$H8-$$$N$+$b$7$l$^$;$s!#(B <P> <H2><A NAME="ss5.9">5.9 $B%+!<%=%k$r=$@5$9$kJ}K!$O!)(B</A> </H2> <P> <P>[VGA-softcursor.txt $B$+$i$N0zMQ(B - Martin Mares $B$K46<U(B ] <P> <P>$B8=:_!"(BLinux $B$O%+!<%=%k7A>u$rJQ99$G$-$^$9!#DL>o!"%O!<%I%&%'%"%+!<%=%k$N(B $B%5%$%:$r@_Dj$G$-$^$9(B($B$=$7$F$3$l$i$N$"$^$j@-G=$N$h$/$J$$(B Trident $B%+!<%I(B $B$K$O$$$d$J%P%0$r;}$C$F$$$k$b$N$,$"$j$^$9!#(B drivers/char/ $B$K$"$k(B vga.c $B$N$J$+$N(B #define TRIDENT_GLITCH $B$r8+$F$/$@$5$$!#(B) $B%7%9%F%`$N@_Dj$G(B ''Software generated cursor''$B$rM-8z$K$G$-$k>l9g!"$A$g$C$H$7$??7<j$N%H%j%C%/$r;H$((B $B$^$9!#%+!<%=%k$rE@LG$7$J$$@V$$2t$N$h$&$K8+$;$k$3$H$,$G$-!"J8;z$NGX7J$r(B $BH?E>$5$;$k$3$H$,$G$-!"J8;z$rF)2a$"$k$$$O%O%$%i%$%H$K$b$G$-!"$b$H$N%O!<(B $B%I%&%'%"%+!<%=%k$,2D;k!"$^$?$OIT2D;k$N$I$A$i$+$NA*Br$b$^$@;D$C$F$$$^$9!#(B $B;d$,$^$@9M$($?$3$H$,$J$$$h$&$J$=$NB>$NA`:n$,$"$k$+$b$7$l$^$;$s!#(B <P> <P>$B%+!<%=%k$N7A>u$O(B <PRE> <ESC>[?1;2;3c </PRE> $B%(%9%1!<%W%7!<%1%s%9$G@)8f(B $B$G$-$^$9!#(B1$B!"(B2 $B$=$7$F(B 3 $B$O<!$K<($9%Q%i%a!<%?$K$J$j$^$9!#$I$l$b;H$o$J$$(B $B$J$i!"%G%U%)%k%H$N(B 0 $B$K$J$j$^$9!#(B <P> <P>$B%Q%i%a!<%?(B 1 $B$O!"%+!<%=%k$N%5%$%:(B 16 $B$^$G!"$rL@<($7$^$9(B(0=$B%G%U%)%k%H!"(B 1=$BF)L@!"(B2=$B2<@~>u!"(B..., 8=$B%V%m%C%/>u(B)$B!"%=%U%H%&%'%"%+!<%=%k$,;H$$$?$$$J(B $B$i!"(B 32 $B$r;H$o$J$$$H$$$1$^$;$s!#GX7J$N?'$O(B 64 $B$r;H$$!"$$$D$bJQ99$7$F!"(B $BA0LL$N?'$HF1$8?'$rGX7J$K$7$?$/$J$$$J$i(B 64 $B$K$7$^$9!#!#(BHighlight $B$O:G8e(B $B$NFs$D$N%U%i%0$rL5;k$7$^$9!#(B <P> <P>2$BHVL\$N%Q%i%a!<%?$OJQ99$7$?$$J8;zB0@-$N%S%C%H$rA*Br$7$^$9(B($B$3$N%Q%i%a!<(B $B%?$NCM$rC1=c$K9g7W$7$F(B)$B!#I8=`$N(B VGA $B>e$G!">e0L$N(B 4 $B$D$N%S%C%H$OGX7J$r<((B $B$7!"2<0L$N(B 4 $B$D$N%S%C%H$OA0LL$K$J$j$^$9!#N>J}$N%0%k!<%W$G!"2<0L$N(B 3 $B%S%C%H(B $B$,?'$r7h$a(B($B%3%s%=!<%k$G;H$o$l$kDL>o$N%+%i!<%3!<%I$N$h$&$K(B)$B!"$=$7$F:G$b(B $B=EMW$J$b$N$,%O%$%i%$%H$K$J$j$^$9(B($B$"$k$$$O$H$-$I$-$OE@LG>uBV$K$J$j$^$9!#(B $B$3$l$O$*;H$$$N(B VGA $B$N@_Dj$K0MB8$7$^$9!#(B) <P> <P>$BBh(B3$B%Q%i%a!<%?$O@_Dj$7$?$$J8;zB0@-%S%C%H$+$i$J$j$^$9!#@_Dj$9$k%S%C%H$O(B $B%S%C%H$r%H%0%k$9$kA0$KCV$1$P!"%^%9%/$N@_Dj$H%^%9%/%H%0%k$NN>J}$r4^$s$G(B $B%S%C%H$r4JC1$K>C5n$G$-$^$9!#(B <P> <P>$B%"%s%@!<%i%$%s$rIaDL$KE@LG$5$;$k$K$O!"<!$N$h$&$K$7$^$9!#(B: echo -e '\033[?2c' $BNN0h$rE@LG$5$;$k$K$O!"<!$N$h$&$K$7$^$9!#(B: echo -e '\033[?6c' $BNN0h30$rE@LG$5$;$k$K$O!"<!$N$h$&$K$7$^$9!#(B: echo -e '\033[?17;0;64c' <P> <P> <P> <HR> <A HREF="Framebuffer-HOWTO-6.html">$B<!$N%Z!<%8(B</A> <A HREF="Framebuffer-HOWTO-4.html">$BA0$N%Z!<%8(B</A> <A HREF="Framebuffer-HOWTO.html#toc5">$BL\<!$X(B</A> </BODY> </HTML>