  Framebuffer HOWTO
  Alex Buell, (alex.buell@tahallah.clara.co.uk)
  v1.2, 27 Feb 2000
  翻訳：中谷千絵 (jeanne@mbox.kyoto-inet.or.jp)
  日本語訳： May.09,2001

  この文書は、さまざまなプラットホームがある Linux でフレームバッファデ
  バイスを使う方法についてまとめたものです。さらに複数のディスプレイを使
  うよう設定する方法も含んでいます。
  ______________________________________________________________________

  目次

  1. 履歴
  2. 貢献してくださった方々
  3. フレームバッファデバイスとは何か
  4. フレームバッファデバイスの長所は何か
  5. インテルプラットホーム上でフレームバッファデバイスを使う
     5.1 vesafb とは何か
     5.2 vesafb ドライバを有効にする方法
     5.3 どのような VESA モードを利用できるか
     5.4 Matrox カードを設定するには？
     5.5 Permedia カードを設定するには？
     5.6 ATI カードを設定するには？
     5.7 どのグラフィックカードがVESA 2.0 類似のものか
     5.8 vesafb をモジュールにできますか。
     5.9 カーソルを修正する方法は？

  6. Atari m68k プラットホームでフレームバッファデバイスを使う
     6.1 Atari m68k プラットホーム上でどんなモードが利用できるか
     6.2 Atari m68k プラットホーム上の追加オプション
     6.3 Atari m68k プラットホーム上で内部サブオプションを使う
     6.4 Atari m68k プラットホームで外部サブオプションを使う

  7. Amiga m68k プラットホーム上でフレームバッファデバイスを使う
     7.1 Amiga m68k プラットホームでどんなモードが利用できるか
     7.2 Amiga m68k プラットホーム上での追加サブオプション
     7.3 サポートされている Amiga グラフィック拡張ボード

  8. Macintosh m68k プラットホーム上でフレームバッファデバイスを使う
  9. PowerPC プラットホームでフレームバッファを使う
  10. Alpha  プラットホームでフレームバッファデバイスを使う
     10.1 どんなモードか使えるのか
     10.2 フレームバッファデバイスでどんなグラフィックカードが動きますか

  11. SPARC プラットホームでフレームバッファデバイスを使う
     11.1 フレームバッファデバイスでどんなグラフィックカードが動きますか
     11.2 フレームバッファデバイスを設定する

  12. MIPS プラットホームでフレームバッファデバイスを使う
  13. ARM プラットホームでフレームバッファデバイスを使う
     13.1 Netwinders
     13.2 Acorn Archimedes
     13.3 その他の ARM ポート類 (SA 7110s など)

  14. multi-headed フレームバッファを使う
     14.1 はじめに
     14.2 フィードバック
     14.3 貢献を頂いた方々
     14.4 一般的な声明
     14.5 著作権について
     14.6 どんなハードウェアがサポートされているか
     14.7 商用サポート
     14.8 必要なものを入手する
     14.9 始めよう
        14.9.1 コンソール上に移動
        14.9.2 二台目のモニターでの設定を調節するため ''fbset'' を使う
        14.9.3 フレームバッファサポートに対して X を設定する
        14.9.4 二台目のモニターの  X サーバを始動してみる
     14.10 要約
     14.11 その他の注意と問題点
        14.11.1 ''init level 5 ''(たとえば  xdm/gdm) を動かすようにする
        14.11.2 x2x プログラムを使う
        14.11.3 その他役立つコマンド
        14.11.4 補足 A.
        14.11.5 補足 B.  Borne シェルスクリプト "cvtfile"

  15. フォントを使う、変更する
  16. コンソールモードを変更する
  17. X11 FBdev ドライバを設定する
  18. フレームバッファデバイスのタイミングに XFree86 モードラインをどのよう に変換したらよいですか。
  19. Linux のロゴを変更する
  20. もっと情報を知りたいなら

  ______________________________________________________________________

  1.  履歴

  改訂履歴

  19990607 - Release of 1.0

  19990722 - Release of 1.1

  20000222 - Release of 1.2

  2.  貢献してくださった方々

  Framebuffer HOWTO の改訂に援助してくださった次の方々に感謝。

  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  あまりに多くてすべての方々を加えることができません。その他多くの方
     に感謝。

  Rick Niles frederick.a.niles@gsfc.nasa.gov は、この HOWTO に Multi-
  Head Mini-HOWTO を含ませるため心よく提供してくださいました。

  インテル上での X11 に対する XF86_FBdev X11 フレームバッファドライバの
  libc5/glibc2 版を構築した下記リストの方々に感謝。

  o  Brion Vibber brion@pobox.com

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

  もちろん、フレームバッファデバイスの著者の方々にも感謝。

  o  Martin Schaller - フレームバッファ概念の最初の著者

  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  抜けている方は、ここに含められるよう自己申告してください :o)

  3.  フレームバッファデバイスとは何か

  フレームバッファデバイスとは、グラフィックハードウェアの抽象化です。特
  定のビデオハードウェアのフレームバッファのエミュレーションを行うので、
  アプリケーションソフトウェアからはきちんと定められたインターフェースを
  介してアクセスすることができ、その結果、ソフトウェアは下位レベルのイン
  ターフェースの内容について何も知る必要がなくなります。[linux のカーネ
  ルソースに添付されている Geert Uytterhoeven の framebuffer.txt からの
  引用]

  4.  フレームバッファデバイスの長所は何か

  ペンギンロゴ。:o)冗談はさておき、フレームバッファデバイスのおもな利点
  は、すべてのプラットホームに渡って汎用のインターフェースを提供すること
  です。カーネル 2.1.x の開発過程で、最近までインテルプラットホームは、
  その他のプラットホームのコンソールドライバとは完全に違うコンソールドラ
  イバを使っていました。2.1.109 が出たとき、これらすべてはより良いものに
  変更され、インテルプラットホームでさらに統一されたコンソール操作を取り
  入れました。同時にビットマップグラフィカルなコンソールを導入して初めて
  インテルプラットホーム上でビットマップ化されたペンギンロゴの表示が可能
  になりました。さらに異なったプラットホームでもコードが共有できるように
  なりました。カーネル 2.0.x はフレームバッファドライバをサポートしてい
  ませんが、いつか誰かが2.1.x カーネルから2.0.x カーネルにコードをバック
  ポートするでしょう。m68k プラットホームの v0.9.x カーネルでは、フレー
  ムバッファデバイスサポートをすでに含んでいるという例外があります。

  カーネル 2.2.x のリリースで、フレームバッファデバイスサポートは信頼と
  安定があります。2.2.x カーネルを使用していて、お使いのグラフィックカー
  ドがフレームバッファをサポートしているなら使ったほうがよいでしょう。古
  い 2.0.x カーネルでは少なくともインテルプラットホームではフレームバッ
  ファデバイスはサポートされていません。

  o  0.9.x (m68k) -  m68k フレームバッファデバイスを導入した。m68k 0.9.x
     は機能的には、Intel 1.0.9 (plus 1.2.x enhancements) と同等です。

  o  2.1.107 - Intel framebuffer と新しいコンソールデバイスを導入し、
     scrollback buffer support を持たない一般的なサポートを追加した。

  o  2.1.113 - vgacon に scrollback buffer support を追加。

  o  2.1.116 - vesafb に scrollback buffer support を追加。

  o  2.2.x - matroxfb(Matrox) と atyfb(ATI) を含む。

  フレームバッファデバイスには素晴らしい仕様を持っているものもあります。
  起動時にカーネルに一般的なオプションを与えることができ、それには特定の
  フレームバッファデバイスに固有のオプションも含まれています。次のような
  ものがあります：

  o  video=xxx:off - 特定のフレームバッファの検出を無効にする。

  o  video=map:octal-number - フレームバッファ(FB)デバイスに仮想コンソー
     ル(VCs)をマップする。

     o  video=map:01 は、FB0 に VC0 を、FB1 に VC1 を、FB0 に VC2 を、
        FB1 に VC3 をというようにマップする。

     o  video=map:0132 は、FB0 に VC0 を、FB1 に VC1 を、FB3 に VC2 を、
        FB2 にVC4 を FB0 に VC5 のようにマップする。
  通常フレームバッファデバイスはカーネルに明記された順番で検索されます
  が、 video=xxx オプションを明示することで、カーネルに記されたものより
  も先に、検索したい特定のフレームバッファデバイスを加えることができま
  す。

  5.  インテルプラットホーム上でフレームバッファデバイスを使う

  5.1.  vesafb とは何か

  Vesafb は VESA 2.0 類似のグラフィックカードで動くインテルアーキテク
  チャのフレームバッファドライバです。カーネル内部でフレームバッファデバ
  イスと密接に関係しています。

  vesafb は、ビットマップ化されたテキストコンソールに対するインテルプ
  ラットホーム上で、グラフィカルモードの使用を可能にするディスプレイドラ
  イバです。ロゴを表示できるようにもなり、それが恐らくvesafb を使いたい
  おもな理由かもしれません。

  残念ながら、VESA 1.2 カードでは十分に vesafb を使えません。これらの
  1.2 カードは linear frame buffering を使わないからです。Linear frame
  buffering というのは、システムの CPU がディスプレイのすべての bit にア
  クセスできるということです。歴史的に、古いグラフィックカードでは、一度
  に 64K しか CPU からアクセスできません。これが、かのオソロシイ CGA/EGA
  グラフィックモードの限界、というわけです!  これらのカードについての
  vesafb12 デバイスドライバを誰かが書いてもよいでしょうが、これは、貴重
  なカーネルメモリを消費し、あまりやりたくない格闘が必要になるでしょう。

  しかしながら、あなたがお持ちのちょっと古い VESA 1.2 カードに対して
  VESA 2.0 エクステンションを加えるには、ちょっとした努力が必要です。DOS
  から動かせる TSR 型プログラムをダウンロードできるでしょうし、loadlin
  を使って適切なグラフィックコンソールモードに対してカードの設定を援助で
  きます。これはいつもうまくいかないことを注意しておいてください。たとえ
  ば、VLB 54xx シリーズのような Cirrus Logic のあるものは、フレームバッ
  ファリング用に特定のメモリアドレス(たとえば15MB-16MB の範囲以内)の範囲
  をマップしており、かつそれらが 32MB 以上のメモリを持つシステムでメモリ
  範囲から除外されていることを前提にしています。このようなボードを動かす
  方法はあります。たとえば、15MB-16MB の範囲でメモリホールをそのままにす
  る BIOS オプションが使えるなら動かせるでしょう。Linux 自身はメモリホー
  ルの使用をサポートしていません。しかし、このオプションに対するパッチが
  ありますが、[誰が作って、どこから入手するか？です] あなたがこのオプ
  ションを試してみたいなら、利用できる TSR プログラムはたくさんありま
  す。 UNIVBE はもっと有名で、インターネット上にあります。

  あるいは、 VESA フレームバッファドライバで動かすため、VESA 1.2 カード
  を可能にするカーネルパッチをダウンロードできるでしょう。たとえば、
  VESA 1.2 をサポートしているちょっと古い S3 のボード(S3 Trio や S3
  Virge のような)で使うパッチがあります。これらのカードについては、

  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 ドライバを有効にする方法

  menuconfig をお使いだと仮定して、次のような手順が必要です。

  お使いのプロセッサ(インテルプラットホームで)が MTRR 類をサポートしてい
  るなら、これを有効にします。この機能はプロセッサとグラフィックカードの
  間でメモリコピーを高速にしますが、必ずしも必要ではありません。もちろ
  ん、コンソールデバイスを動くようにした後で行うことができます。

  重要：2.1.x カーネルでは、Code Maturity Level のメニューに入り、 the
  prompt for development とまたは、incomplete drivers を有効にしま
  す。2.2.x カーネルではこれはもう必要はありません。

  Console Drivers メニューに入り、次の項目を有効にします：

  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 (テキストのみ) - vgafb - は、上記リストの一部でし
  たが、批判をあびたので現在は取り除かれ、もうサポートされていません。近
  いうちに削除されるでしょう。かわりに VGA Text Console (fbcon) を使いま
  す。 VGA Character/Attributes は VGA Chipset でのみ使用でき、選択する
  必要はありません。

  Mac variable bpp packed pixel support は有効にはなっていないのは確かで
  す。Linux カーネル 2.1.111 ( さらに 112)では、最初に、Advanced Low
  Level Drivers が選択されていたなら、自動的にこれを有効にするようです。
  2.1.113 ではもうこのようにはなりません。

  メモリにフォントをいれてコンパイルするオプションもありますが、これは実
  際には必要ではなく、コンソールデバイスにフォントをロードすることでフォ
  ントを変更するため、通常は kbd-0.99 のフォントユーティリティ(フォント
  についての章を見てください)を使えます。

  モジュールにしないよう確認してください。[モジュールとして組み込みが可
  能かはよくわかりません。これについては教えてください。 ]

  /dev にフレームバッファデバイスを作らなくてはいけません。フレームバッ
  ファデバイスごとにひとつ必要で、デバイスを作るために、まず mknod
  /dev/fb0 c 29 0 と入力します。次のひとつは 32 の倍数になり、たとえば、
  /dev/fb1 を作るには、mknod /dev/fb1 c 29 32 と入力しなければいけませ
  ん。このようにして続けて8 つのフレームバッファデバイスまで作ることがで
  きます(mknod /dev/fb7 c 29 224)。

  次に、カーネルを再構築し、/etc/lilo.conf に VGA=ASK というパラメータを
  加えて書き直し、lilo を走らせ、これで使いたいモードを選択できるように
  します。

  簡単な LILO の設定例です(私のマシンで使っている例です)。

  # LILO 設定ファイル
  boot = /dev/hda3
  delay = 30
  prompt
  vga = ASK # ユーザが望むモードを入力する。
  image = /vmlinuz
    root = /dev/hda3
    label = Linux
    read-only # 非-UMSDOS ファイルシステムは読みだしのみでマウントされます。

  カーネルを再起動し、簡単なテストとして、VGA プロンプトで 0301 を入力し
  ます( 640x480 @ 256 になります)、これであなたはかわいい小さなペンギン
  ロゴを見ることができるはずです。

  VGA プロンプトで、''0''と 3 で表す形式での数字の入力を要求されることに
  注意してください。'x' ではだめです。LILO を使っているならこれは必要あ
  りません。

  うまく動くことを確かめたなら、さまざまな VESA モード(後述)を試してもっ
  ともよいものに決め、lilo.conf に ''VGA=x''パラメータにハードウェアを指
  示します。もっとも良いものを選んだとき、下記の表から10進の数値に相当す
  るものを探し、それを使い(たとえば、1280x1024 @ 256 に対しては、しい情
  報に関しては、LoadLin と LILO についての HOWTO を読んでください。

  注意! vesafb はデフォルトではスクロールバックバッファリングが有効では
  ありません。カーネルで有効にするオプションを渡す必要があります。アク
  ティブにするため video=vesa:ypan または video=vesa:ywrap を使います。
  この二つは同じことを違った方法で行います。ywrap は ypan よりかなり高速
  ですが、少し怪しい VESA 2.0 グラフィックカード上では動かないかもしれま
  せん。 ypan は ywrap より遅いですがより高い互換性があります。このオプ
  ションはカーネル2.1.116 とそれ以降のカーネルでだけ使えます。少し前の
  カーネルは vesafb でスクロールバッファリングを許可する能力を持っていま
  せん。

  5.3.  どのような VESA モードを利用できるか

  お使いのシステムで使っている VESA 2.0 類似グラフィックカードの型とビデ
  オメモリの容量に依存します。この件は、お使いのビデオカードにとって最良
  に動くモードをテストする事柄です。

  次の表は、 VGA プロンプトで入力できる、または LILO プログラムで使える
  モード数値を示したものです。(これらの数値は表を参照するのをより簡単に
  しているため、実際には0x200 が加わります。)

  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 色、15 bits は 32,768 色、16 bits は 65,536 色、24
  bits は 16.8 万色、32 bits は 24 bits とほぼ同じですが、余分の 8 bits
  は他のことに使えます。そして、32 bit PCI/VLB/EISA バスで、完璧に適応し
  ます。

  追加モードはカードメーカーの判断にあり、VESA 2.0で、 0x31F に定義され
  たモードを書いているだけです。これらの特別のモードを見つけるにはあれこ
  れあたらなくてはいけないかもしれません。

  5.4.  Matrox カードを設定するには？

  Matrox のグラフィックカードを持っているなら、実際のところ vesafb は必
  要ありません。かわりに matroxfb ドライバが必要です。これはお使いのカー
  ドの能力を著しく高めます。Matroxfb は Matrox Mystique Millennium I と
  II、G100 と G200 で動くでしょう。multiheaded システムもまたサポートし
  ています(つまり、自分のマシンに２枚の Matrox カードをつけているなら、
  同じマシンで２つのディスプレイを使うことができます！) Matrox を設定す
  るため、次のようにする必要があります。

  Matrox BIOS を更新したいなら、
  http://www.matrox.com/mgaweb/drivers/ftp_bios.htmからBIOS アップグレー
  ド版をダウンロードできます。アップグレードするには DOS が必要になるこ
  とに注意してください。

  Code Maturity Level メニューに入り、development and/or incomplete
  drivers を有効にします。[これは今後のカーネルでは変更になるかもしれま
  せん。そうなれば、このHOWTO は改訂されるでしょう。 ]

  Console Drivers メニューに入り、次の項目を有効にします。

  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

  カーネルを再構築します。それから Matroxfb デバイスを有効にするため
  lilo.conf ファイルを修正する必要があります。もっとも速くて簡単な方法は
  私のものを再利用することです。

  # 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 にフレームバッファデバイスを作らなければいけません。フレー
  ムバッファデバイスごとに一つ必要で、デバイスを作るために、まず mknod
  /dev/fb0 c 29 0 と入力します。次のひとつは 32 の倍数になり、たとえば、
  /dev/fb1 を作るには、mknod /dev/fb1 c 29 32 と入力しなければいけませ
  ん。このようにして続いて、8 番目のフレームバッファデバイスまで作れます
  (mknod /dev/fb7 c 29 224)。

  これでいいはずです！[注意：どなたかこの multiheaded support をお使いな
  ら、できるだけ早く私に連絡してください。私はその件について書くために (
  情報がほしいため) 話したいのです。]

  5.5.  Permedia カードを設定するには？

  Permedia カードは vesafb ドライバでは使うことはできませんが、幸いに、
  Permedia フレームバッファドライバがあります。menuconfig をお使いなら、
  次のように行います。

  Code Maturity Level メニューに入り、development and/or incomplete
  drivers [これは将来のカーネルでは変更されるかもしれません。そうなった
  ら、この HOWTO は改訂されるでしょう。]

  Console Drivers メニューに入り、次の項目を選択します。

  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  フォント組み込みでコンパイルして使いたいなら、オプションとして、次
     の項目を選択します。
     o  Select compiled-in fonts

     o  Select Sparc console 12x22 font

  カーネルを再構築します。それから pm2fb デバイスを有効にするため、
  lilo.conf ファイルを修正しなければいけません。より速く簡単にするなら、
  次に示したものを使ってください。

  # 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

  モード、scrollback サポートに対する ypan を含む SUN12x22 フォント(それ
  を選択しているなら)を選択しているのを示します。お望みならモードを選択
  してもよいでしょう。

  最後に、 /dev でフレームバッファデバイスを作らなければいけません。フ
  レームバッファデバイスごとにひとつ必要ですから、最初のひとつを作るの
  に、 mknod /dev/fb0 c 29 0 と入力するべきです。次のものは、32 の倍数
  で、たとえば、/dev/fb1 を作るには、mknod /dev/fb1 c 29 32 と入力しなけ
  ればいけません。そのように続けて、8 番目のフレームバッファデバイスを作
  ります (mknod /dev/fb7 c 29 224)。

  Permedia のフレームバッファドライバのその他の仕様についての詳細情報は
  お使いのブラウザで次のところで見てください：

  <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 の場所には次のどれかひとつを使います。

  o  ドライバを無効にする。

  o  mode:resolution は、コンソールの解像度を設定するため。モードは
     Geert の fbset パッケージにある fb.modes ATI ファイルfb.modes から
     取得されています。すべてのモードに対する depth は 8bpp です。これは
     利用できるモードのリストです：

     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  デフォルトは 640x480-60 です。

  o  font:font name はコンソールフォントを設定するため。たとえば、
     font:SUN12x22 のようにします。

  o  ypan sets はビデオメモリサイズが許可するものと同じくらい大きい現在
     の仮想画面の高さを設定します。

  o  oldmem というオプションは、CybervisionPPC ユーザのみに対応します。
     お使いのボードが( 30-Dec-1998 以前はすべてCVisionPPCs)に乗った
     Fujitsu SGRAM類を使っているなら、これを明記します。

  o  カーネルがお使いのプラットホームで PCI 領域を再マップするなら、これ
     を仮想的に(一時的に)明記します。

  5.6.  ATI カードを設定するには？

  [注意：私は ATI のカードを持っていませんので、テストはしていません。こ
  の情報は、また聞き、またはうわさのみの情報です。間違っていたり、ご意見
  があれば、どうぞ気軽にご訂正をお送りください。 ]

  ATI カードは vesafb ドライバで使えますが、そのカードがどの程度腐ってい
  るかによって問題にぶつかるかもしれませんし、あるいは問題なしにいけるか
  もしれません。menuconfig をお使いなら、次のように行ってください。

  Code Maturity Level メニューに入り、prompt for development and/or
  incomplete drivers を有効にします[これは将来のカーネルで変更になるかも
  しれません。そうなったとき、この HOWTO は更新されるでしょう。]

  コンソールドライバのメニューにはいり、次の項目を選択してください。

  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  フォントを組み込んで使いたいなら、次の項目を選択します。

     o  Select compiled-in fonts

     o  Select Sparc console 12x22 font

  カーネルを再構築します。それから、atyfb デバイスを有効にするため、お使
  いのlilo.conf ファイルを修正しなければいけません。手早く簡単にするには
  次のものを利用しましょう。

  # 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

  いることを示します。

  最後に、 /dev でフレームバッファデバイスを作らなければいけません。フ
  レームバッファデバイスごとにひとつ必要ですから、最初のひとつを作るの
  に、 mknod /dev/fb0 c 29 0 と入力するべきです。次のものは、32 の倍数
  で、たとえば、/dev/fb1 を作るには、mknod /dev/fb1 c 29 32 と入力しなけ
  ればいけません。そのように続けて、8 番目のフレームバッファデバイスを作
  ります (mknod /dev/fb7 c 29 224)。

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

  オプションの場所には次のどれかひとつを使います。

  o  font:STRING  は組み込みフォントを選択します(カーネルにコンパイルし
     たもの)

  o  noblink  は点滅を中止します。

  o  noaccel は加速を無効にします。

  o  vram:ULONG  は、どれくらいのメモリを持っているかを  atyfb に伝えま
     す。

  o  pll:ULONG Unknown

  o  mclk:ULONG Unknown

  o  vmode:ULONG Unknown

  o  cmode:ULONG は depth を 0, 8, 15, 16, 24 と 32 に設定します。

  5.7.  どのグラフィックカードがVESA 2.0 類似のものか

  このリストは vesafb デバイスで動くことがわかっているグラフィックカード
  です。

  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

  このリストはシステムのマザーボードにオンボードチップセットになっていま
  す。

  o  Trident Cyber9397

  o  SiS 5598

  このリストは vesafb デバイスでは動かないグラフィックカードをまとめたも
  のです。

  o  TBA

  5.8.  vesafb をモジュールにできますか。

  分かっている限り、vesafb はモジュールにすることはできません。しかしな
  がら将来のある時点で、vesafb の開発者がモジュール化のためソースを修正
  する判断を行う可能性はあります。たとえモジュールにできても、起動時に
  vesafb が modprobed モジュールをロードするまでディスプレイに何も出力さ
  れないでしょう。起動時に問題がでる場合があるので、カーネルのなかに残す
  方がずっと賢いのかもしれません。

  5.9.  カーソルを修正する方法は？

  [VGA-softcursor.txt からの引用 - Martin Mares に感謝 ]

  現在、Linux はカーソル形状を変更できます。通常、ハードウェアカーソルの
  サイズを設定できます(そしてこれらのあまり性能のよくない Trident カード
  にはいやなバグを持っているものがあります。 drivers/char/ にある vga.c
  のなかの #define TRIDENT_GLITCH を見てください。) システムの設定で
  ''Software generated cursor''を有効にできる場合、ちょっとした新手のト
  リックを使えます。カーソルを点滅しない赤い塊のように見せることができ、
  文字の背景を反転させることができ、文字を透過あるいはハイライトにもで
  き、もとのハードウェアカーソルが可視、または不可視のどちらかの選択もま
  だ残っています。私がまだ考えたことがないようなその他の操作があるかもし
  れません。

  カーソルの形状は

  <ESC>[?1;2;3c

  できます。1、2 そして 3 は次に示すパラメータになります。どれも使わない
  なら、デフォルトの 0 になります。

  パラメータ 1 は、カーソルのサイズ 16 まで、を明示します(0=デフォルト、
  1=透明、2=下線状、..., 8=ブロック状)、ソフトウェアカーソルが使いたいな
  ら、 32 を使わないといけません。背景の色は 64 を使い、いつも変更して、
  前面の色と同じ色を背景にしたくないなら 64 にします。。Highlight は最後
  の二つのフラグを無視します。

  2番目のパラメータは変更したい文字属性のビットを選択します(このパラメー
  タの値を単純に合計して)。標準の VGA 上で、上位の 4 つのビットは背景を
  示し、下位の 4 つのビットは前面になります。両方のグループで、下位の 3
  ビットが色を決め(コンソールで使われる通常のカラーコードのように)、そし
  て最も重要なものがハイライトになります(あるいはときどきは点滅状態にな
  ります。これはお使いの VGA の設定に依存します。)

  第3パラメータは設定したい文字属性ビットからなります。設定するビットは
  ビットをトグルする前に置けば、マスクの設定とマスクトグルの両方を含んで
  ビットを簡単に消去できます。

  アンダーラインを普通に点滅させるには、次のようにします。: echo -e
  '\033[?2c' 領域を点滅させるには、次のようにします。:            echo
  -e '\033[?6c' 領域外を点滅させるには、次のようにします。:    echo -e
  '\033[?17;0;64c'

  6.  Atari m68k プラットホームでフレームバッファデバイスを使う

  ここでは Atari m68k プラットホーム上でのフレームバッファオプションにつ
  いて述べます。

  6.1.  Atari m68k プラットホーム上でどんなモードが利用できるか

  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

  ttlow、 ttmid そして、 tthigh は TT でだけ使われ、同時に、
  vga2、vga4、 vga15、vga256、falh3 と falh16 は Falcon でだけ使われま
  す。

  カーネルオプション video=xxx を使う時、そして、サブオプションがないと
  き、カーネルは与えられたハードウェアで可能なモードを見つけるまで引続き
  モードを検出します。

  o  ttmid

  o  tthigh

  o  vga16

  o  sthigh

  o  stmid

  使いたいモードを自動検出しないなら、使いたいと思う特別なモードを定義し
  たほうがよいでしょう。たとえば、video=vga16 とすると、 4 bit 640x480
  ディスプレイになります。

  6.2.  Atari m68k プラットホーム上の追加オプション

  video=xxx パラメータで利用できるいくつかのサブオプションがあります。

  o  inverse -  ディスプレイを反転させます。バックグラウンドとフォアグラ
     ウンドが反転します。通常、バックは黒ですが、このサブオプションを使
     うと、バックを白色に設定できます。

  o  font - テキストモードで使うフォントを設定します。 VGA8x8, VGA8x16,
     PEARL8x8 だけを選択できます。ディスプレイの仮想サイズが 400 ピクセ
     ル以下の場合は、デフォルトは VGA8x8 のみで、その他は VGA8x16 がデ
     フォルトになります。

  o  internal - とても興味深いオプションです。これについては次の章を見て
     ください。

  o  external - 上記と同様。

  o  monitorcap - マルチ同調に対する能力を記述します。固定同調モニターに
     は使ってはいけません。

  6.3.  Atari m68k プラットホーム上で内部サブオプションを使う

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

  このオプションは拡張した内蔵ビデオハードウェアの能力、モードを指定しま
  す。 (xres) と (yres) はスクリーンの拡張した大きさを決めます。

  OverScan モードが黒い枠線を必要とするなら、 internal: サブオプションの
  ３つの変数を書かなければいけません。 (xres_max) はハードウェアが許容す
  る最大の列の長さで、(yres_max) は、最大の列の数、 (offset) はバイトで
  表され、その物理的開始にスクリーンメモリの可視部分を補います。

  時々、拡張した内部ビデオハードウェアがアクティブになっていると、
  "switches=*" オプションが必要になります。[注意：著者はこの件についても
  う少し説明をしたいと思っています。カーネル添付の m68k の文書はこの点に
  ついては十分ではありませんし、彼は Atari を持っていません。多くの例も
  また役立つでしょう。 ]

  6.4.  Atari m68k プラットホームで外部サブオプションを使う

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

  これはとても複雑なので、この文書ではできるだけわかりやすく説明しようと
  考えていますが、どなたかがざっと目を通して、何か間違いがないかを調べて
  くださるなら著者は歓迎します。

  このサブオプションは、外部のビデオハードウェア(おもにグラフィックボー
  ドのような)を使っていて、Linux でどのように使うかを定義します。カーネ
  ルの知っている範囲は基本的に内部ビデオハードウェアに限られるので、外部
  ビデオハードウェアを使えるようにするためパラメータを与えなければなりま
  せん。二つの制限事項があります。起動する前にモードを切替えなければいけ
  ません。そして起動してしまうとモードを切替えることはできません。

  最初の三つのパラメータははっきりしています。画面の範囲を高さ、
  幅、depth をピクセルで与えます。depth は、要求された水平の数値を 2^n
  する色数でなければいけません。たとえば、256 色のディスプレイを使いたい
  なら、depth として 8 を使用しなければいけません。これはハードウェアの
  性能によって制限されますから、外部グラフィックハードウェアに依存しま
  す。

  次に示すように、ビデオメモリがどれくらい組まれているかをカーネルに伝え
  る必要があります。 (org) パラメータとして文字を与えます。

  o  n - 通常の水平面を使う。たとえば、別のものを使ったあとで全水平面を
     使う。

  o  i - インターリーブした水平面を使う。たとえば、最初に 16 bits を使
     い、それから順番に次の水平面の 16 ビットを使います。組み込みの
     Atari ビデオモードだけがこれを使用します。そして、このモードをサ
     ポートするグラフィックカードはありません。

  o  p - まとまったピクセルを使う。たとえば、連続的なビットはピクセルに
     対しすべて水平値になります。これはグラフィックカードで 256 色ディス
     プレイに対する最も普通のモードです。

  o  t - true colour を使う。たとえば、これは実際にまとまったピクセルで
     あるが、他のまとまったピクセルモードを使うもののように色検索表を要
     求しません。これらのモードは通常 24 ビットディスプレイで、16.8 万色
     を与えます。

  しかし、モノクロモードに対しては、(org) パラメータは違った意味を持ちま
  す。

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

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

  ビデオハードウェアについて次に重要な項目は、ビデオメモリのベースアドレ
  スです。先頭に 0x をつけた 60 進の数字で (scrmem) パラメータで与えま
  す。外部ビデオハードウェアに添付してある文書からこれを見つけなければい
  けません。

  次のパラメータ (scrlen) は、ビデオメモリのサイズをカーネルに伝えます。
  これを指定しないと、 (xres)、(yres) と (depth) パラメータから計算され
  ます。ここに値を書くのはどう考えてもあまり効果的ではありません。もし
  (vgabase) パラメータを与える必要があるなら、何も書かないという意味で、
  セミコロン(；)を二つ続けて与えておきます。必要がないなら、何も書かない
  でおきます。

  (vgabase) パラメータはオプションです。これがないと、カーネルはビデオ
  ハードウェアのどのような色数リストも読み/書きでませんから、Linux を起
  動する前に適切な色を設定しなければいけません。しかしお使いのカードが
  VGA 互換なら、VGA 登録を置いているアドレスでそれを指定できるので、色照
  合テーブルを変更できます。この情報はお使いの外部ビデオハードウェアの文
  書で確認できます。clear 、 (vgabase) を作成するため、色の登録を読み、
  書きするため、カーネルは(vgabase) + 0x3c7 と (vgabase) +0x3c9 の間の範
  囲にあるアドレスを使います。このパラメータは、60 進で与えられ、
  (scrmem)と同様、先頭に 0x を置かなくてはいけません。

  (vgabase) パラメータが定義されるなら、(colw) だけが意味を持ってきま
  す。それぞれの色登録がどれくらいの幅になるか、たとえば、単色
  ((red/green/blue)ごとのビット数をカーネルに伝えます。デフォルトはいつ
  も 6 ビットですが、8 ビットとするのが普通です。

  (coltype) は (vgabase) パラメータとともに使われ、お使いのグラフィック
  ボードの色登録モデルをカーネルに伝えます。現在、サポートされた型は
  vga and mv300 です。 vga がデフォルトです。

  (xres_virtual) は物理的行長が可視長と異なっている ProMST/ET4000 カード
  にだけ必要です。 ProMST では、2048 を与える必要があり、ビデオボードの
  初期化に依存します。

  7.  Amiga m68k プラットホーム上でフレームバッファデバイスを使う

  この章ではAtari m68k プラットホームとほぼ同様の Amiga に関するオプショ
  ンについて述べます。

  7.1.  Amiga m68k プラットホームでどんなモードが利用できるか

  これは Amiga で使われているチップセットに依存します。おもに三つのもの
  があります。OCS, ECS と AGA のすべてはカラーフレームバッファデバイスを
  使います。

  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 プラットホーム上での追加サブオプション

  Atari m68k でのサブオプションとほぼ同じです。次のものがあります。

  o  depth - ピクセルビットでの depth を明示します。

  o  inverse - Atari のサブオプションと同じことを行う。

  o  font - PEARL8x8 フォントが VGA8x8 フォントのかわりに使われますが、
     ディスプレイサイズが 400 ピクセルの幅よりも小さいなら、Atari サブオ
     プションと同じことをします。

  o  monitorcap - マルチ同調モニターの能力を明示します。固定同調モニター
     に使用してはいけません。

  7.3.  サポートされている Amiga グラフィック拡張ボード

  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 プラットホーム上でフレームバッファデバイスを使う

  現在のところ、フレームバッファデバイスは Linux を起動する前に MacOS で
  選択されたモードと 1、2、4 と 8 ビットカラーモードをサポートしているだ
  けです。

  フレームバッファサブオプションは次の構文を使って選択されます。

  video=macfb:<font>:<inverse>

  VGA8x8、VGA8x16  さらに 6x11 のようなフォントを選択できます。 inverse
  オプションはリバースビデオを使えるようにします。

  9.  PowerPC プラットホームでフレームバッファを使う

  著者はプラットホーム上でフレームバッファの使用についての情報を入手した
  いと考えています。

  10.  Alpha  プラットホームでフレームバッファデバイスを使う

  10.1.  どんなモードか使えるのか

  今までのところ、TGA PCI カードだけで、8 bits もしくは 24/32 bit のいず
  れかで 640x480 の解像度で 80x30 のみです。

  10.2.  フレームバッファデバイスでどんなグラフィックカードが動きますか

  このリストは動くことが分かっているグラフィックカードです。

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

  11.  SPARC プラットホームでフレームバッファデバイスを使う

  11.1.  フレームバッファデバイスでどんなグラフィックカードが動きますか

  このリストは利用できるグラフィックカードです。

  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

  ディスプレイまたはシリアルコンソールに文字を出力するため PROM を使うオ
  プションがあります。

  また http://c3-a.snvl1.sfba.home.com/Framebuffer.html で、Sparc Frame
  Buffer FAQ を見てください。

  11.2.  フレームバッファデバイスを設定する

  make config で、promcon と(または) fbcon をコンパイルするかどうかを選
  択しなければいけません。両方を選択できますが、そうするなら、デバイスを
  選択するためカーネルフラッグを設定しなければいけません。設定していない
  と、通常は、fbcon が優先されます。promcon が選択されていないと、起動時
  に、 dummycon がデフォルトになります。 promcon が選択されると、これを
  デバイスに使います。一度起動されてしまうと、fbcon が組み込まれ、カーネ
  ルはフレームバッファを探り、 fbcon を使います。フレームバッファデバイ
  スがないと、 promcon をデフォルトにします。

  カーネルオプションです。

  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

  たとえば、

   video=sbus:nomargins,font=SUN12x22

  と、96x40 のテキスト解像度で素早くテキストコンソールを与え、Solaris コ
  ンソールによく似ていますが、色と仮想ターミナルはインテルプラットホーム
  に似ています。

  SUN12x22 フォントを使いたいなら、make config (fontwidth != 8 option が
  無効になっている)で、これを有効にしなければいけません。高速化されたフ
  レームバッファは 1 から 16 ピクセルの間でフォント幅をサポートできます
  が、dumb frame buffers は4、 8、12 と 16 ピクセルフォント幅をサポート
  するだけです。

  最新のコンソールツールパッケージを入手しなければいけません。

  12.  MIPS プラットホームでフレームバッファデバイスを使う

  このプラットホームでは何も変更する必要はなく、これはすべて自動的に処理
  されます。Indys はとりわけ 160x64 のコンソールサイズを使うために 設計
  されています。しかし、これら Indys に対するコンソールコードを書き換え
  るという動きがあるので、この項には注目していてください。

  13.  ARM プラットホームでフレームバッファデバイスを使う

  13.1.  Netwinders

  Netwinders ( Netwinders は尊敬すべき British プロセッサの ARM SA110
  RISC チップを使っています)に関しては、2.0.x のカーネルと 2.2.x カーネ
  ル用の二種類の Cyber2000 フレームバッファドライバがあります。有効にす
  るためにとても素直なもので、両方のカーネルでこのドライバを使うことがで
  きますが、古い版のものは depth と解像度(blech)に関してはコードが古く
  なっていますが、より新しい カーネル  2.2.x ではもっと柔軟になっている
  というニュースがあります。しかし、現在のところまだ開発中です。これを動
  かすためにはカーネルソースの ARM port に付属している文書を読むことで
  す。

  Netwinders は  VGA 互換チップセットを使っていますが、不運にもどれもま
  だ vgafb を持っていません。どなたが [私に NetWinder をプレゼントしてく
  ださるなら遊んでみたいのですが]

  13.2.  Acorn Archimedes

  Acorns は Linux 1.9.x 以降いつもフレームバッファサポートをしてきまし
  た。しかし、2.2.x で、Acornfb ドライバは 2.1.x カーネルの開発中に汎用
  のフレームバッファインターフェースが変更されたので全体的に新しくなって
  います。以前のように、ドライバをアクティブにするのはとても簡単で depth
  と解像度を設定します。

  13.3.  その他の ARM ポート類 (SA 7110s など)

  驚いたことに、Psion 5 と Geofox のフレームバッファドライバはもうすでに
  あります。ペンギンをちゃんと表示すると言われてきました。[どなたか
  Psion 5 を私に提供してくださいませんか。 ]

  14.  multi-headed フレームバッファを使う

  この部分は Frederick A. Niles によって心よく提供されました。彼は HOWTO
  のこの章に添付した情報にすべての権利を有しています。

  14.1.  はじめに

  この文書のおもな目的は、Linux で dual head configuration を動かすため
  のものです。この作業はとても道筋がはっきりしているのですが、落とし穴が
  たくさんあります。

  私が対象にした例では、二番目のモニターで X サーバを動かしています。こ
  れがすばらしいのは、使えないので捨てられた古くて大きな 19インチから 21
  インチ の固定周波数モニターはごく普通に見つかるからです。こんな風にし
  て小型マルチシンクを捨てて、素敵な大きなモニターで X を使うようにでき
  るのです。

  dual head support は現在開発中ですから、この情報はすぐに変更になること
  を理解しておいてください。この文書中のあることは古くなるか、あなたがこ
  れを読む時期によっては正しくないこともあるでしょう。

  ** 注意 ** この文書は XFree86 4.0 のリリース以前に書かれました。この文
  書を読んでいるなら、XFree86 4.0 はすでにリリースされており、多くのこと
  が変更されています。利用するならこの文書の最新版を入手してください。

  14.2.  フィードバック

  この文書についてのフィードバックはもちろん歓迎です。みなさまの提案と協
  力なしには、この文書は存在しなかったでしょう。追加すべきことやご意見、
  評価を次のアドレス宛どうぞ投稿してください。
  Frederick.A.Niles@gsfc.nasa.gov

  14.3.  貢献を頂いた方々

  次の方々はこの mini-HOWTO に貢献してくださいました。

  *  Petr Vandrovec vandrove@vc.cvut.cz

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

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

  14.4.  一般的な声明

  この文書に書かれた内容については責任の義務は何もありません。書かれた内
  容や、その他の内容を利用するときはあなた自身の責任で行ってください。こ
  の文書は最新版ですから、間違いがあったり、お使いのシステムに損害を与え
  るような間違いがあるかもしれません。めったに起こらないことですが、注意
  して行ってください。私はそれらのことについてどんな責任も負いません。

  14.5.  著作権について

  文書のこの章は (c)1999 Frederick Niles に著作権があり、次の取り決めの
  もとに配付されます。

  ○ Linux の HOWTO 文書は、物理的あるいは電子的などんなメディアでも、こ
  の著作権に関する注意がすべてのコピー物に残される限りは、全文、あるいは
  一部分を複写し、再配付してもかまいません。商用での再配付は許可されてお
  り、推奨されていますが、著者はどのようなディストリビューションかを知ら
  せて頂きたく思います。

  ○すべての翻訳、配付作業、あるいは Linux HOWTO 文書を収集する作業は、
  この権利に関する注意のもとで行わなければいけません。すなわち、HOWTO か
  ら派生する仕事やそのディストリビューションで追加制限をしてはいけませ
  ん。このような規則の例外はある種の条件のもとで許可されます。下記のアド
  レスの Linux HOWTO のコーディネーターと連絡を取ってください。

  ○質問があれば、 Linux HOWTO のコーディネーターに連絡してください。
  linux-howto@sunsite.unc.edu

  14.6.  どんなハードウェアがサポートされているか

  ほとんどのビデオカードは、システムにはひとつのみで基本のディスプレイア
  ダプタ用のアドレスに永続的に設定されているのは当然だと考えています。例
  外がいくつかあります。

  ○ Matrox カード類：これには  Matrox Millennium、 Matrox Millennium
  II、 Matrox Mystique、 Matrox Mystique 220、 Matrox Productiva G100、
  Matrox Mystique G200、 Matrox Millennium G200 と Matrox Marvel G200 の
  カードがあります。

  ○ MDA: これにはモノクロ Hercules グラフィックアダプターなどがありま
  す。

  注意：上記のどれかひとつでなければいけないのは、第二アダプターだけで
  す。

  14.7.  商用サポート

  基本的にこの mini-HOWTO はフリーソフトウェアに関わるものです。しか
  し、multi-head をサポートする商用の X サーバがあります。 Metro Link
  (www.metrolink.com)の Metro-X や Xi Graphics (www.xig.com)の
  Accelerated-X などがそうです。

  14.8.  必要なものを入手する

  次のようなパッチやプログラムが必要です。

  ○ ''fbset''プログラムアクセスしてみてくださ
  い：http://www.cs.kuleuven.ac.be/~geert/bin/ (注意：このプログラムは
  RedHat 6.0 に付属しています)

  ○ Linux カーネルに対する "fbaddon" Matrox dual head パッチアクセスし
  てみてください：ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/
  <ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/>

  ○ ''con2fb'' プログラムアクセスしてみてくださ
  い：ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/
  <ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/>

  ○  X11 のフレームバッファサーバ XF86_FBDev。これは XFree86 3.3.1 の標
  準部品です。

  14.9.  始めよう

  まずやらなければいけないことは''fbaddon''パッチで Linux のソースにパッ
  チを当てることです。それから、カーネルのコンフィグレーションで frame
  buffer サポートを有効にしなければいけません。Matrox のカードを使ってい
  るなら、お使いのカードの特定の型はもちろん Matrox unified accelerated
  driver サポートを有効にします。VESA フレームバッファサポートを有効にし
  てはいけません。それは衝突を起こします。multi-head サポートを有効にし
  ます(当然ですよね)。カーネルを構築し再起動します。

  を注意深く読まなくてはいけません。 fbset で行こうと決めたのなら、
  "/etc/fb.modes" ファイルを使うことを強くおすすめします。 fbset プログ
  ラムは XF86Config ファイルを fb.modes に変換する Perl スクリプトを持っ
  ています。補足 A と B にお使いの XF86Config ファイルを変換するための私
  のoctave/Bourne シェルスクリプトがあります。

  multi-head サポートをするしかないというあなたの設定が原因で起こるどん
  な問題も理解できるよう、ひとつのモニターでフレームバッファデバイスを使
  う事 (設定) を十分理解しておかなければいけません。これで頭を掻きむしる
  回数をずいぶん減らすことができます。

  この文書では、二台目のモニターで X を動かすことについての説明に集中す
  るつもりです。これは、多くの他のコンフィグレーションは単にこの手順の一
  部を取り出すことに過ぎないからです。

  14.9.1.  コンソール上に移動

  すような使用方法についてのメッセージが出るでしょう。

  .Pp

  例示されたコマンドは ''con2fb /dev/fb1 /dev/tty6'' のように使い、二台
  目のモニターを仮想コンソール 6 にしてやります。 Ctrl-Alt-F6 というキー
  を使ってコンソールを操作すると、第二モニター上に実際に画面が出てきま
  す。

  14.9.2.  二台目のモニターでの設定を調節するため ''fbset'' を使う

  モニターに ''fbset '' を設定する設定にだけ ''fbset''コマンドを使いま
  す。つまり、二台目のモニターに ''-fb''フラッグ を使うのに注意しなけれ
  ばいけません。とりわけ、少なくとも実際の垂直像度に仮想垂直解像度を設定
  したいだけで、他のことはいじりたくないなら注意しなければいけません。

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

  これでテキストモードは劇的に遅くなりますが、 X はテキストモードのこと
  は気にしません。

  14.9.3.  フレームバッファサポートに対して X を設定する

  framebuffer.txt ファイルは私がするよりももっとうまく説明していますが、
  ここでは二つの重要なことを書いておきます。

  次にフレームバッファデバイスについてお使いの  XF86Config  ファイルのモ
  ニターセクションを追加しなければいけません。次に例を示します。

  # 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

  その他別のものについてはよくわからないので、''デフォルト''モードを使っ
  て、Matrox フレームバッファで動くでしょう。

  14.9.4.  二台目のモニターの  X サーバを始動してみる

  第二フレームバッファにさまざまなFRAMEBUFFER を設定する

  または、

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

  X サーバを起動すると、両方が選択したカラー depth に適合し、X サーバを
  始動する同じモニター上に現れます。

  この例は 18 ビットカラーで仮想コンソールの 6 上に''zeroth''X サーバー
  を始動します。その他のフレームバッファに対してもうひとつの X サーバを
  出したときに'':1'' を使うと、二つの X サーバを動かすことができるように
  なります。

  14.10.  要約

  第二モニターで X サーバを動かす方法は、次のように要約できます。

  ○ カーネルパッチ、fbset、con2fb を入手する。

  ○ カーネルにパッチを当て、コンフィギュア、再構築、再起動をする。

  ○ XF86Config ファイルに XF86_FBDev section を追加し、 X とリンクす
  る。

  それからいつものように再起動します。

  ○ コンソール上で動   たとえば、'' con2fb /dev/fb1 /dev/tty6 ''

  ○ 設定を調整する。   たとえば、'' fbset -fb /dev/fb1 1280x1024 ''

  ○ FRAMEBUFFER を設定  たとえば、'' export FRAMEBUFFER=/dev/fb1 ''

  ○ X サーバを起動する。たとえば、''startx -- -bpp 16 vt06''

  別名シェルを通して再起動するたびにこれを自動化できます。現在のコンソー
  ル番号を決める必要があるのでシェルスクリプトではなく、 alias でなけれ
  ばいけません。これは二つ目の固定された周波数のモニターで X を始動させ
  る C-シェルエイリアスです。

  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 ファイルにはコメントをつけないで同じ行にすべてを書いていま
  すが、ここでは改行し、コメントをつけて読みやすくしています。私はフレー
  ムバッファの番号を変数として与えており、そうすると正しく始動します。

  bash で同じエイリアスが動くかどうかはわかりません。bash で現在の tty
  を決定する方法、あるいはエイリアスに変数を得る方法はわかりません。もし
  どなたかが教えてくださればここに加えましょう。 しかし、現在の VT の名
  称を得、それぞれの X サーバに二つに分離したエイリアスを作るために
  ''tty'' コマンドを使えます。

  14.11.  その他の注意と問題点

  ○ ''fbset''と''startx''の両方は、操作を行おうとしている同じ一つのフ
  レームバッファから動かさなければいけません。これが、これらのコマンドが
  スクリプトを通してどれくらい自動化できるかについて重大な制約を課しま
  す。

  ○ XFree86 4.0 は正規の multi-head support を持っていますが、 3.3.1 で
  はサポートしていません。3.3.1 で二つのサーバを動かすことができ、 x2x
  を使ってそれらの間を切替えることができます。しかし、(次を見てください)

  ○ アクティブになっていないフレームバッファは、最後にアクティブになっ
  たときのイメージを保持したままで、画面の更新は行われません。

  ○ 選択されなかったモニターは、非アクティブの時には状態を常に保持する
  わけではありません (通常は保持されますが)。

  ○ Geert Uytterhoeven(フレームバッファの維持者)と Linus Torvalds は、
  現在の''frame buffer per VT''multi-head console support の変更(たとえ
  ばfbaddon)に同意していませんから、カーネルツリーの本流にはならないで
  しょう。(これは第三者から聞いたことで本当ではないかもしれません。)

  ○ ''ルールを破って''違ったモニターから X サーバを始動するなら(
  ''startx'' を動かす)、結局のところマシンはキーボードやマウス入力もうま
  くいかなくなって壊れることでしょう。

  ○ カーネルソースに付属する framebuffer.txt 文書では、X を起動する時に
  直接的に XF86Config ファイルで Modeline を設定できると説明しています。
  Matrox フレームバッファを使うと、 X サーバを落してしまうように見えま
  す。そこで、同時にひとつだけ(''デフォルト'')を設定できます(もうひとつ
  テキストモードを持てます)。

  ○ XF86_FBDev は高速ではありません
  が、http://www.in-berlin.de/User/kraxel/xfree86/で高速の Matrox
  support に対するパッチがあります。

  14.11.1.

  私はまだ複数のモニター設定(そして、実際に二番目のモニターか、あるいは
  両方のモニターにサーバがある)で、init level 5 で始動する方法で設定をし
  たことがありません。gdm/xdm Xservers ファイルに 1 行加えるだけで十分だ
  と思えますが、同じフレームバッファから X サーバを始動しなければならな
  いとい制約のため、この簡単な解決法では動作しません。うまくいった方がお
  られるなら、どうぞ私にお知らせください。ここに追加しましょう。

  14.11.2.  x2x プログラムを使う

  スクリーンの接線を得るとき、X サーバを切り替える x2x という良くできた
  小さなプログラムがあります。このプログラムの最新版は次のところにありま
  す: http://ftp.digital.com/pub/DEC/SRC/x2x/Debian パッケージの付属でも
  あります。私はまだ試していませんが、うまくいっているユーザもあります。

  14.11.3.  その他役立つコマンド

  multi-head configuration (とりわけスクリプトを書くときに)を扱うときに
  覚えておく価値のある linux コマンドがあります。

  ○ ''chvt''は仮想ターミナル間で切り替えできるようにします。○
  ''openvt''は新しい仮想ターミナル(VT)上でプログラムを始動させます。○
  ''tty''は現在のターミナルの名前を表示します。

  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 シェルスクリプト "cvtfile"

  (これは octave スクリプト''cvtmode''を呼び出します。

  [訳注：octave スクリプトとは、数値計算の処理系の  GNU Octave 言語のこ
  とです。詳細は次の URL 等でご確認ください。]

  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.  フォントを使う、変更する

  フォントを変更するために、kbd-0.99 が必要です。
  ftp://ftp.win.tue.nl/pub/linux/utils/kbd
  <ftp://ftp.win.tue.nl/pub/linux/utils/kbd> から入手できます。

  kbd-0.99 をダウンロードしインストールする利点は、お使いのコンソールデ
  バイスに国際フォント(たとえば Euro symbol のような)をロードできるよう
  になることです。(私のキーボードに３種類、つまり、ドルの単位記号、英国
  ポンドの単位記号とユーロの単位記号のシンボルを持つのはなかなかお洒落で
  す)

  16.  コンソールモードを変更する

  モードを変更(たとえば 640x480、 800x800 など)できるようにするため、
  fbset が必要でしょう(最新版は、fbset-19990118.tar.gz)、次のところで入
  手できます。

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

  このパッケージを動かす方法について、必要なすべてのものを添付していま
  す。

  17.  X11 FBdev ドライバを設定する

  XFree86 3.3.3.1 かそれより新しい版を使っていないなら、 XFree86 3.3.3.1
  に更新しなければいけません。XFree86 3.3.3.1 にはフレームバッファデバイ
  スに対応する FBdev X ドライバが含まれています。もしくは下記のところか
  らダウンロードするか、 3.3.2や 3.3.3 のような XFree86 の旧版に対して
  FBdev ドライバを構築するかしなくてはいけません。

  http://www.xfree86.org に行き、 XServers のソースアーカイブをダウン
  ロードします。そして次に示す方法にしたがってドライバを設定します。

  o  xc/config/cf/xf86site.def を編集します。XF68FBDevServer に対して
     #define をコメントをはずします。

  o  FB_VISUAL_STATIC_DIRECTCOLOR を参照するすべてをコメントアウトしま
     す。これらは誤りがあり、もう使われていません。 XFree86 3.3.3.1 を
     使っているなら、XFree86 はこれを取り除いているので、この段階ではも
     うすることはありません。

  o  xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_io.c を編集し,
     K_RAW を K_MEDIUMRAW に変更します。

  それからドライバを構築します。 m68k レファレンスについて心配はありませ
  ん。インテルプラットホームをサポートしています。それから全部を構築しま
  す。大きなソースツリーですから時間がかかるでしょう。

  時間をかけたくないなら、下記サイトからバイナリーを入手できます。これ
  は'非公式'に構築されたものですから、自分の責任で使用するということに注
  意してください。

  libc5 に対しては次のものを使用します。 http://user.cs.tu-
  berlin.de/~kraxel/linux/XF68_FBDev.libc6.gz

  glibc2 では次の URL からダウンロードしてください。

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

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

  X11 は、この vesafb 仕様を有効にしてあると一部のグラフィックカードでは
  うまく動かないという報告があります。もしそうなるなら、X11 に対しては新
  しい XF86_FBdev ドライバを試してみてください。

  このドライバは、vesafb とともに、現在の X11 ドライバでサポートされてい
  ないある種のグラフィックチップをより高いグラフィック解像度で  X11 を動
  かすのも援助できます。MGA G-200 のようなものはその例です。

  お使いの X11 システムで XF86_FBdev ドライバをコンフィギュアするため、
  次のようにお使いの XF86Config を編集しなければいけません。

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

  keyboard の項でも同様に、XkbDisable に設定しなければいけないか、または
  お使いのキーボードが適切に動くよう設定するため、'-kb' オプションをつけ
  て XF86_FBDev サーバを呼び出す必要があるでしょう。 XkbDisable を設定す
  るのを忘れたなら、キーボードのマッピングを適切に設定するため、お使いの
  .Xmodmap に次のような行を書かなければいけません。

   これは XFree86 3.3.3.1 では修正されており、その他二、三の大きなバグが
  修正されており、さらに先に述べたようにドライバのひとつとして FBDev を
  含んでいますから、この版にアップグレードするのはよいことです。

  ! 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

  何かする必要があるかもしれませんが(あなたが使っていて、そして、 FBDev
  にドライバの名前を編集してあるオリジナルの X11 ドライバからオリジナル
  の定義をコピーしてみてください)、基本的にこれが vesafb X11 ドライバを
  使うためにやらなくてはいけないことのすべてです。

  うまくいけばサポートされたグラフィックカードでの X11 の問題は、将来の
  版では修正されるでしょう。

  18.  フレームバッファデバイスのタイミングに XFree86 モードラインをどの
  よう に変換したらよいですか。

  お使いのマシンに XFree86 (X11) をインストールしているなら、ちゃんと使
  うことができるでしょう。フレームバッファデバイスによって必要とされた要
  求タイミングにお使いの XF86Config に モードラインを変換するのはとても
  簡単です。

  フレームバッファデバイスには次のようなフィールドが必要です。

  o  pixclock - ピコ秒でのピクセル

  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 モード行は次のような部分があります。

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

  framebuffer device timings の設定に XF86 モードラインに翻訳するため単
  純な計算をする必要があります。例として、私の XF86Config ファイルから
  取ってきたモードラインを変換する方法を試してみましょう。

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

  はじめに要求された pixclock 率を計算します。 XFree86 はメガヘルツを使
  いますが、フレームバッファデバイスはピコセコンドを使います(その理由は
  私にはわかりません)。DCF で 1 万を割ります。たとえば、1,000,000 /
  110.0 = 9090.9091

  さて、水平タイミングを計算しなくてはいけません。

  o  left_margin = HFL - SH2

  o  right_margin = SH1 - HR

  o  hsync_len = SH2 - SH1

  われわれの例は次のようになります。

  o  left_margin = 1712 - 1512 = 200

  o  right_margin = 1328 - 1280 = 48

  o  hsync_len = 1512 - 1328 = 184

  さらに、仮想タイミングを計算しなければいけません。

  o  upper_margin = VFL - SV2

  o  lower_margin = SV1 - VR

  o  vsync_len = SV2 - SV1

  われわれの例では、このようにしています。

  o  upper_margin = 1054 - 1028 = 26

  o  lower_margin = 1025 - 1024 = 1

  o  vsync_len = 1028 - 1025 = 3

  上述したモードについてフレームバッファを設定するためこの情報を使えま
  す。たとえば、matroxfb フレームバッファでは、次のようになります。

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

  私の /etc/lilo.conf に、次のような行を追加しています。

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

  この場合、pixclock を使っていないことに注意してください。pixclock の指
  定はデフォルトの pixclock 率を好まない場合にだけ必要です。パラメーター
  としてもまたこれを補足できます。pixclock を設定するには、この HOWTO の
  他の項目に書いてあります。

  19.  Linux のロゴを変更する

  include/linux ディレクトリにある linux_logo.h ファイルを変更してカスタ
  マイズできます。これは c ヘッダーで、手で変更するのは少し難しいです
  が、自分の作りたいものを作るため gimp
  http://registry.gimp.org/detailview.phtml?plugin=Linux+Logo で利用でき
  る plugin があります。必要なものは、224 色以下の画像 80x80 です。 3 種
  類(2,16,224)を作るか、自分で作り、プラグインで使うかのどちらかでできま
  す。ファイルを保存する場所を尋ねてきますから、遊びな
  ら、($SRCDIR)/include/linux/linux_logo.h に書きこめます。一度すべてを
  終了し、いつものようにカーネルの再構築をし、再起動します。そして、フ
  レームバッファが動くなら、起動時に自分で書いた新しいロゴが見えるでしょ
  う。

  20.  もっと情報を知りたいなら

  フレームバッファドライバを動かすことに関心をお持ちの方々に、プログラミ
  ング情報についてはブラウザで次のところを見てください。
  http://www.linux-fbdev.org

  この文書のフランス語訳は次のところにあります
  http://www.freenix.org/unix/linux/HOWTO/mini/Vesafb.html。

  日本語訳の校正をして頂いた方々のリスト

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

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

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

