Solaris 環境では、特定の表示デバイスが基準デバイスと見なされます。このようなデバイスには、Solaris Device Developer Kit (DDK) で提供されるサンプルデバイスハンドラが付いています。基準デバイスハンドラのコード例をテンプレートとして使用し、独自のデバイスハンドラを作成できます。
デバイスハンドラを作成して構成するプロセスについては、『X Server Device Developer's Guide』を参照してください。Solaris X サーバーでは、有効なデバイスハンドラが作成され、システムに対して構成されているデバイスについてはすべてサポートしています。
表 A-1 は、基準表示デバイスとそれによってエクスポートされるビジュアルを示します。デバイス名はサーバーに対してディスプレイアダプタを指定し、製品名はディスプレイカードのタイプを指定します。1 つのデバイスに別の製品名が付いている場合は、その製品名が CGn デバイス名の代わりに使用されているので注意してください (たとえば、CG8 ではなく TC が使用されている)。
エクスポートされるデプスは、この特殊なデバイスタイプの画面用にサーバーによって広告 (advertise) されるビジュアルのデプスを指定します。MPG (複数プレーングループ) は、デバイスで複数デプスのビジュアルがサポートされることを示します。この表で使用している用語についての詳細は、用語集を参照してください。
表 A-1 Solaris 基準表示デバイスデバイス名 | 製品名 | デバイスドライバ | バス | エクスポートされるデプス |
---|---|---|---|---|
BW2 |
なし |
/dev/fbs/bwtwoX |
SBus, VME/obio, P4 |
1 ビット |
CG3 |
なし |
/dev/fbs/cgthreeX |
SBus |
8 ビット |
CG6 |
GX |
/dev/fbs/cgsixX |
SBus, P4 |
8 ビット |
CG6 |
GXplus/ TurboGXplus |
/dev/fbs/cgsixX |
SBus |
8 ビット |
CG8 |
TC |
/dev/fbs/cgeightX |
SBus, P4 |
1 ビット、24 ビット (MPG) |
leo |
LEO |
/dev/fbs/leo0 |
SBus |
1 ビット、24 ビット (MPG) |
ffb |
FFB |
/dev/fbs/ffb0 |
SBus |
1 ビット、24 ビット (MPG) |
m64 |
PGX |
/dev/fbs/m64X |
PCI |
8 ビット |
vga4 |
VGA |
該当なし |
ISA, EISA, MCA |
8 ビット |
vga8 |
VGA |
該当なし |
ISA, EISA, MCA |
8 ビット |
i8514 |
8514/A |
該当なし |
ISA, EISA, MCAS |
8 ビット |
サーバーは、最大 16 のディスプレイをサポートするように構成されています。制限があるとすれば、ハードウェアでサポートされるフレームバッファ数によるものです。
BW2 は、モノクロモニタをサポートする単純な 1 ビットのフレームバッファです。このデバイスのデバイスハンドラは、1 ビットの StaticGray ビジュアルのみをエクスポートします。したがって、これは組み込みデフォルトビジュアルです。サードパーティ製品を含む各種のバスと画面解像度に合わせて、さまざまな BW2 フレームバッファが販売されています。
CG3 は、SBus システム用の 8 ビットインデックスカラーのダムフレームバッファです。このデバイスのデバイスハンドラは、複数の 8 ビットビジュアル (後述) をエクスポートします。組み込みデフォルトビジュアルは 8 ビット PseudoColor です。
GX は、2 次元と 3 次元のワイヤフレーム、均一にシェーディングされたポリゴン、全般的なウィンドウシステムの高速化を目的とする 8 ビットインデックスカラー表示アクセラレータです。ウィンドウシステムの高速化は自動的に実行され、その他の高速化機能は Solaris のグラフィックス API を介して指定できます。複数の 8 ビットビジュアルがサポートされ、組み込みデフォルトビジュアルは 8 ビット PseudoColor です。GX は SBus と P4 バス用として提供されます。
GXPlus デバイスは、基本的には SBus システム上のダブルバッファリング機能と画面解像度向上のために使用できるメモリーを GX に追加したようなものです。この GXplus を使用できる場合、SolarisX サーバーは見えない画面領域を使用して X11 ピックスマップを自動的に高速化します。
TC デバイスは、2 種類のメモリーバッファ、つまり、1 ビットモノクロと 24 ビットカラーというプレーングループを保有しています。どちらのプレーングループ内でもウィンドウを作成できるので、MPG デバイスです。1 ビットと 24 ビットのすべてのビジュアルがサポートされます。
一部の (以前の) X11 クライアントアプリケーションの中には、カラーフレームバッファが 8 ビットの組み込みデフォルトビジュアルを使用するものと見なし、TC 上でカラー表示しないものがあります。このような結果を防ぐため、組み込みデフォルトビジュアルは 1 ビットの StaticGray です。
TC のプレーングループは、完全に別々なメモリーバッファになっているため、相互に衝突することはありません。OpenWindows では、デフォルト時にこれを利用することにより、1 ビットのウィンドウと 24 ビットのウィンドウが互いに干渉し合わないようにして、システムの性能を向上させます。この動作を「最小の露出」といいます。この動作は、openwin(1) の -nominexp オプションを使用すれば無効にできます。このオプションを使用すると、1 ビットのウィンドウと 24 ビットのウィンドウは互いに干渉し合うようになります。
Solaris X サーバーは、可能であれば他の MPG デバイスにも最小のエクスポージャを適用します。これらのデバイスでは、openwin の -nominexp オプションを使用してください。
X プロトコルは、任意にカーソルの構成要素を変形させることができます。システムの性能を全般的に向上させるため、OpenWindows サーバーは常にカーソルを TC の 1 ビットのプレーングループにして描画します。
VGA はカラーのダムフレームバッファです。サーバーは、すべてのビジュアル型とデフォルトの PseudoColor (vga8) を備えた 8 ビットのインデックスカラー、または 4 ビットの StaticColor (vga4) として VGA をサポートします。8 ビットモードを使用する場合、通常の解像度は 1024 x 768 になります。4 ビットモードはすべての VGA デバイス上で利用できる基本的な VGA グラフィックスモードなので、通常の解像度は 640 x 480 に制限されます。大部分の VGA の bitsPerRGB は 6 です。vga8 サーバーにも、XGA をダムフレームバッファとしてサポートする機能があります。
4 ビットの VGA モードでは、VGA パンニングがサポートされます。パンニングモードでは、より大きい仮想ディスプレイに物理ウィンドウをマップできます。仮想ディスプレイ内で移動する場合は、画面の縁の外側にマウスを「押し出して」ください。物理ウィンドウが仮想ディスプレイの境界に当たるまで、仮想ディスプレイ内の物理ウィンドウがマウスの押された方向に自動的に移動します。
OpenWindows を十分に使い慣れたユーザー以外は、パンニングを使用しないでください。メッセージによる通知なしで、アイコンやポップアップボックス (メニュー / ダイアログボックスなど) が画面の外側に表示される場合があります。このような状況を把握し、隠れたウィンドウオブジェクトを探して通常の状態に回復できる程度の使用経験が必要です。パンニングを使用するときは、できるだけポップアップポインタをジャンプさせるようにしてください。olvwm や tvwm などの仮想ウィンドウマネージャを使用すると混乱する危険性が大きいため、これらは使用しないでください。
8514/A は、ウィンドウシステムを全体的に高速化する 8 ビットのインデックスカラーグラフィックスアクセラレータです。このデバイスを使用すると、VGA に比べて性能を大幅に改善できます。サーバーで 8514/A を使用する場合は、8 ビットのインデックスカラーで、解像度は 1024x768 または 1280x1024 に制限されます。サーバーでは 8 ビットのすべてのビジュアルがサポートされます。組み込みビジュアルは 8 ビットの PseudoColor です。ほとんどの 8514/A アクセラレータの bitsPerRGB は 6 です。