`video=' 引数(バージョン 2.0 のカーネルでは使えません)は、 フレームバッファデバイスの抽象化層をカーネル内に作るときに使います。 難しそうに聞こえるかもしれませんが、そんなに手に負えないものではありま せん。これは基本的に、それぞれのビデオカード用に異なるビデオプログラム (X11R6 のサーバ)を用意する(例: XF86_S3, XF86_SVGA, …)のではなく、 カーネル内に各ビデオカード用のドライバを組み込み、ビデオプログラム用に は単一のインタフェースを提供します。これにより、必要な X11R6 のサーバ はひとつ(XF86_FBDev)だけになります。これは現在のネットワークのやりかた に似ています。ネットワークについては、カーネルが各種ネットワークカード のドライバを持ち、単一のネットワークインタフェースを提供します。これに より、インタフェースの背後にあるネットワークカードの種類に関わらず全て のシステムで、単一のプログラム(Netscape 等)が動作します。
この引数の標準的な形式は video=name:option1,option2,...
です。
ここで name
は汎用的なオプションか、フレームバッファデバイス固有
のオプションです。video=
は linux/init/main.c
から
linux/drivers/video/fbmem.c
に渡され、さらに処理されます。
ここで、既知のドライバ名とのマッチングが試みられる前に、汎用的なオプショ
ンのいくつかがチェックされます。一旦ドライバ名のマッチングが行われると、
コンマ区切りのオプションリストは、特定のドライバに渡されてから最終的に
処理されます。有効なドライバ名のリストは、前述の fbmem.c
ファイル
にある fb_drivers
配列を順に読むことによって得られます。
それぞれのドライバがサポートしているオプションに関する情報は、
いつかは linux/Documentation/fb/
で見つけられるようになると思い
ますが、現在(バージョン 2.2 時点)はここには少ししか情報がありません。
残念ながら、ビデオドライバの数とそれぞれに対するオプションの数は別の文
書が書けるほど多いので、ここに示すことができません。
お使いのカードに関する文書ファイルがなければ、ドライバから直接オプショ
ンに関する情報を得なければなりません。linux/drivers/video/
に
行き、適切な ???fb.c
ファイルを見てください(??? はカード名に基づ
いています)。ここで、_setup
という文字列が名前に含まれている関数
を探し、ドライバがどんなオプションを調べているかを見てください。
font
や mode
等が調べているでしょう。
このオプションを使うと、コンソールからフレームバッファデバイスへのマッ ピングの設定/上書きができます。数値をコンマで区切って並べたリストでマッ ピングを設定します。すなわち、オプション N の値が、コンソール N に対応 するフレームバッファデバイスの番号となります。
コロンの後の数値により、スクロールバックバッファに割り当てるメモリの量 を設定します。(スクロールさせるためには Shift キーと PageUp, PageDown キーを使ってください。) 数値の後に `k' または `K' を付けると、その数は バイト単位でなくキロバイト単位と解釈されます。
数値、あるいは数値の範囲(例: video=vc:2-5
)により、最初、あるいは
最初と最後のフレームバッファ仮想コンソールを指定します。このオプション
を使うと、フレームバッファコンソールをデフォルトのコンソールでなく
する効果もあります。