この章では、Expert3D グラフィックスアクセラレータの画面解像度を、モニターの種類に合わせて変更する方法について説明します。後半では、Expert3D の内部および外部コネクタとその用途を説明します。
Expert3D-Lite ソフトウェアパッケージおよび設定ユーティリティーは Expert3Dのものと同じです。
Expert3D グラフィックスアクセラレータは、高い解像度とパフォーマンスを持ち、ハードウェアテクスチャーマッピングを可能にするグラフィックスアクセラレータです。Expert 3D システムでは、ダブルバッファーと Z バッファーの場合最大 1920 x 1200、立体表示の場合最大 1280 x 1024 の画面解像度をサポートします。
ifb は、Expert3D グラフィックスアクセラレータのUNIX デバイス名です。
Expert3D グラフィックスアクセラレータには、fbconfig と SUNWifb_config の 2 つの設定ユーティリティーがあります。
fbconfig ユーティリティーは一般的なコマンド行インタフェースのツールで、フレームバッファーの属性を表示および設定できます。fbconfig は、Expert3D のほか、Creator3D と Elite3D の設定にも使えます。
fbconfig ユーティリティーでは次のことができます。
インストール済みのフレームバッファーの一覧とデバイス毎に使用できる設定ユーティリティーの一覧の表示
SUNWifb_config ユーティリティーで使用できるすべての機能
詳細は fbconfig のマニュアルページを参照してください。
SUNWifb_config ユーティリティーは、Expert3D 固有のユーティリティーです。他のフレームバッファーの設定には使えません。SUNWifb_config ユーティリティーによって、以下の指定が可能です。
画面解像度の変更
画像表示形式の種類 (リニアまた非リニア)
8 ビット擬似カラー画像 (オーバーレイ画像) を使用するかどうか
表示画像リスト中で、リニア画像を非リニア画像より前に表示させるかどうか
デフォルトの表示画像の設定方法
OpenGL 画像のサポート方法
サーバーオーバーレイ画像 (SOV) が有効かどうか
スレーブモードを有効にして、フレームバッファーからの映像が接続されたディスプレイの映像と同期するようにする
立体表示モードを有効にする
フレームバッファーのメモリーの、ウィンドウの高速化蓄積バッファーへの配置
ガンマの値、またはガンマ補正テーブルを含むファイルの指定による構成可能ガンマ補正
詳細は、SUNWifb_config のマニュアルページを参照してください。
通常 Expet3D はインストール時に、接続されたモニターに対応する適切な解像度とリフレッシュレートを自動的に設定します。ただし、サン以外のモニターが接続されている場合、解像度が適切に設定されないことがあります。
表 8-1 に、モニター ID センスコードに対応するデフォルトの画面解像度を示します。
表 8-1 Expert3D グラフィックアクセラレータのモニターセンスコード
コード |
画面解像度 |
---|---|
7 |
1152 x 900、66 Hz |
6 |
1152 x 900、76 Hz |
5 |
1024 x 768、60 Hz |
サン以外のモニターなど、Expert3D のシステムがモニターの種類を判断できない場合は、1152 x 900、66 Hz の解像度をデフォルトとします。
表 8-2 に、Expert3D がサポートする画面解像度を示します。画面解像度を下記の設定に変更するには、fbconfig またはSUNWifb_config ユーティリティーを使ってください。
表 8-2 Expert3D がサポートする画面解像度
画面解像度 |
垂直リフレッシュレート |
説明 |
ビデオモード形式 |
シンボリック名 |
---|---|---|---|---|
1920 x 1200 |
75 Hz |
ノンインタレース |
1920x1200x75 |
|
1920 x 1200 |
70 Hz |
ノンインタレース |
1920x1200x70 |
|
1920 x 1080 |
76 Hz |
ノンインタレース |
1920x1080x76 |
|
1920 x 1080 |
72 Hz |
ノンインタレース |
1920x1080x72 |
|
1792 x 1344 |
75 Hz |
ノンインタレース |
1792x1344x75 |
|
1600 x 1280 |
76 Hz |
ノンインタレース |
1600x1280x76 |
|
1600 x 1000 |
76 Hz |
ノンインタレース |
1600x1000x76 |
|
1600 x 1000 |
66 Hz |
ノンインタレース |
1600x1000x66 |
|
1440 x 900 |
76 Hz |
ノンインタレース |
1440x900x76 |
|
1280 x 1024 |
112 Hz |
立体表示、ノンインタレース、56 Hz フィールドレート |
1280x1024x112s |
|
1280 x 1024 |
85 Hz |
ノンインタレース |
1280x1024x85 |
|
1280 x 800 |
76 Hz |
ノンインタレース |
1280x800x76 |
1280 |
1280 x 1024 |
67 Hz |
ノンインタレース |
1280x1024x67 |
|
1280 x 1024 |
60 Hz |
ノンインタレース |
1280x1024x60 |
|
1280 x 800 |
76 Hz |
ノンインタレース - Creator |
1280x800x76 |
|
1152 x 900 |
76 Hz |
ノンインタレース |
1152x900x76 |
1152 |
1152 x 900 |
66 Hz |
ノンインタレース |
1152x900x66 |
|
1024 x 768 |
77 Hz |
ノンインタレース |
1024x768x77 |
|
1024 x 768 |
75 Hz |
ノンインタレース |
1024x768x75 |
|
1024 x 768 |
70 Hz |
ノンインタレース |
1152x900x70 |
|
1024 x 768 |
60 Hz |
SVGA |
1024x768x60 |
svga |
960 x 680 |
112 Hz |
立体表示、ノンインタレース、56 Hz フィールドレート |
960x680x112 |
stereo |
960 x 680 |
108 Hz |
立体表示、ノンインタレース、54 Hz フィールドレート |
960x680x108 |
|
768 x 575 |
50 Hz |
インタレース - PAL |
768X575x50i |
pal |
640 x 480 |
60 Hz |
インタレース - NTSC |
640x480x60i |
ntsc |
640 x 480 |
60 Hz |
ノンインタレース |
640x480x60 |
|
特定の解像度をモニターがサポートしているかどうかを確認するために、画面解像度を一時的に変更することができます。
ウィンドウシステムの実行中に、画面解像度を変更しないでください。画面表示に異常が発生する場合があります。
SUNWifb_config コマンドを以下のように入力します。
/usr/lib/fbconfig/SUNWifb_config -res video-mode try |
ビデオモードのオプションについては表 8-2 の「ビデオモード形式」と「シンボリック名」の欄を参照してください。ビデオモードを確認し、そのビデオモードを使用する場合は、5 秒以内に y と入力してください。
上記の例では、次回に Xsun を実行したときの画面解像度を、960 x 680、112 Hz の立体表示に変更します。
SUNWifb_config コマンドを使用して、X サーバーの画像表示形式リストの順序を変更することができます。表 8-3 に示すSUNWifb_config オプションを使用して、特定のデバイスに合わせて参照された画像の表示形式リストを設定してください。
表 8-3 SUNWifb_config の画像フラグのデフォルトの設定
名称 |
値 |
デフォルト |
---|---|---|
linearorder |
first/last |
last |
deflinear |
true/false |
false |
overlayorder |
first/last |
last |
defoverlay |
true/false |
false |
expvis |
enable/disable |
enable |
sov |
enable/disable |
enable |
デフォルトでは、非リニア画像は、画像表示形式リスト上でリニア画像より前に表示されます。SUNWifb_config コマンドを使用して、画像表示形式リストの順序を変更することができます。
3D アプリケーションの多くはリニア画像を使用しますが、特定の 3D アプリケーションでは、XSolarisGetVisualGamma (3) を使用するリニア画像を検索しないで、リストに最初に表示される 24 ビットトゥルーカラーを使用します。このようなアプリケーションを、正しい画像表示形式で動作させるには、リストの並べ換えが必要です。-linearorder オプションを使用して、リニア 24 ビットトゥルーカラーが最初に表示されるように指定してください。
画像表示形式リストの並べ換えは、ウィンドウシステムの再起動時に有効となります。
リストの順序を変更する場合は、-linearorder オプションの 1 つを指定して SUNWifb_config コマンドを入力します。
/usr/lib/fbconfig/SUNWifb_config -linearorder first |
デフォルトでは、 8 ビット疑似カラーアンダーレイ画像は、画面表示形式リスト上で 8 ビット疑似カラーオーバーレイ画像より前に表示されます。SUNWifb_config コマンドを使用して、画像表示形式リストの順序を変更することができます。
8 ビット疑似カラーオーバーレイ画像を使うアプリケーションによっては、画面表示形式リスト上で最初に検索された 8 ビット疑似カラー画像を使うものがあります。これらのアプリケーションが正しい画像で動作するようにするには、-overlayorder オプションを使い、8 ビット疑似カラーオーバーレイ画像が 1 番目の 8 ビット疑似カラー画像として検知されるようにします。
画像表示形式リストの並べ換えは、ウィンドウシステムの再起動時に有効となります。
リストの順序を変更する場合は、 overlayorder オプションの 1 つを指定して SUNWifb_config コマンドを入力します。
/usr/lib/fbconfig/SUNWifb_config -overlayorder first |
画面のデフォルトの画像表示形式は、8 ビット疑似カラーオーバーレイ画像です。デフォルトの画像表示形式は SUNWifb_config コマンドを使用して、リニアアンダーレイ画像またはオーバーレイ画像のいずれかに変更することができます。
デフォルトの画像表示形式をリニア画像にする場合は、SUNWifb_config コマンドを以下のように指定します。
/usr/lib/fbconfig/SUNWifb_config -deflinear true |
デフォルトの画像表示形式をオーバーレイ画像にする場合は、SUNWifb_config コマンドを以下のように指定します。
/usr/lib/fbconfig/SUNWifb_config -defoverlay true |
リニアオーバーレイ画像は存在しないため、-deflinear true と -defoverlay true を同時に指定した場合は、結果は不定となります。
画像表示形式の順序オプション (overlayorder と linearorder) は、デフォルト画像表示形式オプション (defoverlay と deflinear)とは異なります。たとえば、オーバーレイ画像表示形式のグループをリストの始めに移動させても、その画像表示形式が自動的にデフォルトとなるわけではありません。特定のアプリケーションでは、変更した画像表示形式の順序がデフォルトになるものとみなし、デフォルトの画像表示形式で生成したカラーマップと、リストで最初にあった 8 ビット疑似カラー画像を一致させようとして、「BADMATCH」 X エラーを起こす場合があります。
Solaris では、OpenGL 拡張画像表示形式をサポートします。拡張画像表示形式では、8 ビット疑似カラー、24 ビットトゥルーカラー (リニアおよび非リニア) 、24 ビットダイレクトカラー、8 ビット疑似カラーオーバーレイの 5 種類の画像グループは、同じ画像タイプの単一画像インスタンスから、複数画像インスタンスに拡張されます。同じ画像グループの異なるインスタンスは (単一バッファーかダブルバッファー機能、または単一画像か立体画像機能、あるいは両方の組み合わせといった)、異なる GLX 機能を表します。画像インスタンスの数は、X サーバーが開始された画像モードが単一画像か立体画像かによって異なります。
SERVER_OVERLAY_VISUALS は、画像 ID、透過タイプ、透過値、画面のサーバーオーバーレイ画像 (SOV : server overlay visusals) を含むルートウィンドウの属性の 1 つです。 SUNWifb_config コマンドを使用して、この属性を有効としたり、透過サーバーオーバーレイ画像表示形式の参照先の指定を切り替えることができます。
ガンマ補正を設定するには、ガンマ補正値またはガンマ補正テーブルが保存されたファイルを指定します。
-g オプションを使用して、指定されたガンマ値に基づくガンマテーブルエントリを設定します。ガンマ値 2.22 はリニアガンマ補正を表し、Expert3D 製品での固定値に一致します。この値は画面ごとの値なので、リニア画像と補正の対象となるガンマ値はすべてこの値を使用します。
-gfile オプションは、0 から 255 までの 3 桁から成る 256 個の整数を含んだファイルから、ガンマテーブルエントリを明示的に設定します。この形式は、改行で区切られた 3 つの整数となります。各行はテーブル中のエントリとして使用される RGB 値を含んでいます。この値は画面ごとの値なので、リニア画像と補正の対象となるガンマ値はすべてこの値を使用します。
拡張オーバーレイモードを有効にすると、Expert3D システムを拡張オーバーレイ機能に切り替えます。拡張オーバーレイモードでは、256 色オーバーレイとハードウェアによって高速化されたサーバーオーバーレイ画像が使えるようになります。アンダーレイの Window ID の上限は、以前の 32 から 64 に上がり、新しく 3 つのオーバーレイ WID が使えます。
複数のフレームバッファーを使うには、 /usr/dt/config にある Xservers ファイルを修正する必要があります。Expert3D デバイスは、ここで ifbx ことして定義されます (たとえば、Expert3D デバイスが 2 つある場合、ifb0 と ifb1 と定義されます)。
スーパーユーザーとして /usr/dt/config/Xservers ファイルを開きます。
# cd /usr/dt/config # vi Xservers |
使用するフレームバッファーのデバイスロケーションをファイルに追加します。
以下の例では、Creator カード 1 個と Expert3D カード 2 個を使用する場合の Xservers の設定を示します。
:0 Local local_uid@console root /usr/openwin/bin/Xsun :0 -dev /dev/fbs/ffb0 -dev /dev/fbs/ifb1 -dev /dev/fbs/ifb0 -nobanner |
1 台のシステムで複数の Expert3D カードを設定する方法については、「マルチビューポート」を参照してください。
複数モニターのシステムでは、いずれかのモニターをデフォルトのコンソールとして指定できます。以下では、Expert3D カードをデフォルトのコンソールディスプレイとして設定する方法を示します。
OpenBoot のプロンプトで、以下のように入力します。
ok show_displays |
以下の例のように使用できるフレームバッファーが表示されます (Expert3D の場合)。
a) /PCI@@l1, 2000/SUNW,Expert3D@1 b) /PCI@@l5, 2000/SUNW,afb@1 q) NO SELECTION |
以下の例のように使用できるフレームバッファーが表示されます (Expert3D-Lite の場合)。:
a) /pci@1f,0/SUNW,m64@13 b) /pci@1f,0/pci@5/SUNW,Expert3D@1 q) NO SELECTION Enter Selection, q to quit: b /pci@1f,0/pci@5/SUNW,Expert3D@1 has been selected. Type ^Y ( Control-Y ) to insert it in the command line. e.g. ok nvalias mydev ^Y for creating devalias mydev for /pci@1f,0/pci@5/SUNW,Expert3D@1 ok nvalias myscreen /pci@1f,0/pci@5/SUNW,Expert3D@1 ok setenv output-device myscreen output-device = myscreen |
コンソールとして使いたいデバイスのオプションを選択します。
たとえば、上の例で Expert3D デバイスをコンソールとして指定する場合は、a を選択します。
選択したデバイスをコンソールデバイスとして設定します。
OpenBoot プロンプトで、以下のように入力します。
ok setenv output-device <Control-Y> <ENTER> ok reset |
Expert3D システム用のコマンドをエイリアスとして登録しておくと、今後の OpenBoot コマンドを簡略化できます。show-displays コマンドで Expert3D デバイスをメニューから選択した後に、以下のように入力します。
ok nvalias screen1 <Control-Y> ok nvstore |
次に以下のように入力し、エイリアスが正しく設定されたことを確認します。
ok devaliases |
以上の操作が終わると、Expert3D デバイスを screen1 として参照できるようになります。
ok setenv output-device screen1 |
Expert3D ボードには、内部入出力コネクタと外部入出力コネクタの両方があります。内部コネクタはマルチビューイングに、外部コネクタは外部の画像との同期化とステレオに使います。 図 8-1 は、外部入出力コネクタを示します。
Expert3D-Lite グラフィックスカードには外部ビデオ同期ポートがありません。Expert3D-Lite のキットには DB15 から13W3 への変換用モニタアダプターケーブルが同梱されています。 図 8-2 は、外部入出力コネクタを示します。
ステレオコネクタを使用して、 Expert3D グラフィックスアクセラレータに立体視ゴーグルを接続できます。ステレオコネクタは、図 8-3 に示すように7 ピンの DIN コネクタです。
表 8-4 にステレオケーブルの信号を示します。
表 8-4 Expert3D ステレオコネクタの信号
ピン |
説明 |
---|---|
1 |
接地 |
2 |
5.0V (ヒューズ付き、300mA まで供給、1.0A 上限) |
3 |
+12V (ヒューズ付き、300mA まで供給、1.0A 上限) |
4 |
STEREO 信号 |
5 |
接続なし |
6 |
接続なし |
7 |
接続なし |
ステレオ信号は、図 8-4に示すように、左右の立体シャッタの切り替え周期が 50 パーセントデューティーの、TTL レベルの信号です。
Expet3D グラフィックアクセラレータのステレオケーブルと立体視ゴーグルについての詳細は、導入先にお問い合わせください。
ビデオ同期ポートは、ディスプレイシステムが垂直リフレッシュレートをロックしようとする際の定期信号を Expert3D ボードに入力するインタフェースです。このポートは 75 オーム BNC のオスのコネクタを使っています。このポートに接続するには、メスの BNC コネクタが付いた 75 オームの同軸ケーブルが必要です。
ビデオ同期ポートは次のフォーマットをサポートします。
NTSC 複合ビデオ
PAL 複合ビデオ
100 nS (TBV) 以上のパルスをもつ TTL、LVTTL、または CMOS レベルの互換信号 (50 Hz から 180 Hz)
図 8-5 の J1 および J2 に示される、Expert3D カードの内部のマルチビュー入力ポートおよびマルチビュー出力ポートは、Expert3D カードから他のカードへケーブル接続をする際に使います。これらのポートはシステムのシャーシ内からのみ接続できます。
マルチビューを使用する場合、Expert3D カードは 2 つまでしかフレームロックできません。2 つの Expert3D カードがマルチビューに使われている場合、片方がマスターとして割り当てられ、もう一方がスレーブとして割り当てられます。
システムを起動するとき、すべての Expert3D カードは Solaris によってマスターモードに設定されます。Expert3D カードをマルチビューで使用するためには、SUNWifb_config ユーティリティーを使ってカードの 1 つをスレーブモードにします。
システム上で設定できるマスター Expert3D カードの数は 1 つのみです。
すべての Expert3D モニターが、Expert3D でサポートする解像度に設定されているかを確認します。
デバイスのロケーションおよび、ロケーションに基づいてつけられるデバイスの番号の情報については、boot このマニュアルページを参照してください。Expert3D のマスターデバイスとして、どのデバイス (ifb0 またはifb1) を使ってもかまいません。
フレームロックを使って 2 つの Expert3D カードをマルチビュー用に設定するには、以下のようにします。
システムのマスターとして割り当てる Expert3D カードを選択します。
システムの起動またはコンソールヘッドとして使っている Expert3D カードをマスターとして割り当てることも 1 つの方法です。
システムにインストールされているすべての Expert3D カードが、マスターモードの Expert3D カードと同じ画面解像度に設定されていることを確認します。
マスターモードのカードと異なる画面解像度に設定されている Expert3D カードがある場合は、解像度がマスターと同じになるよう変更します。
SUNWifb_config ユーティリティーを使って、Expert3D カードの解像度を調べられます。たとえば、以下のように入力します。
% /usr/lib/fbconfig/SUNWifb_config -dev /dev/fbs/ifb0 -prconf |
この操作をすべての Expert3D カードに対して実行します。
SUNWifb_config ユーティリティーに Expert3D カードの現在の解像度や、カードがマスターかスレーブかなどの情報が表示されます。
Expert3D カードの解像度を変更する場合は、 SUNWifb_configユーティリティーを使って以下の例のように入力します。
% /usr/lib/fbconfig/SUNWifb_config -dev /dev/fbs/ifb1 -res ¥ 1280x1024x76 now nocheck |
フレームロックマルチビューケーブルを各 Expert3D カードに接続します。
図 8-5を参照してください。
マスターの Expert3D カードのディスプレイウィンドウで、他の Expert3D カードをスレーブモードに設定します。
SUNWifb_config ユーティリティーで以下のように入力します。
% /usr/lib/fbconfig/SUNWifb_config -dev /dev/fbs/ifb1 -slave on |
複数のカードの設定を変更する場合、カード毎に別々に設定を行ってください。
以上の設定が終わると、システムでフレームロックとバッファースワップ同期用のソフトウェアアプリケーションを使えるようになります。
Expert3D カードをスレーブモードからマスターモードに戻すには、以下のいずれかの操作を実行します。
システムの電源を再投入します。
SUNWifb_config を使い、たとえば以下のように入力します。
% /usr/lib/fbconfig/SUNWifb_config -dev /dev/fbs/ifb1 -slave off |
複数のカードの設定を変更する場合、カード毎に別々に設定を行ってください。