VGA(4)

名称
vga - 汎用ビデオカードインタフェース

書式
options "VESA" options "VESA_DEBUG=N" options "VGA_ALT_SEQACCESS" options "VGA_NO_FONT_LOADING" options "VGA_NO_MODE_CHANGE" options "VGA_SLOW_IOACCESS" options "VM86" device vga0 at isa? port ? conflicts

解説
vga ドライバは汎用ビデオカードドライバであり、 ビデオカードを利用できるようにします。 このドライバはコンソールドライバ syscons(4) のために必要です。 コンソールドライバは vga ドライバを呼び出してビデオハードウェアを操作します (ビデオモードの変更、フォントの読み込み、など)。

ビデオカードは他のドライバと同じ範囲の I/O ポートを使用するかもしれないので、 キーワード conflicts が必要です。

vga ドライバは次の規格のビデオカードをサポートします: MDA, CGA, EGA, VGA。 さらに、ビデオカードがサポートしていれば VESA 拡張 BIOS を利用することもできます。 VESA サポートは静的にカーネルに含めておくことも、 独立したモジュールとして読み込むこともできます。

VESA サポートをカーネルに静的にリンクするためには、 カーネル設定ファイルで VESA オプション(以下参照) と VM86 オプションを定義することが必要です。

vesa モジュールは kldload(8) を使って動的にカーネルに読み込むことができます。 このためには、 VM86 オプションをカーネル設定ファイルで定義しておく必要があります。

ドライバの設定

  カーネル設定オプション
vga ドライバを制御するために、 以下のカーネル設定オプション (config(8) 参照) が使えます。 これらのオプションはある種の VGA カードとの互換性をとるためのものです。

VGA_ALT_SEQACCESS
    マウスポインタが正しく描画されない場合や、 あるいはフォントが VGA カードにうまく読み込めていないように思える場合には、 このオプションを試すと良いかも知れません。 ただしシステムによってはちらつきが生じるようになるかもしれません。

VGA_SLOW_IOACCESS
    古い VGA カードを正しく動作させるためにこのオプションが必要かもしれません。 これによってドライバは VGA レジスタに対しバイト幅の I/O を行なうようになり、 若干動作が遅くなります。

以下のオプションはドライバに任意選択の機能を付け加えます。

VESA
    ドライバに VESA BIOS サポートを加えます。 もし VGA カードが VESA 拡張 BIOS 1.2 以降を持っていれば、 このオプションによって高解像度モードへの切り替えに VESA BIOS を利用するようになります。 このオプションを使用するには VM86 オプションも必要です。

VESA_DEBUG=N
    VESA サポートのデバッグレベルを N にします。 デフォルトは 0 で、すべてのデバッグ出力は抑制されます。

以下のオプションは vga ドライバから機能を削り、カーネルの使用メモリを節約します。

VGA_NO_FONT_LOADING
    vga ドライバは EGA や VGA のカードにソフトウェアフォントを読み込めます。 このオプションはこの機能を削ります。

VGA_NO_MODE_CHANGE
    このオプションはドライバがビデオモードを変更できないようにします。

使用例
カーネル設定ファイルには普通は以下の記述があるはずです:

    device vga0 at isa? port ? conflicts

VESA 拡張 BIOS サポートを有効にするためには、 カーネル設定ファイルに次の 3 行を含めてください。

    options "VM86"
    options "VESA"
    device vga0 at isa? port ? conflicts

VESA サポートをカーネルに含めたくないが、たまには使いたい場合には、 次の 2 行をカーネル設定ファイルに加えてください:

    options "VM86"
    device vga0 at isa? port ? conflicts

そして使いたくなったら vesa モジュールを読み込んでください:

    kldload vesa

関連項目
syscons(4), config(8), kldload(8), kldunload(8)

規格
VESA BIOS Extension (VBE), Video Electronics Standards Association.

歴史
vga ドライバは FreeBSD 3.1 に初めて登場しました。

作者
vga ドライバは Soren Schmidt <sos@FreeBSD.org> と Kazutaka Yokota <yokota@FreeBSD.org> が書きました。このマニュアルページは Kazutaka Yokota が書きました。