XF86_SVGA サーバは、以下の普及している SuperVGA チップセットを 256 色モードでサ ポートしている。 ディスプレイのメモリが 1M ならば、(およそ)1152x900まで解像度の仮想スク リーンがサポートされる。Western Digital WD90C33, Cirrus 製チップセッ ト、ARK, Oak OTI087, Chips & Technologies 65550 または 65554、ET6000 の一部では、2MB までのディスプレイメモリおよび 1280x1024 またはそれ以 上の解像度の仮想スクリーンがサポートされる。Cirrus 製と ARK 製のチップ セットの一部では、設定によっては 16bpp, 24bpp, 32bpp (TrueColor) のモー ドもサポートされる。Trident 製のチップの一部では 16bpp がサポートされ る。Chips & Technologies 製のチップの一部では、16bpp と 24bpp(TrueColor)のモードがサポートされる。ET6000 チップと ET4000W32i, ET4000W32p チップの一部では、全ての色の深さがサポートされる。一般的な VGA カードでは 8bpp 320x200 だけがサポートされる。 Matrox Millennium では全ての色の深さがサポートされる。統合コントローラ を持つ ATI のカードでも、全ての色の深さがサポートされる。
アクセラレーションは、Cirrus 製のチップセット、Western Digital 製の WD90C31 および WD90C33 チップセット、Oak OTI087 チップセット、Chips & Technologies 製チップセット、ARK Logic 製チップセット、ET600, ET4000/W32p, ATI Rage 128 のほとんどでサポートされる。 also included for i740 (AGP and PCI) based cards in 8bpp, 16bpp and 24bpp color depths (32bpp is unaccelerated). ET4000/W32 (i および p)と ET6000 用の 8bpp でのアクセラレーションのサ ポートは、別のサーバで実装されている(XF86_W32(1) 参照)。ATI 製 Mach8, Mach32, Mach64 ベースのボードのユーザは、オンラインマニュアルの XF86_Mach8(1), XF86_Mach32(1) ,XF86_Mach64(1) をそれ ぞれ参照すること。i740 ベースのカード(AGP および PCI)は、色の深さ 8bpp, 16bpp, 24bpp でアクセラレーションに対応している(32bpp ではアクセラレーション は効かない)。
このサーバを使う際には、XF86Config ファイルの Screen セクション で、Driver エントリに svga をセットする必要がある。
XF86Config ファイルの Device セクションのエントリには次のよう
なものがある:
legend - Signam Legend 製の ET4000 ベースのボードに対して用いる。 このオプションは、Legend のボードで使われている特別なクロック選択アル ゴリズムを有効にするもので、これらのボードを正しく機能させるためには指 定しなければならないオプションである。
swap_hibit - Western Digital/PVGA1 で使用する。Western Digital ベースのカードには、反転させるために高次のクロック選択を必要とするもの がある。サーバがこの情報を実行時に決定することはできない。 サーバが検出したクロックのリストの 9番目のクロックが 30MHz より小さい 場合には、このオプションをセットする必要があるだろう。
hibit_low, hibit_high - Tseng 製 ET4000 チップセットに指定 する。ET4000 カードの一部では、高解像度のテキストモードから起動した場 合に、サーバが高次のクロック選択ビットを取得することが困難である。この オプションを使うと、ビットの正しい初期状態を指定することができる。正し い初期状態を見つけるためには、サーバを 80x25 テキストモードから起動す る。このオプションを指定する必要があるのは、高解像度のテキストモードか ら起動したときと、80x25 テキストモードから起動したときでサーバが通知す るクロックが異なる場合だけである。
8clocks - デフォルトでクロックを4つ持つ PVGA1 チップセットで使用 する。このチップを使ったカードでも 8 つのクロックをサポートしているこ とがある。このオプションを指定すると、追加の 4つのクロックの検出・利用 ができるようになる。
16clocks - Trident 製 TVGA8900B, 8900C チップセットで使用する。 8900B や 8900C を用いた新しいボードでは、標準の 8 個のクロックではなく、 実際には 16個のクロックをサポートしていることがある。このようなボード には "TCK9002" または "TCK9004" チップが載っている。このオプションを指 定すると、ドライバは追加の 8 個クロックの検出・利用が可能になる。
probe_clocks - Cirrus 製のチップセットで使用する。Cirrus のドラ イバは通常使う固定のクロックのセットを持っている。このオプションを指定 すると、ドライバはデフォルトで組み込まれているクロックを通知しないで、 クロックの検出を行う。 このオプションを使うのはデバッグのときだけである。
hw_clocks - C&T チップセットで使用する。Chips & Technologies の ドライバは、プログラマブルクロックがサポートされていれば、デフォルトで はこれを使おうとする。このオプションを指定すると、サーバはハードウェア がサポートしている限られた数の既定のクロックを使う。
clkdiv2 - 跳び跳びのクロックを持つ(プログラマブル ClockChip や ClockProg を使わない)全てのチップセットで使用する。このオプションを有 効にすると、SVGA ドライバは clock 行に記述したクロックを2で割った値も 全て使えるようになる。これにより、特に高い範囲と中くらいの範囲で、サー バは2倍の数のクロックが選べるようになる。このオプションは 320x200 のよ うな非常に低い解像度を作る場合に便利である。なぜなら、多くのカードにお ける最低クロック(25.175 MHz)でも、標準の 320x200 モードを作るには高す ぎるからである。一部の SVGA チップ(S3, WD90cxx)では、このオプションが サポートされておらず、画面が乱れてしまう。
power_saver - このオプションは、VESA DPMS 互換のモニタの省電力機 能を有効にする。 異なるレベルの操作でのタイムアウト値の設定方法については、オンラインマ ニュアルの XF86Config(4/5) を参照すること。
noaccel - Cirrus, WD, ARK, C&T, MGA, Tseng, i740, ATI Rage 128(r128) チップセットで使用する。 このオプションは、clgd542X, clgd543x, clgd5446, clgd546X, wd90c24, wd90c31, wd90c33, C&T, ARK, MGA, Tseng, i740, ATI Rage 128 (r128) チップセットのアクセラレーション機能を無効にする。
no_pixmap_cache - アクセラレーションに XAA を使うチップセットで 用いる。これには、ARK, Cirrus, C&T, MGA, SiS, Trident 9440/9680, Tseng チップセットが含まれる。このオプションは、XAA がキャッシュしたピックス マップの利用を無効にする。
xaa_no_color_exp - アクセラレーションに XAA を使うチップセットで 用いる。 このオプションは XAA によるハードウェア色展開機能の使用を無効にする。 テキスト表示の問題が起きた場合には、このオプションを試すとよい。
xaa_benchmarks - アクセラレーションに XAA を用いているほとんどの チップで役に立つ。このオプションを指定すると、サーバは起動時に XAA ア クセラレーションプリミティブのベンチマークを実行し、その結果を通知する。
fifo_conservative - Cirrus 製 542x/3x/46/6x チップセットおよび oti087, ARK で使用する。 このオプションを指定すると、高いドットクロック値に対しては、CRT FIFO 閾値に控えめな値がセットされる。これにより性能は少し低下するが、BitBLT 操作中のビデオメモリのバンド幅の取り合いによって、スクリーンに「縞」が 生じる問題を回避できるかもしれない。
fifo_aggressive - Cirrus 製 542x/3x/46/6x チップセットおよび oti087, ARK で使用する。 このオプションは CRT FIFO の閾値にきわどい値をセットする。
slow_dram - Cirrus 製 542x/3x/46 チップセットおよび Trident で使 用する。このオプションは、DRAM の動作が遅いチップ向けに DRAM のタイミ ングをセットする。
med_dram - Cirrus 製 542x/3x/46 チップセットおよび Trident で使 用する。このオプションは、DRAM の動作が中程度のチップ向けに DRAM のタ イミングをセットする。
fast_dram - ET4000, ET6000, Cirrus 製 542x/3x/46 チップセットお よび Trident で使用する。このオプションは DRAM の動作が速いチップ向け に DRAM のタイミングをセットする。通常はこのオプションを指定する必要は ない。
sgram - i740 チップセット用である。このオプションを指定すると SGRAM のタイミング情報が使われる。
sdram - i740 チップセット用である。このオプションを指定すると SDRAM のタイミング情報が使われる。
no_2mb_banksel - Cirrus チップセットで使用する。このオプションは 256k x 4 個の DRAM(16チップ)ではなく、521k x 8 個の DRAM(4チップ) の形 で 2MB のビデオRAM を積んでいる Cirrus のカードで必要である。
no_bitblt - Cirrus と C&T のチップセットで使用する。このオプショ ンはハードウェア BitBLT の使用を無効にする。
no_imageblt - Cirrus と C&T のチップセットで使用する。このオプショ ンは CPU が補助する BitBLT 機能の使用を無効にする。
mmio - Cirrus と C&T のチップセットで使用する。このオプションは、 BitBLT 通信に対してメモリマップ I/O を有効にする。
linear - フレームバッファのハイメモリ領域へのリニアマッピングを 試みる。現在は Cirrus と oti087 を使った構成、ET6000, rev C, D の ET4000W32p, ET4000W32i だけでサポートされている。 clgd5462, clgd5464, C&T, NVidia, ARK チップセットに対しては自動選択が 行われる(つまりこのオプションは無視される)。これは Tseng チップの 8bpp 以外のモードでも同じである。8bpp モードでは、このオプションを指定 すると強制的にリニアマッピングを使うことができる(8bpp 時のデフォルトは バンク切替えモードである)。
nolinear - リニアマッピングを無効にする。C&T, ARK, 一部の Cirrus チップセットで役に立つ。
med_dram, favour_bitblt, clgd6225_lcd, no_stretch, no_mmio - Cirrus 固有のオプション。Cirrus 固有のオプションの詳細については、 /usr/X11R6/lib/X11/doc/README.cirrus を参照すること。
ext_fram_buf, use_modeline, fix_panel_size, no_stretch, lcd_center, suspend_hack, use_18bit_bus - LCD 画面で使うための Chips & Technologies 固有のオプション。これらのオプションの詳細については、 <XRoot>/lib/X11/doc/README.chips を参照すること。
hw_cursor - ARK, ET6000, i740, ATI Rage 128 (r128) チップセットで用いる。 このオプションはハードウェアカーソルを有効にする。
sw_cursor - Cirrus, C&T, i740, Rage 128 (r128) チップセットで用 いる。このオプションはハードウェアカーソルを無効にする。
sync_on_green - Chips & Technologies の 65550, 65554 および Matrox の MGA2064W で用いる。このオプションは、緑信号における同期信号 生成を有効にする。
pci_retry - アクセラレーションを使う全ての Tseng チップセットで 用いる。このオプションは、Tseng チップの「バス保有」機能を用いてアクセ ラレーションの性能を向上させる。しかし、その代わりにシステムのバスを長 時間ブロックしてしまう。この場合、ISA DMA ハードウェア(サウンドカード、 フロッピーディスクドライブ等)でバスがタイムアウトを起こすことがある。 pci_retry という名前ではあるが、PCI バスのカードだけに影響を与え るわけではない。
none all
XFree86 には、動作しているハードウェアを知るための内部的な機能が ある点に注意すること。したがって、普通はchipset, clocks, videoram を指定する必要はない。しかし、自動検出機能がうまく動作 しない場合がある(例えば、サーバの起動時にマシンの負荷が高すぎるとき)。 このような場合のために、まずは負荷の低いときに XF86_SVGA を実行 し、自動検出の結果を調べ(サーバの起動時に出力される)、このパラメータを 明示的に設定ファイルに指定する。 XF86Config には全てのパラメータ(特に Clock 値)を指定することが望ましい。
注: <XRoot> は X11 のインストールツリーのルートディレクトリを指す。
バグレポートは歓迎である。レポートは以下のアドレスに電子メールで送付す ること。
オンラインマニュアルの XFree86(1) を参照すること。