  Framebuffer HOWTO
  Alex Buell, (alex.buell@tahallah.clara.co.uk)
  v1.2, 27 Feb 2000
  |FJG (jeanne@mbox.kyoto-inet.or.jp)
  {F May.09,2001

  ́̕A܂܂ȃvbgz[ Linux Ńt[obt@f
  oCXg@ɂĂ܂Ƃ߂̂łBɕ̃fBXvCg
  悤ݒ肷@܂ł܂B
  ______________________________________________________________________

  ڎ

  1. 
  2. vĂX
  3. t[obt@foCXƂ͉
  4. t[obt@foCX͉̒
  5. Cevbgz[Ńt[obt@foCXg
     5.1 vesafb Ƃ͉
     5.2 vesafb hCoLɂ@
     5.3 ǂ̂悤 VESA [h𗘗pł邩
     5.4 Matrox J[hݒ肷ɂ́H
     5.5 Permedia J[hݒ肷ɂ́H
     5.6 ATI J[hݒ肷ɂ́H
     5.7 ǂ̃OtBbNJ[hVESA 2.0 ގ̂̂
     5.8 vesafb W[ɂł܂B
     5.9 J[\C@́H

  6. Atari m68k vbgz[Ńt[obt@foCXg
     6.1 Atari m68k vbgz[łǂȃ[hpł邩
     6.2 Atari m68k vbgz[̒ǉIvV
     6.3 Atari m68k vbgz[œTuIvVg
     6.4 Atari m68k vbgz[ŊOTuIvVg

  7. Amiga m68k vbgz[Ńt[obt@foCXg
     7.1 Amiga m68k vbgz[łǂȃ[hpł邩
     7.2 Amiga m68k vbgz[ł̒ǉTuIvV
     7.3 T|[gĂ Amiga OtBbNg{[h

  8. Macintosh m68k vbgz[Ńt[obt@foCXg
  9. PowerPC vbgz[Ńt[obt@g
  10. Alpha  vbgz[Ńt[obt@foCXg
     10.1 ǂȃ[hĝ
     10.2 t[obt@foCXłǂȃOtBbNJ[h܂

  11. SPARC vbgz[Ńt[obt@foCXg
     11.1 t[obt@foCXłǂȃOtBbNJ[h܂
     11.2 t[obt@foCXݒ肷

  12. MIPS vbgz[Ńt[obt@foCXg
  13. ARM vbgz[Ńt[obt@foCXg
     13.1 Netwinders
     13.2 Acorn Archimedes
     13.3 ̑ ARM |[g (SA 7110s Ȃ)

  14. multi-headed t[obt@g
     14.1 ͂߂
     14.2 tB[hobN
     14.3 v𒸂X
     14.4 ʓIȐ
     14.5 쌠ɂ
     14.6 ǂȃn[hEFAT|[gĂ邩
     14.7 pT|[g
     14.8 KvȂ̂肷
     14.9 n߂悤
        14.9.1 R\[Ɉړ
        14.9.2 ڂ̃j^[ł̐ݒ𒲐߂邽 ''fbset'' g
        14.9.3 t[obt@T|[gɑ΂ X ݒ肷
        14.9.4 ڂ̃j^[  X T[onĂ݂
     14.10 v
     14.11 ̑̒ӂƖ_
        14.11.1 ''init level 5 ''(Ƃ  xdm/gdm) 𓮂悤ɂ
        14.11.2 x2x vOg
        14.11.3 ̑𗧂R}h
        14.11.4 ⑫ A.
        14.11.5 ⑫ B.  Borne VFXNvg "cvtfile"

  15. tHggAύX
  16. R\[[hύX
  17. X11 FBdev hCoݒ肷
  18. t[obt@foCX̃^C~O XFree86 [hCǂ̂悤 ɕϊ悢łB
  19. Linux ̃SύX
  20. Əm肽Ȃ

  ______________________________________________________________________

  1.  

  

  19990607 - Release of 1.0

  19990722 - Release of 1.1

  20000222 - Release of 1.2

  2.  vĂX

  Framebuffer HOWTO ̉ɉĂ̕XɊӁB

  o  Jeff Noxon jeff@planetfall.com

  o  Francis Devereux f.devereux@cs.ucl.ac.uk

  o  Andreas Ehliar ehliar@futurniture.se

  o  Martin McCarthy marty@ehabitat.demon.co.uk

  o  Simon Kenyon simon@koala.ie

  o  David Ford david@kalifornia.com

  o  Chris Black cblack@cmpteam4.unil.ch

  o  N Becker nbecker@fred.net

  o  Bob Tracy rct@gherkin.sa.wlk.com

  o  Marius Hjelle marius.hjelle@roman.uib.no

  o  James Cassidy jcassidy@misc.dyn.ml.org

  o  Andreas U. Trottmann andreas.trottmann@werft22.com

  o  Lech Szychowski lech7@lech.pse.pl

  o  Aaron Tiensivu tiensivu@pilot.msu.edu

  o  Jan-Frode Myklebust for his info on permedia cards
     janfrode@ii.uib.no

  o  ܂ɑĂׂĂ̕X邱Ƃł܂B̑̕
     ɊӁB

  Rick Niles frederick.a.niles@gsfc.nasa.gov ́A HOWTO  Multi-
  Head Mini-HOWTO ܂܂邽ߐS悭񋟂Ă܂B

  Ceł X11 ɑ΂ XF86_FBdev X11 t[obt@hCo
  libc5/glibc2 ł\zLXg̕XɊӁB

  o  Brion Vibber brion@pobox.com

  o  Gerd Knorr kraxel@cs.tu-berlin.de

  At[obt@foCX̒҂̕XɂӁB

  o  Martin Schaller - t[obt@TO̍ŏ̒

  o  Roman Hodek Roman.Hodek@informatik.uni-erlangen.de

  o  Andreas Schwab schwab@issan.informatik.uni-dortmund.de

  o  Guenther Kelleter

  o  Geert Uytterhoeven Geert.Uytterhoeven@cs.kuleuven.ac.be

  o  Roman Zippel roman@sodom.obdg.de

  o  Pavel Machek pavel@atrey.karlin.mff.cuni.cz

  o  Gerd Knorr kraxel@cs.tu-berlin.de

  o  Miguel de Icaza miguel@nuclecu.unam.mx

  o  David Carter carter@compsci.bristol.ac.uk

  o  William Rucklidge wjr@cs.cornell.edu

  o  Jes Sorensen jds@kom.auc.dk

  o  Sigurdur Asgeirsson

  o  Jeffrey Kuskin jsk@mojave.stanford.edu

  o  Michal Rehacek michal.rehacek@st.mff.cuni.edu

  o  Peter Zaitcev zaitcev@lab.ipmce.su

  o  David S. Miller davem@dm.cobaltmicro.com

  o  Dave Redman djhr@tadpole.co.uk

  o  Jay Estabrook

  o  Martin Mares mj@ucw.cz

  o  Dan Jacobowitz dan@debian.org

  o  Emmanuel Marty core@ggi-project.org

  o  Eddie C. Dost ecd@skynet.be

  o  Jakub Jelinek jj@ultra.linux.cz

  o  Phil Blundell philb@gnu.org

  o  ẮAɊ܂߂悤Ȑ\Ă :o)

  3.  t[obt@foCXƂ͉

  t[obt@foCXƂ́AOtBbNn[hEFA̒ۉłB
  ̃rfIn[hEFÃt[obt@̃G~[VŝŁA
  AvP[V\tgEFA͂ƒ߂ꂽC^[tF[X
  ăANZX邱ƂłǍʁA\tgEFA͉ʃx̃C
  ^[tF[X̓eɂĉmKvȂȂ܂B[linux ̃J[l
  \[XɓYtĂ Geert Uytterhoeven  framebuffer.txt 
  p]

  4.  t[obt@foCX͉̒

  yMSB:o)k͂ĂAt[obt@foCX̂ȗ_
  ́AׂẴvbgz[ɓnĔėp̃C^[tF[X񋟂邱
  łBJ[l 2.1.x ̊JߒŁAŋ߂܂ŃCevbgz[́A
  ̑̃vbgz[̃R\[hCoƂ͊SɈႤR\[h
  CogĂ܂B2.1.109 oƂA炷ׂĂ͂ǂ̂
  ύXACevbgz[łɓꂳꂽR\[
  ܂BɃrbg}bvOtBJȃR\[𓱓ď߂
  Cevbgz[Ńrbg}bvꂽyMS̕\\
  ɂȂ܂BɈقȂvbgz[łR[hLł悤
  Ȃ܂BJ[l 2.0.x ̓t[obt@hCoT|[gĂ
  ܂񂪁AN2.1.x J[l2.0.x J[lɃR[hobN
  |[gł傤Bm68k vbgz[ v0.9.x J[lł́At[
  obt@foCXT|[głɊ܂łƂO܂B

  J[l 2.2.x ̃[XŁAt[obt@foCXT|[g͐M
  肪܂B2.2.x J[lgpĂāAg̃OtBbNJ[
  ht[obt@T|[gĂȂgق悢ł傤B
   2.0.x J[lł͏ȂƂCevbgz[ł̓t[ob
  t@foCX̓T|[gĂ܂B

  o  0.9.x (m68k) -  m68k t[obt@foCX𓱓Bm68k 0.9.x
     ͋@\Iɂ́AIntel 1.0.9 (plus 1.2.x enhancements) ƓłB

  o  2.1.107 - Intel framebuffer ƐVR\[foCX𓱓A
     scrollback buffer support ȂʓIȃT|[gǉB

  o  2.1.113 - vgacon  scrollback buffer support ǉB

  o  2.1.116 - vesafb  scrollback buffer support ǉB

  o  2.2.x - matroxfb(Matrox)  atyfb(ATI) ܂ށB

  t[obt@foCXɂ͑f炵dlĂ̂܂B
  NɃJ[lɈʓIȃIvV^邱ƂłAɂ͓
  t[obt@foCXɌŗL̃IvV܂܂Ă܂B̂悤
  ̂܂F

  o  video=xxx:off - ̃t[obt@̌o𖳌ɂB

  o  video=map:octal-number - t[obt@(FB)foCXɉzR\[
     (VCs)}bvB

     o  video=map:01 ́AFB0  VC0 AFB1  VC1 AFB0  VC2 A
        FB1  VC3 Ƃ悤Ƀ}bvB

     o  video=map:0132 ́AFB0  VC0 AFB1  VC1 AFB3  VC2 A
        FB2 VC4  FB0  VC5 ̂悤Ƀ}bvB
  ʏt[obt@foCX̓J[lɖLꂽԂŌ܂
  A video=xxx IvV𖾎邱ƂŁAJ[lɋLꂽ̂
  ɁÃt[obt@foCX邱Ƃł
  B

  5.  Cevbgz[Ńt[obt@foCXg

  5.1.  vesafb Ƃ͉

  Vesafb  VESA 2.0 ގ̃OtBbNJ[hœCeA[LeN
  `̃t[obt@hCołBJ[lŃt[obt@fo
  CXƖڂɊ֌WĂ܂B

  vesafb ́Arbg}bvꂽeLXgR\[ɑ΂Cev
  bgz[ŁAOtBJ[h̎gp\ɂfBXvCh
  CołBS\ł悤ɂȂAꂪ炭vesafb g
  ȗR܂B

  cOȂAVESA 1.2 J[hł͏\ vesafb g܂B
  1.2 J[h linear frame buffering gȂłBLinear frame
  buffering Ƃ̂́AVXe CPU fBXvĈׂĂ bit ɃA
  NZXłƂƂłBjIɁAÂOtBbNJ[hł́Ax
   64K  CPU ANZXł܂BꂪÃI\VC CGA/EGA
  OtBbN[ȟEAƂ킯ł!  ̃J[hɂĂ
  vesafb12 foCXhCoNĂ悢ł傤ÁAMd
  ȃJ[lA܂肽ȂiKvɂȂł傤B

  ȂAȂ̂ƌÂ VESA 1.2 J[hɑ΂
  VESA 2.0 GNXeVɂ́AƂw͂KvłBDOS
  瓮 TSR ^vO_E[hłł傤Aloadlin
  gēK؂ȃOtBbNR\[[hɑ΂ăJ[h̐ݒ
  ܂B͂܂ȂƂ𒍈ӂĂĂBƂ
  ΁AVLB 54xx V[Ŷ悤 Cirrus Logic ̂̂́At[ob
  t@Opɓ̃AhX(Ƃ15MB-16MB ͈͈̔ȓ)͈̔
  }bvĂA炪 32MB ȏ̃VXeŃ
  ͈͂珜OĂ邱ƂOɂĂ܂B̂悤ȃ{[h𓮂
  @͂܂BƂ΁A15MB-16MB ͈̔͂Ńz[̂܂܂ɂ
   BIOS IvVgȂ瓮ł傤BLinux g̓z[
  ̎gpT|[gĂ܂BÃIvVɑ΂pb`
  ܂A[NāAǂ肷邩Hł] Ȃ̃Iv
  VĂ݂ȂApł TSR vO͂񂠂
  B UNIVBE ͂ƗLŁAC^[lbgɂ܂B

  邢́A VESA t[obt@hCoœ߁AVESA 1.2 J[h
  \ɂJ[lpb`_E[hłł傤BƂ΁A
  VESA 1.2 T|[gĂ邿ƌÂ S3 ̃{[h(S3 Trio  S3
  Virge ̂悤)Ŏgpb`܂B̃J[hɂẮA

  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">

  5.2.  vesafb hCoLɂ@

  menuconfig gƉ肵āÂ悤Ȏ菇KvłB

  g̃vZbT(Cevbgz[) MTRR ނT|[gĂ
  ȂALɂ܂B̋@\̓vZbTƃOtBbNJ[h
  ԂŃRs[ɂ܂AKKvł͂܂B
  AR\[foCX𓮂悤ɂōsƂł܂B

  dvF2.1.x J[lł́ACode Maturity Level ̃j[ɓA the
  prompt for development Ƃ܂́Aincomplete drivers Lɂ
  B2.2.x J[lł͂͂Kv͂܂B

  Console Drivers j[ɓA̍ڂLɂ܂F

  o  VGA Text Console

  o  Video Selection Support

  o  Support for frame buffer devices (experimental)

  o  VESA VGA Graphic console

  o  Advanced Low Level Drivers

  o  Select Mono, 2bpp, 4bpp, 8bpp, 16bpp, 24bpp and 32bpp packed pixel
     drivers

  VGA Chipset Support (eLXĝ) - vgafb - ́ALXg̈ꕔł
  Aᔻт̂Ō݂͎菜AT|[gĂ܂B
  ɍ폜ł傤B VGA Text Console (fbcon) g
  B VGA Character/Attributes  VGA Chipset ł̂ݎgpłAI
  Kv͂܂B

  Mac variable bpp packed pixel support ͗Lɂ͂ȂĂȂ̂͊m
  BLinux J[l 2.1.111 (  112)ł́AŏɁAAdvanced Low
  Level Drivers IĂȂAIɂLɂ悤łB
  2.1.113 ł͂̂悤ɂ͂Ȃ܂B

  ɃtHgăRpCIvV܂A͎
  ۂɂ͕Kvł͂ȂAR\[foCXɃtHg[h邱ƂŃtH
  gύX邽߁Aʏ kbd-0.99 ̃tHg[eBeB(tHg
  ɂĂ̏͂Ă)g܂B

  W[ɂȂ悤mFĂB[W[Ƃđgݍ݂
  \͂悭킩܂BɂĂ͋ĂB ]

  /dev Ƀt[obt@foCXȂĂ͂܂Bt[ob
  t@foCXƂɂЂƂKvŁAfoCX邽߂ɁA܂ mknod
  /dev/fb0 c 29 0 Ɠ͂܂B̂ЂƂ 32 ̔{ɂȂAƂ΁A
  /dev/fb1 ɂ́Amknod /dev/fb1 c 29 32 Ɠ͂Ȃ΂܂
  B̂悤ɂđ8 ̃t[obt@foCX܂ō邱Ƃ
  ܂(mknod /dev/fb7 c 29 224)B

  ɁAJ[lč\zA/etc/lilo.conf  VGA=ASK Ƃp[^
  ďAlilo 𑖂点AŎg[hIł悤
  ܂B

  ȒP LILO ̐ݒł(̃}VŎgĂł)B

  # LILO ݒt@C
  boot = /dev/hda3
  delay = 30
  prompt
  vga = ASK # [U]ރ[h͂B
  image = /vmlinuz
    root = /dev/hda3
    label = Linux
    read-only # -UMSDOS t@CVXe͓ǂ݂݂̂Ń}Eg܂B

  J[lċNAȒPȃeXgƂāAVGA vvg 0301 ͂
  ܂( 640x480 @ 256 ɂȂ܂)AłȂ͂킢ȃyM
  S邱Ƃł͂łB

  VGA vvgŁA''0'' 3 ŕ\`ł̐̓͂v邱Ƃ
  ӂĂB'x' ł͂߂łBLILO gĂȂ炱͕Kv
  ܂B

  ܂Ƃm߂ȂA܂܂ VESA [h(q)Ă
  Ƃ悢̂Ɍ߁Alilo.conf  ''VGA=x''p[^Ƀn[hEFAw
  ܂BƂǂ̂I񂾂ƂAL̕\10i̐lɑ
  ̂TAg(Ƃ΁A1280x1024 @ 256 ɑ΂ẮA
  ɊւẮALoadLin  LILO ɂĂ HOWTO ǂłB

  ! vesafb ̓ftHgł̓XN[obNobt@OLł
  ܂BJ[lŗLɂIvVnKv܂BAN
  eBuɂ邽 video=vesa:ypan ܂ video=vesa:ywrap g܂B
  ̓͓Ƃ@ōs܂Bywrap  ypan 肩Ȃ荂
  łA VESA 2.0 OtBbNJ[hł͓Ȃ
  B ypan  ywrap xł荂݊܂B̃Iv
  V̓J[l2.1.116 Ƃȍ~̃J[lłg܂BO
  J[l vesafb ŃXN[obt@O\͂Ă
  B

  5.3.  ǂ̂悤 VESA [h𗘗pł邩

  g̃VXeŎgĂ VESA 2.0 ގOtBbNJ[ȟ^ƃrf
  I̗eʂɈˑ܂B̌́Ag̃rfIJ[hɂƂčŗ
  ɓ[heXg鎖łB

  ̕\́A VGA vvgœ͂łA܂ LILO vOŎg
  [hl̂łB(̐l͕\QƂ̂ȒP
  Ă邽߁Aۂɂ0x200 ܂B)

  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      ?

  Key: 8 bits  256 FA15 bits  32,768 FA16 bits  65,536 FA24
  bits  16.8 FA32 bits  24 bits ƂقړłA] 8 bits
  ͑̂ƂɎg܂BāA32 bit PCI/VLB/EISA oXŁAɓK
  ܂B

  ǉ[h̓J[h[J[̔fɂAVESA 2.0ŁA 0x31F ɒ`
  [hĂ邾łB̓ʂ̃[hɂ͂ꂱ
  ꂠȂĂ͂Ȃ܂B

  5.4.  Matrox J[hݒ肷ɂ́H

  Matrox ̃OtBbNJ[hĂȂAۂ̂Ƃ vesafb ͕K
  v܂B matroxfb hCoKvłB͂g̃J[
  h̔\͂𒘂߂܂BMatroxfb  Matrox Mystique Millennium I 
  IIAG100  G200 œł傤Bmultiheaded VXe܂T|[g
  Ă܂(܂Ã}VɂQ Matrox J[hĂȂA
  }VłQ̃fBXvCgƂł܂I) Matrox ݒ肷
  邽߁Â悤ɂKv܂B

  Matrox BIOS XVȂA
  http://www.matrox.com/mgaweb/drivers/ftp_bios.htmBIOS AbvO[
  hł_E[hł܂BAbvO[hɂ DOS KvɂȂ邱
  ƂɒӂĂB

  Code Maturity Level j[ɓAdevelopment and/or incomplete
  drivers Lɂ܂B[͍̃J[lł͕ύXɂȂ邩
  BȂ΁AHOWTO ͉ł傤B ]

  Console Drivers j[ɓA̍ڂLɂ܂B

  o  VGA Text Console

  o  Video Selection Support

  o  Support for frame buffer devices (experimental)

  o  Matrox Acceleration

  o  Select the following depending on the card that you have

     o  Millennium I/II support

     o  Mystique support

     o  G100/G200 support

  o  Enable Multihead Support if you want to use more than one Matrox
     card

  o  Advanced Low Level Drivers

  o  Select Mono, 2bpp, 4bpp, 8bpp, 16bpp, 24bpp and 32bpp packed pixel
     drivers

  J[lč\z܂Bꂩ Matroxfb foCXLɂ邽
  lilo.conf t@CCKv܂BƂĊȒPȕ@
  ̂̂ėp邱ƂłB

  # 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

  Ō /dev Ƀt[obt@foCXȂ΂܂Bt[
  obt@foCXƂɈKvŁAfoCX邽߂ɁA܂ mknod
  /dev/fb0 c 29 0 Ɠ͂܂B̂ЂƂ 32 ̔{ɂȂAƂ΁A
  /dev/fb1 ɂ́Amknod /dev/fb1 c 29 32 Ɠ͂Ȃ΂܂
  B̂悤ɂđāA8 Ԗڂ̃t[obt@foCX܂ō܂
  (mknod /dev/fb7 c 29 224)B

  ł͂łI[ӁFǂȂ multiheaded support g
  Ał邾ɘAĂB͂̌ɂď߂ (
  񂪂ق) b̂łB]

  5.5.  Permedia J[hݒ肷ɂ́H

  Permedia J[h vesafb hCoł͎gƂ͂ł܂񂪁AKɁA
  Permedia t[obt@hCo܂Bmenuconfig gȂA
  ̂悤ɍs܂B

  Code Maturity Level j[ɓAdevelopment and/or incomplete
  drivers [͏̃J[lł͕ύX邩܂BȂ
  A HOWTO ͉ł傤B]

  Console Drivers j[ɓA̍ڂI܂B

  o  VGA Text Console

  o  Video Selection Support

  o  Support for frame buffer devices (experimental)

  o  Permedia2 support (experimental)

  o  Generic Permedia2 PCI board support

  o  Advanced Low Level Drivers

  o  Select Mono, 2bpp, 4bpp, 8bpp, 16bpp, 24bpp and 32bpp packed pixel
     drivers

  o  tHggݍ݂ŃRpCĎgȂAIvVƂāA
     ̍ڂI܂B
     o  Select compiled-in fonts

     o  Select Sparc console 12x22 font

  J[lč\z܂Bꂩ pm2fb foCXLɂ邽߁A
  lilo.conf t@CCȂ΂܂B葬ȒPɂȂA
  Ɏ̂gĂB

  # 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

  [hAscrollback T|[gɑ΂ ypan ܂ SUN12x22 tHg(
  IĂȂ)IĂ̂܂B]݂Ȃ烂[hI
  Ă悢ł傤B

  ŌɁA /dev Ńt[obt@foCXȂ΂܂Bt
  [obt@foCXƂɂЂƂKvłAŏ̂ЂƂ
  ɁA mknod /dev/fb0 c 29 0 Ɠׂ͂łB̂̂́A32 ̔{
  ŁAƂ΁A/dev/fb1 ɂ́Amknod /dev/fb1 c 29 32 Ɠ͂Ȃ
  ΂܂B̂悤ɑāA8 Ԗڂ̃t[obt@foCX
  ܂ (mknod /dev/fb7 c 29 224)B

  Permedia ̃t[obt@hCô̑̎dlɂĂ̏ڍ׏
  g̃uEUŎ̂ƂŌĂF

  <htmlurl
  url="http://www.cs.unibo.it/~nardinoc/pm2fb/index.html"
  name="http://www.cs.unibo.it/~nardinoc/pm2fb/index.html">

  video=pm2fb:[option[,option[,option...]]]

  option ̏ꏊɂ͎̂ǂꂩЂƂg܂B

  o  hCo𖳌ɂB

  o  mode:resolution ́AR\[̉𑜓xݒ肷邽߁B[h
     Geert  fbset pbP[Wɂ fb.modes ATI t@Cfb.modes 
     擾Ă܂BׂẴ[hɑ΂ depth  8bpp łB
     pł郂[h̃XgłF

     o  640x480-(60,72,75,90,100)

     o  800x600-(56,60,70,72,75,90,100)

     o  1024x768-(60,70,72,75,90,100,illo) illo=80KHz 100Hz

     o  1152x864-(60,70,75,80)

     o  1280x1024-(60,70,74,75)

     o  1600x1200-(60,66,76)

  o  ftHg 640x480-60 łB

  o  font:font name ̓R\[tHgݒ肷邽߁BƂ΁A
     font:SUN12x22 ̂悤ɂ܂B

  o  ypan sets ̓rfITCY̂Ɠ炢傫
     ̉zʂ̍ݒ肵܂B

  o  oldmem ƂIvV́ACybervisionPPC [Û݂ɑΉ܂B
     g̃{[h( 30-Dec-1998 ȑOׂ͂CVisionPPCs)ɏ
     Fujitsu SGRAMނgĂȂA𖾋L܂B

  o  J[lg̃vbgz[ PCI ̈ă}bvȂA
     zI(ꎞI)L܂B

  5.6.  ATI J[hݒ肷ɂ́H

  [ӁF ATI ̃J[hĂ܂̂ŁAeXg͂Ă܂B
  ̏́A܂A܂͂킳݂̂̏łBԈĂAӌ
  ΁AǂCyɂ肭B ]

  ATI J[h vesafb hCoŎg܂ÃJ[hǂ̒xĂ
  邩ɂĖɂԂ邩܂񂵁A邢͖Ȃɂ邩
  ܂Bmenuconfig gȂÂ悤ɍsĂB

  Code Maturity Level j[ɓAprompt for development and/or
  incomplete drivers Lɂ܂[͏̃J[lŕύXɂȂ邩
  ܂BȂƂA HOWTO ͍XVł傤B]

  R\[hCõj[ɂ͂A̍ڂIĂB

  o  VGA Text Console

  o  Video Selection Support

  o  Support for frame buffer devices (experimental)

  o  ATI Mach64 display support

  o  Advanced Low Level Drivers

  o  Select Mono, 2bpp, 4bpp, 8bpp, 16bpp, 24bpp and 32bpp packed pixel
     drivers

  o  tHggݍŎgȂA̍ڂI܂B

     o  Select compiled-in fonts

     o  Select Sparc console 12x22 font

  J[lč\z܂BꂩAatyfb foCXLɂ邽߁Ag
  lilo.conf t@CCȂ΂܂B葁ȒPɂɂ
  ̂̂𗘗p܂傤B

  # 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

  邱Ƃ܂B

  ŌɁA /dev Ńt[obt@foCXȂ΂܂Bt
  [obt@foCXƂɂЂƂKvłAŏ̂ЂƂ
  ɁA mknod /dev/fb0 c 29 0 Ɠׂ͂łB̂̂́A32 ̔{
  ŁAƂ΁A/dev/fb1 ɂ́Amknod /dev/fb1 c 29 32 Ɠ͂Ȃ
  ΂܂B̂悤ɑāA8 Ԗڂ̃t[obt@foCX
  ܂ (mknod /dev/fb7 c 29 224)B

  video=atyfb:[option[,option[,option...]]]

  IvV̏ꏊɂ͎̂ǂꂩЂƂg܂B

  o  font:STRING  ͑gݍ݃tHgI܂(J[lɃRpC
     )

  o  noblink  ͓_ł𒆎~܂B

  o  noaccel ͉𖳌ɂ܂B

  o  vram:ULONG  ́Aǂꂭ炢̃Ă邩  atyfb ɓ`
     B

  o  pll:ULONG Unknown

  o  mclk:ULONG Unknown

  o  vmode:ULONG Unknown

  o  cmode:ULONG  depth  0, 8, 15, 16, 24  32 ɐݒ肵܂B

  5.7.  ǂ̃OtBbNJ[hVESA 2.0 ގ̂̂

  ̃Xg vesafb foCXœƂ킩ĂOtBbNJ[h
  łB

  o  ATI PCI VideoExpression 2MB (max. 1280x1024 @ 8bit)

  o  ATI PCI All-in-Wonder

  o  Matrox Millennium PCI - BIOS v3.0

  o  Matrox Millennium II PCI - BIOS v1.5

  o  Matrox Millennium II AGP - BIOS v1.4

  o  Matrox Millennium G200 AGP - BIOS v1.3

  o  Matrox Mystique & Mystique 220 PCI - BIOS v1.8

  o  Matrox Mystique G200 AGP - BIOS v1.3

  o  Matrox Productiva G100 AGP - BIOS v1.4

  o  All Riva 128 based cards

  o  Diamond Viper V330 PCI 4MB

  o  Genoa Phantom 3D/S3 ViRGE/DX

  o  Hercules Stingray 128/3D with TV output

  o  Hercules Stingray 128/3D without TV output - needs BIOS upgrade
     (free from support@hercules.com)

  o  SiS 6326 PCI/AGP 4MB

  o  STB Lightspeed 128 (Nvida Riva 128 based) PCI

  o  STB Velocity 128 (Nvida Riva 128 based) PCI

  o  Jaton Video-58P ET6000 PCI 2MB-4MB (max. 1600x1200 @ 8bit)

  o  Voodoo2 2000

  ̃Xg̓VXẽ}U[{[hɃI{[h`bvZbgɂȂĂ
  B

  o  Trident Cyber9397

  o  SiS 5598

  ̃Xg vesafb foCXł͓ȂOtBbNJ[h܂Ƃ߂
  ̂łB

  o  TBA

  5.8.  vesafb W[ɂł܂B

  ĂAvesafb ̓W[ɂ邱Ƃ͂ł܂B
  珫̂鎞_ŁAvesafb ̊J҂W[̂߃\[XC
  锻fs\͂܂BƂW[ɂłĂAN
  vesafb  modprobed W[[h܂ŃfBXvCɉo͂
  Ȃł傤BNɖ肪łꍇ̂ŁAJ[l̂ȂɎc
  ƌ̂܂B

  5.9.  J[\C@́H

  [VGA-softcursor.txt ̈p - Martin Mares Ɋ ]

  ݁ALinux ̓J[\`ύXł܂BʏAn[hEFAJ[\
  TCYݒł܂(Ă̂܂萫\̂悭Ȃ Trident J[h
  ɂ͂ȃoOĂ̂܂B drivers/char/ ɂ vga.c
  ̂Ȃ #define TRIDENT_GLITCH ĂB) VXe̐ݒ
  ''Software generated cursor''LɂłꍇAƂṼg
  bNg܂BJ[\_łȂԂ̂悤Ɍ邱ƂłA
  ̔wi𔽓]邱ƂłA𓧉߂邢̓nCCgɂ
  AƂ̃n[hEFAJ[\A܂͕s̂ǂ炩̑I
  cĂ܂B܂lƂȂ悤Ȃ̑̑삪邩
  ܂B

  J[\̌`

  <ESC>[?1;2;3c

  ł܂B1A2  3 ͎Ɏp[^ɂȂ܂BǂgȂ
  ȂAftHg 0 ɂȂ܂B

  p[^ 1 ́AJ[\̃TCY 16 ܂ŁA𖾎܂(0=ftHgA
  1=A2=A..., 8=ubN)A\tgEFAJ[\g
  A 32 gȂƂ܂Bwi̐F 64 gAύXāA
  Oʂ̐FƓFwiɂȂȂ 64 ɂ܂BBHighlight ͍Ō
  ̓̃tO𖳎܂B

  2Ԗڂ̃p[^͕ύX̃rbgI܂(̃p[
  ^̒lPɍv)BW VGA ŁAʂ 4 ̃rbg͔wi
  Aʂ 4 ̃rbg͑OʂɂȂ܂B̃O[vŁAʂ 3
  rbgF(R\[Ŏgʏ̃J[R[ĥ悤)A
  čłdvȂ̂nCCgɂȂ܂(邢͂Ƃǂ͓_ŏԂɂ
  ܂B͂g VGA ̐ݒɈˑ܂B)

  3p[^͐ݒ肵rbgȂ܂Bݒ肷rbg
  rbggOOɒu΁A}XN̐ݒƃ}XNgO̗܂
  rbgȒPɏł܂B

  A_[C𕁒ʂɓ_łɂ́Â悤ɂ܂B: echo -e
  '\033[?2c' ̈_łɂ́Â悤ɂ܂B:            echo
  -e '\033[?6c' ̈O_łɂ́Â悤ɂ܂B:    echo -e
  '\033[?17;0;64c'

  6.  Atari m68k vbgz[Ńt[obt@foCXg

  ł Atari m68k vbgz[ł̃t[obt@IvVɂ
  ďqׂ܂B

  6.1.  Atari m68k vbgz[łǂȃ[hpł邩

  Colours   320x200 320x480 640x200 640x400 640x480 896x608 1280x960
  --------+---------------------------------------------------------
   1 bit  |                         sthigh   vga2    falh2   tthigh
   2 bits |                 stmid            vga4
   4 bits | stlow                         ttmid/vga16 falh16
   8 bits |         ttlow                   vga256

  ttlowA ttmid āA tthigh  TT łgAɁA
  vga2Avga4A vga15Avga256Afalh3  falh16  Falcon łg
  B

  J[lIvV video=xxx gAāATuIvVȂ
  AJ[l͗^ꂽn[hEFAŉ\ȃ[h܂ň
  [ho܂B

  o  ttmid

  o  tthigh

  o  vga16

  o  sthigh

  o  stmid

  g[hoȂȂAgƎvʂȃ[h`
  ق悢ł傤BƂ΁Avideo=vga16 ƂƁA 4 bit 640x480
  fBXvCɂȂ܂B

  6.2.  Atari m68k vbgz[̒ǉIvV

  video=xxx p[^ŗpł邢̃TuIvV܂B

  o  inverse -  fBXvC𔽓]܂BobNOEhƃtHAO
     Eh]܂BʏAobN͍łÃTuIvVg
     ƁAobN𔒐Fɐݒł܂B

  o  font - eLXg[hŎgtHgݒ肵܂B VGA8x8, VGA8x16,
     PEARL8x8 Ił܂BfBXvC̉zTCY 400 sNZ
     ȉ̏ꍇ́AftHg VGA8x8 ݂̂ŁȂ VGA8x16 f
     tHgɂȂ܂B

  o  internal - ƂĂ[IvVłBɂĂ͎̏͂
     B

  o  external - LƓlB

  o  monitorcap - }`ɑ΂\͂Lq܂BŒ蓯j^[
     ͎gĂ͂܂B

  6.3.  Atari m68k vbgz[œTuIvVg

  Syntax: internal:(xres);(yres)[;(xres_max);(yres_max);(offset)]

  ̃IvV͊grfIn[hEFA̔\́A[hw肵
  B (xres)  (yres) ̓XN[̊g傫߂܂B

  OverScan [hgKvƂȂA internal: TuIvV
  R̕ϐȂ΂܂B (xres_max) ̓n[hEFAe
  ő̗̒ŁA(yres_max) ́Aő̗̐A (offset) ̓oCg
  \A̕IJnɃXN[̉₢܂B

  XAgrfIn[hEFAANeBuɂȂĂƁA
  "switches=*" IvVKvɂȂ܂B[ӁF҂͂̌ɂĂ
  ƎvĂ܂BJ[lYt m68k ͂̓̕_
  Ă͏\ł͂܂񂵁Aނ Atari Ă܂B̗
  ܂𗧂ł傤B ]

  6.4.  Atari m68k vbgz[ŊOTuIvVg

  Syntax:
  external:(xres);(yres);(depth);(org);(scrmem)[;(scrlen)[;(vgabase)[;(colw)[;(coltype)[;(xres_virtual)]]]]]

  ͂ƂĂGȂ̂ŁA̕ł͂ł邾킩₷悤
  lĂ܂AǂȂƖڂʂāAԈႢȂ𒲂ׂ
  Ȃ璘҂͊}܂B

  ̃TuIvV́AÕrfIn[hEFA(ɃOtBbN{[
  ĥ悤)gĂāALinux łǂ̂悤Ɏg`܂BJ[l
  ̒mĂ͈͂͊{IɓrfIn[hEFAɌ̂ŁAO
  rfIn[hEFAg悤ɂ邽߃p[^^Ȃ΂Ȃ
  B̐܂BNOɃ[hؑւȂ΂
  ܂BċNĂ܂ƃ[hؑւ邱Ƃ͂ł܂B

  ŏ̎O̃p[^͂͂肵Ă܂Bʂ͈̔͂A
  Adepth sNZŗ^܂Bdepth ́Avꂽ̐l 2^n
  FłȂ΂܂BƂ΁A256 F̃fBXvCg
  ȂAdepth Ƃ 8 gpȂ΂܂B̓n[hEFA
  \ɂĐ܂AOOtBbNn[hEFAɈˑ
  B

  Ɏ悤ɁArfIǂꂭ炢g܂Ă邩J[lɓ`
  Kv܂B (org) p[^Ƃĕ^܂B

  o  n - ʏ̐ʂgBƂ΁Aʂ̂̂gƂőSʂ
     gB

  o  i - C^[[uʂgBƂ΁Aŏ 16 bits g
     Aꂩ珇ԂɎ̐ʂ 16 rbgg܂Bgݍ݂
     Atari rfI[hgp܂BāÃ[hT
     |[gOtBbNJ[h͂܂B

  o  p - ܂Ƃ܂sNZgBƂ΁AAIȃrbg̓sNZ
     ΂ׂĐlɂȂ܂B̓OtBbNJ[h 256 FfBX
     vCɑ΂łʂ̃[hłB

  o  t - true colour gBƂ΁A͎ۂɂ܂Ƃ܂sNZ
     邪Â܂Ƃ܂sNZ[hĝ̂悤ɐF\v
     ܂B̃[h͒ʏ 24 rbgfBXvCŁA16.8 F
     ^܂B

  AmN[hɑ΂ẮA(org) p[^͈Ӗ
  B

  o  n - use normal colours, i.e 0=white, 1=black

  o  i - use inverted colours, i.e. 0=black, 1=white

  rfIn[hEFAɂĎɏdvȍڂ́ArfĨx[XAh
  XłB擪 0x  60 i̐ (scrmem) p[^ŗ^
  BOrfIn[hEFAɓYtĂ镶炱Ȃ΂
  ܂B

  ̃p[^ (scrlen) ́ArfĨTCYJ[lɓ`܂B
  w肵ȂƁA (xres)A(yres)  (depth) p[^vZ
  ܂Bɒl̂͂ǂlĂ܂ʓIł͂܂B
  (vgabase) p[^^KvȂAȂƂӖŁA
  Z~R(G)ė^Ă܂BKvȂȂAȂ
  ł܂B

  (vgabase) p[^̓IvVłBꂪȂƁAJ[l̓rfI
  n[hEFÂǂ̂悤ȐFXgǂ/ł܂񂩂ALinux N
  OɓK؂ȐFݒ肵Ȃ΂܂Bg̃J[h
  VGA ݊ȂAVGA o^uĂAhXłwł̂ŁAF
  e[uύXł܂B̏͂g̊OrfIn[hEFA̕
  ŊmFł܂Bclear A (vgabase) 쐬邽߁AF̓o^ǂ݁A
  邽߁AJ[l(vgabase) + 0x3c7  (vgabase) +0x3c9 ̊Ԃ̔
  ͂ɂAhXg܂B̃p[^́A60 iŗ^A
  (scrmem)ƓlA擪 0x uȂĂ͂܂B

  (vgabase) p[^`ȂA(colw) ӖĂ
  Bꂼ̐Fo^ǂꂭ炢̕ɂȂ邩AƂ΁APF
  ((red/green/blue)Ƃ̃rbgJ[lɓ`܂BftHg͂
   6 rbgłA8 rbgƂ̂ʂłB

  (coltype)  (vgabase) p[^ƂƂɎgAg̃OtBbN
  {[h̐Fo^fJ[lɓ`܂B݁AT|[gꂽ^
  vga and mv300 łB vga ftHgłB

  (xres_virtual) ͕IsƈقȂĂ ProMST/ET4000 J[h
  ɂKvłB ProMST ł́A2048 ^KvArfI{[h
  Ɉˑ܂B

  7.  Amiga m68k vbgz[Ńt[obt@foCXg

  ̏͂łAtari m68k vbgz[Ƃقړl Amiga ɊւIvV
  ɂďqׂ܂B

  7.1.  Amiga m68k vbgz[łǂȃ[hpł邩

   Amiga ŎgĂ`bvZbgɈˑ܂BɎO̂
  ܂BOCS, ECS  AGA ׂ̂Ă̓J[t[obt@foCX
  g܂B

  o  NTSC modes

     o  ntsc - 640x200

     o  ntsc-lace - 640x400

  o  PAL modes

     o  pal - 640x256

     o  pal-lace - 640x512

  o  ECS modes - 2 bit colours on ECS, 8 bit colours on AGA chipsets
     only.

     o  multiscan - 640x480

     o  multiscan-lace - 640x960

     o  euro36 - 640x200

     o  euro36-lace - 640x400

     o  euro72 - 640x400

     o  euro72-lace - 640x800

     o  super72 - 800x300

     o  super72-lace - 800x600

     o  dblntsc - 640x200

     o  dblpal - 640x256

     o  dblntsc-ff - 640x400

     o  dblntsc-lace - 640x800

     o  dblpal-ff - 640x512

     o  dblpal-lace - 640x1024

  o  VGA modes - 2 bit colours on ECS, 8 bit colours on AGA chipsets
     only.

     o  vga - 640x480

     o  vga70 - 640x400

  7.2.  Amiga m68k vbgz[ł̒ǉTuIvV

  Atari m68k ł̃TuIvVƂقړłB̂̂܂B

  o  depth - sNZrbgł depth 𖾎܂B

  o  inverse - Atari ̃TuIvVƓƂsB

  o  font - PEARL8x8 tHg VGA8x8 tHĝɎg܂A
     fBXvCTCY 400 sNZ̕ȂAAtari TuI
     vVƓƂ܂B

  o  monitorcap - }`j^[̔\͂𖾎܂BŒ蓯j^[
     ɎgpĂ͂܂B

  7.3.  T|[gĂ Amiga OtBbNg{[h

  o  Phase5 CyberVision 64 (S3 Trio64 chipset)

  o  Phase5 CyverVision 64-3D (S3 ViRGE chipset)

  o  MacroSystems RetinaZ3 (NCR 77C32BLT chipset)

  o  Helfrich Piccolo, SD64, GVP ECS Spectrum, Village Tronic Picasso
     IIII+ and IV/ (Cirrus Logic GD542x/543x)

  8.  Macintosh m68k vbgz[Ńt[obt@foCXg

  ݂̂ƂAt[obt@foCX Linux NO MacOS 
  Iꂽ[h 1A2A4  8 rbgJ[[hT|[gĂ邾
  łB

  t[obt@TuIvV͎̍\gđI܂B

  video=macfb:<font>:<inverse>

  VGA8x8AVGA8x16   6x11 ̂悤ȃtHgIł܂B inverse
  IvV̓o[XrfIg悤ɂ܂B

  9.  PowerPC vbgz[Ńt[obt@g

  ҂̓vbgz[Ńt[obt@̎gpɂĂ̏肵
  ƍlĂ܂B

  10.  Alpha  vbgz[Ńt[obt@foCXg

  10.1.  ǂȃ[hĝ

  ܂ł̂ƂATGA PCI J[hŁA8 bits  24/32 bit ̂
  ꂩ 640x480 ̉𑜓x 80x30 ݂̂łB

  10.2.  t[obt@foCXłǂȃOtBbNJ[h܂

  ̃Xg͓ƂĂOtBbNJ[hłB

  o  DEC TGA PCI (DEC21030) - 640x480 @ 8 bit or 24/32 bit versions

  11.  SPARC vbgz[Ńt[obt@foCXg

  11.1.  t[obt@foCXłǂȃOtBbNJ[h܂

  ̃Xg͗płOtBbNJ[hłB

  o  MG1/MG2 - SBus or integrated on Sun3 - max. 1600x1280 @ mono
     (BWtwo)

  o  CGthree - Similar to MG1/MG2 but supports colour - max resolution ?

  o  GX - SBus - max. 1152x900 @ 8bit (CGsix)

  o  TurboGX - SBus - max. 1152x900 @ 8 bit (CGsix)

  o  SX - SS10/SS20 only - max. 1280x1024 @ 24 bit - (CGfourteen)

  o  ZX(TZX) - SBus - accelerated 24bit 3D card - max resolution ?
     (Leo)

  o  TCX - AFX - for Sparc 4 only - max. 1280x1024 @ 8bit

  o  TCX(S24) - AFX - for Sparc 5 only - max. 1152x900 @ 24bit

  o  Creator - SBus - max. 1280x1024 @ 24bit (FFB)

  o  Creator3D - SBus - max. 1920x1200 @ 24bit (FFB)

  o  ATI Mach64 - accelerated 8/24bit for Sparc64 PCI only

  fBXvC܂̓VAR\[ɕo͂邽 PROM gI
  vV܂B

  ܂ http://c3-a.snvl1.sfba.home.com/Framebuffer.html ŁASparc Frame
  Buffer FAQ ĂB

  11.2.  t[obt@foCXݒ肷

  make config ŁApromcon (܂) fbcon RpC邩ǂI
  Ȃ΂܂BIł܂AȂAfoCX
  I邽߃J[ltbOݒ肵Ȃ΂܂Bݒ肵ĂȂ
  ƁAʏ́Afbcon D悳܂Bpromcon IĂȂƁAN
  ɁA dummycon ftHgɂȂ܂B promcon IƁA
  foCXɎg܂BxNĂ܂ƁAfbcon gݍ܂AJ[l
  ̓t[obt@TA fbcon g܂Bt[obt@foC
  XȂƁA promcon ftHgɂ܂B

  J[lIvVłB

  video=sbus:options
          where options is a comma separated list:
          nomargins  sets margins to 0,0
          margins=12x24   sets margins to 12,24 (default is computed from resolution)
          off     don't probe for any SBus/UPA framebuffers
          font=SUN12x22   use a specific font

  Ƃ΁A

   video=sbus:nomargins,font=SUN12x22

  ƁA96x40 ̃eLXg𑜓xőfeLXgR\[^ASolaris R
  \[ɂ悭Ă܂AFƉz^[~i̓Cevbgz[
  ɎĂ܂B

  SUN12x22 tHggȂAmake config (fontwidth != 8 option 
  ɂȂĂ)ŁALɂȂ΂܂Bꂽt
  [obt@ 1  16 sNZ̊ԂŃtHgT|[gł܂
  Adumb frame buffers 4A 8A12  16 sNZtHgT|[g
  邾łB

  ŐṼR\[c[pbP[W肵Ȃ΂܂B

  12.  MIPS vbgz[Ńt[obt@foCXg

  ̃vbgz[ł͉ύXKv͂ȂAׂ͂ĎIɏ
  ܂BIndys ͂Ƃ킯 160x64 ̃R\[TCYg߂ ݌v
  Ă܂BA Indys ɑ΂R\[R[h
  Ƃ̂ŁA̍ɂ͒ڂĂĂB

  13.  ARM vbgz[Ńt[obt@foCXg

  13.1.  Netwinders

  Netwinders ( Netwinders ͑hׂ British vZbT ARM SA110
  RISC `bvgĂ܂)ɊւẮA2.0.x ̃J[l 2.2.x J[l
  p̓ނ Cyber2000 t[obt@hCo܂BLɂ
  邽߂ɂƂĂfȂ̂ŁÃJ[lł̃hCogƂ
  ܂AÂł̂̂ depth Ɖ𑜓x(blech)ɊւĂ̓R[hÂ
  ȂĂ܂AV J[l  2.2.x ł͂Ə_ɂȂĂ
  Ƃj[X܂BÂ݂Ƃ܂JłB
  ߂ɂ̓J[l\[X ARM port ɕtĂ镶ǂނƂ
  B

  Netwinders   VGA ݊`bvZbggĂ܂As^ɂǂ
   vgafb Ă܂BǂȂ [ NetWinder v[gĂ
  ȂVł݂̂ł]

  13.2.  Acorn Archimedes

  Acorns  Linux 1.9.x ȍ~t[obt@T|[gĂ܂
  BA2.2.x ŁAAcornfb hCo 2.1.x J[l̊Jɔėp
  ̃t[obt@C^[tF[XύXꂽ̂őS̓IɐVȂ
  ܂BȑÔ悤ɁAhCoANeBuɂ̂͂ƂĂȒP depth
  Ɖ𑜓xݒ肵܂B

  13.3.  ̑ ARM |[g (SA 7110s Ȃ)

  ƂɁAPsion 5  Geofox ̃t[obt@hCo͂ł
  ܂ByMƕ\ƌĂ܂B[ǂȂ
  Psion 5 ɒ񋟂Ă܂񂩁B ]

  14.  multi-headed t[obt@g

  ̕ Frederick A. Niles ɂĐS悭񋟂܂Bނ HOWTO
  ̂̏͂ɓYtɂׂĂ̌LĂ܂B

  14.1.  ͂߂

  ̂̕ȖړÍALinux  dual head configuration 𓮂
  ̂̂łB̍Ƃ͂ƂĂ؂͂肵Ă̂łAƂ
  񂠂܂B

  Ώۂɂł́AԖڂ̃j^[ X T[o𓮂Ă܂B
  ꂪ΂炵̂́AgȂ̂Ŏ̂ĂꂽÂđ傫 19C` 21
  C` ̌Œgj^[͂ʂɌ邩łBȕɂ
  ď^}`VN̂ĂāAfGȑ傫ȃj^[ X g悤ɂł
  ̂łB

  dual head support ͌݊JłȀ͂ɕύXɂȂ邱
  𗝉ĂĂB̂̕邱Ƃ͌ÂȂ邩AȂ
  ǂގɂĂ͐ȂƂł傤B

  **  ** ̕ XFree86 4.0 ̃[XȑOɏ܂B̕
  ǂłȂAXFree86 4.0 ͂łɃ[XĂÂ
  ύXĂ܂BpȂ炱̍̕ŐVł肵ĂB

  14.2.  tB[hobN

  ̕ɂẴtB[hobN͂񊽌}łB݂Ȃ܂̒ĂƋ
  ͂Ȃɂ́A݂͑̕Ȃł傤BǉׂƂ₲ӌA
  ]̃AhXǂeĂB
  Frederick.A.Niles@gsfc.nasa.gov

  14.3.  v𒸂X

  ̕X͂ mini-HOWTO ɍvĂ܂B

  *  Petr Vandrovec vandrove@vc.cvut.cz

  *  Andreas Ehliar ehliar@lysator.liu.se (x2x)

  *  Marco Bizzarri m.bizzarri@icube.it (multiple X servers)

  14.4.  ʓIȐ

  ̕ɏꂽeɂĂ͐ӔC̋`͉܂Bꂽ
  eȂ̓e𗘗pƂ͂Ȃg̐ӔCōsĂB
  ͍̕ŐVłłAԈႢAg̃VXeɑQ^
  悤ȊԈႢ邩܂B߂ɋNȂƂłA
  čsĂB͂̂ƂɂĂǂȐӔC܂B

  14.5.  쌠ɂ

  ̂̏͂ (c)1999 Frederick Niles ɒ쌠A̎茈߂
  Ƃɔzt܂B

   Linux  HOWTO ́AI邢͓dqIȂǂȃfBAłA
  ̒쌠Ɋւ钍ӂׂẴRs[ɎćASA邢
  ꕔ𕡎ʂAĔztĂ܂܂Bpł̍Ĕzt͋Ă
  AĂ܂A҂͂ǂ̂悤ȃfBXgr[Vm
  Ēv܂B

  ׂĂ̖|AztƁA邢 Linux HOWTO WƂ́A
  ̌Ɋւ钍ӂ̂ƂōsȂ΂܂BȂ킿AHOWTO 
  hd₻̃fBXgr[VŒǉĂ͂܂
  B̂悤ȋK̗O͂̏̂Ƃŋ܂BL̃Ah
  X Linux HOWTO ̃R[fBl[^[ƘAĂB

  ₪΁A Linux HOWTO ̃R[fBl[^[ɘAĂB
  linux-howto@sunsite.unc.edu

  14.6.  ǂȃn[hEFAT|[gĂ邩

  قƂǂ̃rfIJ[h́AVXeɂ͂ЂƂ݂̂Ŋ{̃fBXvCA
  _v^p̃AhXɉiIɐݒ肳Ă͓̂RƍlĂ܂B
  O܂B

   Matrox J[hށFɂ  Matrox MillenniumA Matrox Millennium
  IIA Matrox MystiqueA Matrox Mystique 220A Matrox Productiva G100A
  Matrox Mystique G200A Matrox Millennium G200  Matrox Marvel G200 
  J[h܂B

   MDA: ɂ̓mN Hercules OtBbNA_v^[Ȃǂ
  B

  ӁFL̂ǂꂩЂƂłȂ΂Ȃ̂́AA_v^[
  B

  14.7.  pT|[g

  {Iɂ mini-HOWTO ̓t[\tgEFAɊւ̂łB
  Amulti-head T|[g鏤p X T[o܂B Metro Link
  (www.metrolink.com) Metro-X  Xi Graphics (www.xig.com)
  Accelerated-X ȂǂłB

  14.8.  KvȂ̂肷

  ̂悤ȃpb`vOKvłB

   ''fbset''vOANZXĂ݂Ă
  Fhttp://www.cs.kuleuven.ac.be/~geert/bin/ (ӁF̃vO
  RedHat 6.0 ɕtĂ܂)

   Linux J[lɑ΂ "fbaddon" Matrox dual head pb`ANZX
  Ă݂ĂFftp://platan.vc.cvut.cz/pub/linux/matrox-latest/
  <ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/>

   ''con2fb'' vOANZXĂ݂Ă
  Fftp://platan.vc.cvut.cz/pub/linux/matrox-latest/
  <ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/>

    X11 ̃t[obt@T[o XF86_FBDevB XFree86 3.3.1 ̕W
  iłB

  14.9.  n߂悤

  ܂Ȃ΂ȂƂ''fbaddon''pb` Linux ̃\[XɃpb
  `𓖂Ă邱ƂłBꂩAJ[l̃RtBO[V frame
  buffer T|[gLɂȂ΂܂BMatrox ̃J[hgĂ
  ȂAg̃J[h̓̌^͂ Matrox unified accelerated
  driver T|[gLɂ܂BVESA t[obt@T|[gLɂ
  Ă͂܂B͏Փ˂N܂Bmulti-head T|[gLɂ
  ܂(Rł)BJ[l\zċN܂B

  𒍈Ӑ[ǂ܂ȂĂ͂܂B fbset ōsƌ߂̂ȂA
  "/etc/fb.modes" t@CgƂ߂܂B fbset vO
   XF86Config t@C fb.modes ɕϊ Perl XNvg
  Ă܂B⑫ A  B ɂg XF86Config t@Cϊ邽߂̎
  octave/Bourne VFXNvg܂B

  multi-head T|[g邵ȂƂȂ̐ݒ肪ŋNǂ
  Ȗł悤AЂƂ̃j^[Ńt[obt@foCXg
   (ݒ) \ĂȂ΂܂Bœ~ނ
  񐔂Ԃ񌸂炷Ƃł܂B

  ̕ł́Aڂ̃j^[ X 𓮂ƂɂĂ̐ɏW
  łB́Ȃ̃RtBO[V͒Pɂ̎菇̈
  oƂɉ߂ȂłB

  14.9.1.  R\[Ɉړ

  悤Ȏgp@ɂẴbZ[Woł傤B

  .Pp

  ᎦꂽR}h ''con2fb /dev/fb1 /dev/tty6'' ̂悤ɎgA
  ڂ̃j^[zR\[ 6 ɂĂ܂B Ctrl-Alt-F6 ƂL[
  găR\[𑀍삷ƁA񃂃j^[ɎۂɉʂoĂ
  B

  14.9.2.  ڂ̃j^[ł̐ݒ𒲐߂邽 ''fbset'' g

  j^[ ''fbset '' ݒ肷ݒɂ ''fbset''R}hg
  B܂Aڂ̃j^[ ''-fb''tbO ĝɒӂȂ
  ΂܂BƂ킯AȂƂۂ̐xɉz𑜓xݒ
  ŁÂƂ͂肽ȂȂ璍ӂȂ΂܂B

  e.g. "fbset -fb /dev/fb1 -vyres 600"

  ŃeLXg[h͌IɒxȂ܂A X ̓eLXg[ĥ
  ͋Cɂ܂B

  14.9.3.  t[obt@T|[gɑ΂ X ݒ肷

  framebuffer.txt t@C͎Ƃ܂Ă܂A
  ł͓̏dvȂƂĂ܂B

  Ƀt[obt@foCXɂĂg  XF86Config  t@C̃
  j^[ZNVǉȂ΂܂Bɗ܂B

  # The Frame Buffer server

  Section "Screen"
      Driver      "fbdev"
      Device      "Millennium"
      Monitor     "NEC MultiSync 5FGp"
      Subsection "Display"
          Depth       8
          Modes       "default"
          ViewPort    0 0
      EndSubsection
      Subsection "Display"
          Depth       16
          Modes       "default"
          ViewPort    0 0
      EndSubsection
      Subsection "Display"
          Depth       24
          Modes       "default"
          ViewPort    0 0
      EndSubsection
      Subsection "Display"
          Depth       32
          Modes       "default"
          ViewPort    0 0
      EndSubsection
  EndSection

  ̑ʂ̂̂ɂĂ͂悭킩Ȃ̂ŁA''ftHg''[hg
  āAMatrox t[obt@œł傤B

  14.9.4.  ڂ̃j^[  X T[onĂ݂

  t[obt@ɂ܂܂FRAMEBUFFER ݒ肷

  ܂́A

  e.g. "startx -- :0 -bpp 16 vt06"

  X T[oNƁAIJ[ depth ɓKAX T[o
  n铯j^[Ɍ܂B

  ̗ 18 rbgJ[ŉzR\[ 6 ''zeroth''X T[o[
  n܂B̑̃t[obt@ɑ΂ĂЂƂ X T[o
  oƂ'':1'' gƁA X T[o𓮂Ƃł悤
  Ȃ܂B

  14.10.  v

  񃂃j^[ X T[o𓮂@́Â悤ɗvł܂B

   J[lpb`AfbsetAcon2fb 肷B

   J[lɃpb`𓖂āARtBMAAč\zAċNB

   XF86Config t@C XF86_FBDev section ǉA X ƃN
  B

  ꂩ炢̂悤ɍċN܂B

   R\[œ   Ƃ΁A'' con2fb /dev/fb1 /dev/tty6 ''

   ݒ𒲐B   Ƃ΁A'' fbset -fb /dev/fb1 1280x1024 ''

   FRAMEBUFFER ݒ  Ƃ΁A'' export FRAMEBUFFER=/dev/fb1 ''

   X T[oNBƂ΁A''startx -- -bpp 16 vt06''

  ʖVFʂčċN邽тɂł܂B݂̃R\[
  ԍ߂Kv̂ŃVFXNvgł͂ȂA alias łȂ
  ΂܂B͓ڂ̌Œ肳ꂽg̃j^[ X n
   C-VFGCAXłB

  alias startxfb = "
  setenv FRAMEBUFFER /dev/fb\!*;    # Set the env var to the cmd arg.
  con2fb $FRAMEBUFFER /dev/$tty;    # Move the fb to the current tty.
  fbset -fb $FRAMEBUFFER 1280x1024@62;  # Favorite from /etc/fb.modes
  startx -- :\!* -bpp 16 vt0`echo $tty | cut -dy f 2`' # X on this tty.
  "

   .cshrc t@Cɂ̓RgȂœsɂׂĂĂ
  Ał͉sARgēǂ݂₷Ă܂B̓t[
  obt@̔ԍϐƂė^ĂAƐn܂B

  bash œGCAXǂ͂킩܂Bbash Ō݂ tty
  肷@A邢̓GCAXɕϐ𓾂@͂킩܂B
  ǂȂĂ΂ɉ܂傤B A݂ VT ̖
  ̂𓾁Aꂼ X T[oɓɕGCAX邽߂
  ''tty'' R}hg܂B

  14.11.  ̑̒ӂƖ_

   ''fbset''''startx''̗́AsƂĂ铯̃t
  [obt@瓮Ȃ΂܂BꂪÃR}h
  XNvgʂĂǂꂭ炢ł邩ɂďdȐۂ
  B

   XFree86 4.0 ͐K multi-head support Ă܂A 3.3.1 
  ̓T|[gĂ܂B3.3.1 œ̃T[o𓮂ƂłA x2x
  gĂ̊Ԃؑւ邱Ƃł܂BA(Ă)

   ANeBuɂȂĂȂt[obt@́AŌɃANeBuɂȂ
  Ƃ̃C[Wێ܂܂ŁAʂ̍XV͍s܂B

   IȂj^[́AANeBu̎ɂ͏Ԃɕێ
  킯ł͂܂ (ʏ͕ێ܂)B

   Geert Uytterhoeven(t[obt@̈ێ) Linus Torvalds ́A
  ݂''frame buffer per VT''multi-head console support ̕ύX(Ƃ
  fbaddon)ɓӂĂ܂񂩂AJ[lc[̖{ɂ͂ȂȂ
  傤B(͑O҂畷ƂŖ{ł͂Ȃ܂B)

   ''[j''j^[ X T[onȂ(
  ''startx'' 𓮂)Aǂ̂Ƃ}V̓L[{[h}EX͂
  ȂȂĉ邱Ƃł傤B

   J[l\[Xɕt framebuffer.txt ł́AX N鎞
  ړI XF86Config t@C Modeline ݒłƐĂ܂B
  Matrox t[obt@gƁA X T[o𗎂Ă܂悤Ɍ
  BŁAɂЂƂ(''ftHg'')ݒł܂(ЂƂ
  eLXg[hĂ܂)B

   XF86_FBDev ͍ł͂܂
  Ahttp://www.in-berlin.de/User/kraxel/xfree86/ō Matrox
  support ɑ΂pb`܂B

  14.11.1.

  ͂܂̃j^[ݒ(āAۂɓԖڂ̃j^[A邢
  ̃j^[ɃT[o)ŁAinit level 5 Ŏn@Őݒ
  Ƃ܂Bgdm/xdm Xservers t@C 1 s邾ŏ\
  Ǝv܂At[obt@ X T[onȂ΂Ȃ
  Ƃ̂߁ÅȒPȉ@ł͓삵܂B܂
  ȂAǂɂm点Bɒǉ܂傤B

  14.11.2.  x2x vOg

  XN[̐ڐ𓾂ƂAX T[o؂ւ x2x Ƃǂł
  ȃvO܂B̃vO̍ŐVł͎̂Ƃɂ
  : http://ftp.digital.com/pub/DEC/SRC/x2x/Debian pbP[W̕tł
  ܂B͂܂Ă܂񂪁A܂Ă郆[U܂B

  14.11.3.  ̑𗧂R}h

  multi-head configuration (Ƃ킯XNvgƂ)Ƃ
  oĂl̂ linux R}h܂B

   ''chvt''͉z^[~iԂŐ؂ւł悤ɂ܂B
  ''openvt''͐Vz^[~i(VT)ŃvOn܂B
  ''tty''݂͌̃^[~i̖O\܂B

  14.11.4.  ⑫ A.

  ( bpp ݒ̒)

  #!/usr/bin/octave -q
  bpp = 16;
  DCF = sscanf(argv(1,:), "%f");
  HR  = sscanf(argv(2,:), "%f");
  SH1 = sscanf(argv(3,:), "%f");
  SH2 = sscanf(argv(4,:), "%f");
  HFL = sscanf(argv(5,:), "%f");
  VR  = sscanf(argv(6,:), "%f");
  SV1 = sscanf(argv(7,:), "%f");
  SV2 = sscanf(argv(8,:), "%f");
  VFL = sscanf(argv(9,:), "%f");
  pixclock = 1000000 / DCF;
  left_margin = HFL - SH2;
  right_margin = SH1 - HR;
  hsync_len = SH2 - SH1;

  # 3) vertical timings:
  upper_margin = VFL - SV2;
  lower_margin = SV1 - VR;
  vsync_len = SV2 - SV1;

  RR = DCF / (HFL * VFL) *1e6;
  HSF = DCF / HFL * 1e3;

  printf("mode \"%dx%d\"\n",HR,VR);
  printf("   # D: %3.2f MHz, H: %3.2f kHz, V: %2.2f Hz\n", DCF, HSF, RR);
  printf("   geometry %d %d %d %d %d\n", HR, VR, HR, VR, bpp);
  printf("   timings %d %d %d %d %d %d %d\n", ...
                                   pixclock, left_margin, right_margin, ...
                                   upper_margin, lower_margin, ...
                                   hsync_len, vsync_len);
  printf("endmode\n");

  14.11.5.  ⑫ B.  Borne VFXNvg "cvtfile"

  ( octave XNvg''cvtmode''Ăяo܂B

  [󒍁Foctave XNvgƂ́AlvZ̏n  GNU Octave ̂
  ƂłBڍׂ͎ URL łmFB]

  Octave Home Page

  Octave History

  #!/bin/sh
  # Shell script to convert XF86Config file to fb.modes file.
  # Uses octave script cvtmode.m

  if [ -z $1 ]; then

    FILE=/etc/X11/XF86Config
  else
    FILE=$1
  fi

  i=1
  LEN=`grep Modeline $FILE | wc -l`
  while expr $i \< $LEN > /dev/null ;
  do
    CURLINE=`grep Modeline $FILE | cut -d'"' -f 3-20 | head -$i | tail -1 `
    ./cvtmode.m $CURLINE
    echo " "
    i=`expr $i + 1`
  done

  15.  tHggAύX

  tHgύX邽߂ɁAkbd-0.99 KvłB
  ftp://ftp.win.tue.nl/pub/linux/utils/kbd
  <ftp://ftp.win.tue.nl/pub/linux/utils/kbd> ł܂B

  kbd-0.99 _E[hCXg[闘_́Ag̃R\[f
  oCXɍۃtHg(Ƃ Euro symbol ̂悤)[hł悤
  ɂȂ邱ƂłB(̃L[{[hɂRށA܂Ah̒PʋLAp
  |h̒PʋLƃ[̒PʋL̃V{̂͂ȂȂ
  )

  16.  R\[[hύX

  [hύX(Ƃ 640x480A 800x800 Ȃ)ł悤ɂ邽߁A
  fbset Kvł傤(ŐVł́Afbset-19990118.tar.gz)ÂƂœ
  ł܂B

  http://www.cs.kuleuven.ac.be/~geert/bin/fbset-19990118.tar.gz

  ̃pbP[W𓮂@ɂāAKvȂׂĂ̂̂YtĂ
  B

  17.  X11 FBdev hCoݒ肷

  XFree86 3.3.3.1 VłgĂȂȂA XFree86 3.3.3.1
  ɍXVȂ΂܂BXFree86 3.3.3.1 ɂ̓t[obt@foC
  XɑΉ FBdev X hCo܂܂Ă܂B͉L̂Ƃ납
  _E[h邩A 3.3.2 3.3.3 ̂悤 XFree86 ̋łɑ΂
  FBdev hCo\z邩ȂĂ͂܂B

  http://www.xfree86.org ɍsA XServers ̃\[XA[JCu_E
  [h܂BĎɎ@ɂăhCoݒ肵܂B

  o  xc/config/cf/xf86site.def ҏW܂BXF68FBDevServer ɑ΂
     #define Rg͂܂B

  o  FB_VISUAL_STATIC_DIRECTCOLOR QƂ邷ׂĂRgAEg
     B͌肪AgĂ܂B XFree86 3.3.3.1 
     gĂȂAXFree86 ͂菜Ă̂ŁA̒iKł͂
     邱Ƃ͂܂B

  o  xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_io.c ҏW,
     K_RAW  K_MEDIUMRAW ɕύX܂B

  ꂩhCo\z܂B m68k t@XɂĐSz͂܂
  BCevbgz[T|[gĂ܂BꂩS\z
  B傫ȃ\[Xc[ł玞Ԃł傤B

  ԂȂȂALTCgoCi[ł܂B
  ''ɍ\zꂽ̂łA̐ӔCŎgpƂƂɒ
  ӂĂB

  libc5 ɑ΂Ă͎̂̂gp܂B http://user.cs.tu-
  berlin.de/~kraxel/linux/XF68_FBDev.libc6.gz

  glibc2 ł͎ URL _E[hĂB

  http://user.cs.tu-berlin.de/~kraxel/linux/XF68_FBDev.libc6.gz

  http://pobox.com/~brion/linux/fbxserver.html

  X11 ́A vesafb dlLɂĂƈꕔ̃OtBbNJ[hł
  ܂ȂƂ񍐂܂BȂȂAX11 ɑ΂Ă͐V
   XF86_FBdev hCoĂ݂ĂB

  ̃hCóAvesafb ƂƂɁA݂ X11 hCoŃT|[gĂ
  Ȃ̃OtBbN`bv荂OtBbN𑜓x  X11 
  ̂ł܂BMGA G-200 ̂悤Ȃ̗̂͂łB

  g X11 VXe XF86_FBdev hCoRtBMA邽߁A
  ̂悤ɂg XF86Config ҏWȂ΂܂B

  Section "Screen"
          Driver          "FBDev"
          Device          "Primary Card"
          Monitor         "Primary Monitor"
          SubSection      "Display"
                  Modes           "default"
          EndSubSection
  EndSection

  keyboard ̍łlɁAXkbDisable ɐݒ肵Ȃ΂ȂA܂
  g̃L[{[hK؂ɓ悤ݒ肷邽߁A'-kb' IvV
   XF86_FBDev T[oĂяoKvł傤B XkbDisable ݒ肷
  ̂YꂽȂAL[{[h̃}bsOK؂ɐݒ肷邽߁Ag
  .Xmodmap Ɏ̂悤ȍsȂ΂܂B

    XFree86 3.3.3.1 ł͏CĂȂAȎ傫ȃoO
  CĂAɐɏqׂ悤ɃhCôЂƂƂ FBDev 
  ܂ł܂A̔łɃAbvO[ĥ͂悢ƂłB

  ! Keycode settings required
  keycode 104 = KP_Enter
  keycode 105 = Control_R
  keycode 106 = KP_Divide
  keycode 108 = Alt_R Meta_R
  keycode 110 = Home
  keycode 111 = Up
  keycode 112 = Prior
  keycode 113 = Left
  keycode 114 = Right
  keycode 115 = End
  keycode 116 = Down
  keycode 117 = Next
  keycode 118 = Insert
  keycode 119 = Delete

  Kv邩܂(ȂgĂāAāA FBDev
  ɃhCo̖OҏWĂIWi X11 hCoIWi
  ̒`Rs[Ă݂Ă)A{Iɂꂪ vesafb X11 hCo
  g߂ɂȂĂ͂ȂƂׂ̂ĂłB

  ܂΃T|[gꂽOtBbNJ[hł X11 ̖́A
  łł͏Cł傤B

  18.  t[obt@foCX̃^C~O XFree86 [hCǂ
  悤 ɕϊ悢łB

  g̃}V XFree86 (X11) CXg[ĂȂAƎg
  Ƃłł傤Bt[obt@foCXɂĕKvƂꂽv
  ^C~Oɂg XF86Config  [hCϊ̂͂ƂĂ
  ȒPłB

  t[obt@foCXɂ͎̂悤ȃtB[hKvłB

  o  pixclock - sRbł̃sNZ

  o  left_margin - time fron sync to picture

  o  right_margin - time from picture to sync

  o  upper_margin - time from sync to picture

  o  lower_margin - time from picture to sync

  o  hsync_len - 

  o  vsync_len - 

  XFree86 [hŝ͎悤ȕ܂B

  Modeline  "1280x1024" DCF HR SH1 SH2 HFL VR SV1 SV2 VFL

  framebuffer device timings ̐ݒ XF86 [hCɖ|󂷂邽ߒP
  ȌvZKv܂BƂāA XF86Config t@C
  Ă[hCϊ@Ă݂܂傤B

  Modeline  "1280x1024" 110.00 1280 1328 1512 1712 1024 1025 1028 1054

  ͂߂ɗvꂽ pixclock vZ܂B XFree86 ̓Kwcg
  ܂At[obt@foCX̓sRZRhg܂(̗R
  ɂ͂킩܂)BDCF  1 ܂BƂ΁A1,000,000 /
  110.0 = 9090.9091

  āA^C~OvZȂĂ͂܂B

  o  left_margin = HFL - SH2

  o  right_margin = SH1 - HR

  o  hsync_len = SH2 - SH1

  ̗͎̂悤ɂȂ܂B

  o  left_margin = 1712 - 1512 = 200

  o  right_margin = 1328 - 1280 = 48

  o  hsync_len = 1512 - 1328 = 184

  ɁAz^C~OvZȂ΂܂B

  o  upper_margin = VFL - SV2

  o  lower_margin = SV1 - VR

  o  vsync_len = SV2 - SV1

  ̗ł́Â悤ɂĂ܂B

  o  upper_margin = 1054 - 1028 = 26

  o  lower_margin = 1025 - 1024 = 1

  o  vsync_len = 1028 - 1025 = 3

  q[hɂăt[obt@ݒ肷邽߂̏g
  BƂ΁Amatroxfb t[obt@ł́Â悤ɂȂ܂B

  video=matrox:xres:<>,yres:<>,depth:<>,left:<>,right:<>,hslen:<>,upper:<>,lower:<>,vslen:<>

   /etc/lilo.conf ɁÂ悤ȍsǉĂ܂B

  append = "video=matrox:xres:1280,yres:1024,depth:32,left:200,right:48,hslen:184,upper:26,lower:0,vslen:3"

  ̏ꍇApixclock gĂȂƂɒӂĂBpixclock ̎w
  ̓ftHg pixclock D܂ȂꍇɂKvłBp[^[
  ƂĂ܂⑫ł܂Bpixclock ݒ肷ɂ́A HOWTO 
  ̍ڂɏĂ܂B

  19.  Linux ̃SύX

  include/linux fBNgɂ linux_logo.h t@CύXăJX^
  }CYł܂B c wb_[ŁAŕύX̂͏ł
  A̍肽̂邽 gimp
  http://registry.gimp.org/detailview.phtml?plugin=Linux+Logo ŗpł
   plugin ܂BKvȂ̂́A224 Fȉ̉摜 80x80 łB 3 
  (2,16,224)邩AōAvOCŎĝǂ炩łł
  Bt@Cۑꏊq˂Ă܂AVт
  A($SRCDIR)/include/linux/linux_logo.h ɏ߂܂BxׂĂ
  IA̂悤ɃJ[l̍č\zAċN܂BāAt
  [obt@ȂANɎŏVSł
  B

  20.  Əm肽Ȃ

  t[obt@hCo𓮂ƂɊ֐S̕XɁAvO~
  OɂĂ̓uEUŎ̂ƂĂB
  http://www.linux-fbdev.org

  ̃̕tX͎̂Ƃɂ܂
  http://www.freenix.org/unix/linux/HOWTO/mini/Vesafb.htmlB

  {̍ZĒX̃Xg

  o  Jun Morimoto <morimoto@xantia.citroen.org>

  o  Seiji Kaneko <se-kane@str.hitachi.co.jp>

  o  Taketoshi Sano <kgh12351@nifty.ne.jp>

