第9章 |
|
この章では、Expert3D および Expert3D-Lite グラフィックスアクセラレータの画面解像度を、モニターの種類に合わせて変更する方法について説明します。後半では、内部および外部コネクタとその用途を説明します。
注 - Expert3D-Lite ソフトウェアパッケージおよび設定ユーティリティーは Expert3Dのものと同じです。したがって、この章に記載されている Expert3D に関する情報は、Expert3D-Lite にも該当します。 |
Expert3D グラフィックスアクセラレータは、高い解像度とパフォーマンスを持ち、ハードウェアテクスチャーマッピングを可能にするグラフィックスアクセラレータです。Expert 3D システムでは、ダブルバッファーと Z バッファーの場合最大 1920 x 1200、立体表示の場合最大 1280 x 1024 の画面解像度をサポートします。
注 - ifb は、Expert3D および Expert3D-Lite グラフィックスアクセラレータのUNIX デバイス名です。 |
Expert3D および Expert3D-Lite グラフィックスアクセラレータには、fbconfig と SUNWifb_config の 2 つの設定ユーティリティーがあります。Expert3D に関する説明は、Expert3D-Lite にも該当します。
fbconfig ユーティリティーは一般的なコマンド行インタフェースのツールで、フレームバッファーの属性を表示および設定できます。fbconfig は、Expert3D のほか、Creator3D と Elite3D の設定にも使えます。
詳細は fbconfig のマニュアルページを参照してください。
SUNWifb_config ユーティリティーは、Expert3D 固有のユーティリティーです。他のフレームバッファーの設定には使えません。SUNWifb_config ユーティリティーによって、以下の指定が可能です。
詳細は、SUNWifb_config のマニュアルページを参照してください。
通常 Expet3D はインストール時に、接続されたモニターに対応する適切な解像度とリフレッシュレートを自動的に設定します。ただし、サン以外のモニターが接続されている場合、解像度が適切に設定されないことがあります。
表 9-1 に、モニター ID センスコードに対応するデフォルトの画面解像度を示します。
サン以外のモニターなど、Expert3D のシステムがモニターの種類を判断できない場合は、1152 x 900、66 Hz の解像度をデフォルトとします。
表 9-2 に、Expert3D がサポートする画面解像度を示します。画面解像度を下記の設定に変更するには、fbconfig または SUNWifb_config ユーティリティーを使ってください。
Expert3D がサポートする解像度と接続されているモニターを確認する |
SUNWifb_config コマンドを以下のように入力します。
/usr/lib/fbconfig/SUNWifb_config -res \? |
特定の解像度をモニターがサポートしているかどうかを確認するために、画面解像度を一時的に変更することができます。
画面解像度を一時的に変更する |
SUNWifb_config コマンドを以下のように入力します。
/usr/lib/fbconfig/SUNWifb_config -res ビデオモード try |
ビデオモードのオプションについては表 9-2 の「ビデオモード形式」と「シンボリック名」の欄を参照してください。ビデオモードを確認し、そのビデオモードを使用する場合は、5 秒以内に y と入力してください。
画面解像度を立体表示に変更する |
/usr/lib/fbconfig/SUNWifb_config -res stereo |
上記の例では、次回に Xsun を実行したときの画面解像度を、960 x 680、112 Hz の立体表示に変更します。
SUNWifb_config コマンドを使用して、X サーバーの画像表示形式リストの順序を変更することができます。表 9-3 に示すSUNWifb_config オプションを使用して、特定のデバイスに合わせて参照された画像の表示形式リストを設定してください。
デフォルトでは、非リニア画像は、画像表示形式リスト上でリニア画像より前に表示されます。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 と
|
Solaris では、OpenGL 拡張画像表示形式をサポートします。拡張画像表示形式では、8 ビット疑似カラー、24 ビットトゥルーカラー (リニアおよび非リニア) 、24 ビットダイレクトカラー、8 ビット疑似カラーオーバーレイの 5 種類の画像グループは、同じ画像タイプの単一画像インスタンスから、複数画像インスタンスに拡張されます。同じ画像グループの異なるインスタンスは (単一バッファーかダブルバッファー機能、または単一画像か立体画像機能、あるいは両方の組み合わせといった)、異なる GLX 機能を表します。画像インスタンスの数は、X サーバーが開始された画像モードが単一画像か立体画像かによって異なります。
/usr/lib/fbconfig/SUNWifb_config -expvis enable |
SERVER_OVERLAY_VISUALS は、画像 ID、透過タイプ、透過値、画面のサーバーオーバーレイ画像 (SOV : server overlay visusals) を含むルートウィンドウの属性の 1 つです。SUNWifb_config コマンドを使用して、この属性を有効としたり、透過サーバーオーバーレイ画像表示形式の参照先の指定を切り替えることができます。
/usr/lib/fbconfig/SUNWifb_config -sov enable |
ガンマ補正を設定するには、ガンマ補正値またはガンマ補正テーブルが保存されたファイルを指定します。
-g オプションを使用して、指定されたガンマ値に基づくガンマテーブルエントリを設定します。ガンマ値 2.22 はリニアガンマ補正を表し、Expert3D 製品での固定値に一致します。この値は画面ごとの値なので、リニア画像と補正の対象となるガンマ値はすべてこの値を使用します。
値を使用してガンマ補正を設定する |
/usr/lib/fbconfig/SUNWifb_config -g 2.22 |
-gfile オプションは、0 から 255 までの 3 桁から成る 256 個の整数を含んだファイルから、ガンマテーブルエントリを明示的に設定します。この形式は、改行で区切られた 3 つの整数となります。各行はテーブル中のエントリとして使用される RGB 値を含んでいます。この値は画面ごとの値なので、リニア画像と補正の対象となるガンマ値はすべてこの値を使用します。
ファイルを使用してガンマ補正を設定する |
/usr/lib/fbconfig/SUNWifb_config -gfile filename |
拡張オーバーレイモードを有効にすると、Expert3D システムを拡張オーバーレイ機能に切り替えます。拡張オーバーレイモードでは、256 色オーバーレイとハードウェアによって高速化されたサーバーオーバーレイ画像が使えるようになります。アンダーレイの Window ID の上限は、以前の 32 から 64 に上がり、新しく 3 つのオーバーレイ WID が使えます。
拡張オーバーレイモードを選択する |
/usr/lib/fbconfig/SUNWifb_config -extovl enable |
複数のフレームバッファーを使うには、/usr/dt/config にある Xservers ファイルを修正する必要があります。Expert3D デバイスは、ここで ifbx ことして定義されます (たとえば、Expert3D デバイスが 2 つある場合、ifb0 と ifb1 と定義されます)。
1. スーパーユーザーとして /usr/dt/config/Xservers ファイルを開きます。
# cd /usr/dt/config # vi Xservers |
2. 使用するフレームバッファーのデバイスロケーションをファイルに追加します。
以下の例では、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 カードをデフォルトのコンソールディスプレイとして設定する方法を示します。
1. OpenBoot のプロンプトで、以下のように入力します。
ok show_displays |
以下の例のように使用できるフレームバッファーが表示されます (Expert3D の場合)。
a) /PCI@@l1, 2000/SUNW,Expert3D@1 b) /PCI@@l5, 2000/SUNW,afb@1 q) NO SELECTION |
以下の例のように使用できるフレームバッファーが表示されます (Expert3D-Lite の場合)。
2. コンソールとして使いたいデバイスのオプションを選択します。
たとえば、上の例で Expert3D デバイスをコンソールとして指定する場合は、a を選択します。
3. 選択したデバイスをコンソールデバイスとして設定します。
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 |
図 9-1 の J1 および J2 に示される、Expert3D カードの内部のマルチビュー入力ポートおよびマルチビュー出力ポートは、Expert3D カードから他のカードへケーブル接続をする際に使います。これらのポートはシステムのシャーシ内からのみ接続できます。
マルチビューを使用する場合、Expert3D カードは 2 つまでしかフレームロックできません。2 つの Expert3D カードがマルチビューに使われている場合、片方がマスターとして割り当てられ、もう一方がスレーブとして割り当てられます。
フレームロックを使って 2 つの Expert3D カードをマルチビュー用に設定するには、以下のようにします。
1. システムのマスターとして割り当てる Expert3D カードを選択します。
システムの起動またはコンソールヘッドとして使っている Expert3D カードをマスターとして割り当てることも 1 つの方法です。
2. システムにインストールされているすべての Expert3D カードが、マスターモードの Expert3D カードと同じ画面解像度に設定されていることを確認します。
マスターモードのカードと異なる画面解像度に設定されている Expert3D カードがある場合は、解像度がマスターと同じになるよう変更します。
SUNWifb_config ユーティリティーを使って、Expert3D カードの解像度を調べられます。たとえば、以下のように入力します。
% SUNWifb_config -dev /dev/fbs/ifb0 -prconf |
この操作をすべての Expert3D カードに対して実行します。
SUNWifb_config ユーティリティーに Expert3D カードの現在の解像度や、カードがマスターかスレーブかなどの情報が表示されます。
Expert3D カードの解像度を変更する場合は、SUNWifb_config ユーティリティーを使って以下の例のように入力します。
% SUNWifb_config -dev /dev/fbs/ifb1 -res 1280x1024x76 now nocheck |
3. フレームロックマルチビューケーブルを各 Expert3D カードに接続します。
図 9-1を参照してください。
a. マルチビューフレームロックケーブルのアセンブリの上部を、Expert3D カードのマルチビュー出力コネクタ J2 に接続します。
b. マルチビューフレームロックケーブルの反対側をスレーブの Expert3D カードのマルチビュー入力コネクタ J1 に接続します。
4. マスターの Expert3D カードのディスプレイウィンドウで、他の Expert3D カードをスレーブモードに設定します。
SUNWifb_config ユーティリティーで以下のように入力します。
% SUNWifb_config -dev /dev/fbs/ifb1 -slave on |
複数のカードの設定を変更する場合、カード毎に別々に設定を行ってください。
以上の設定が終わると、システムでフレームロックとバッファースワップ同期用のソフトウェアアプリケーションを使えるようになります。
Copyright© 2002, Sun Microsystems, Inc. All rights reserved.