9


Expert3D および Expert3D-Lite グラフィックスアクセラレータ

この章では、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 グラフィックスアクセラレータには、fbconfigSUNWifb_config の 2 つの設定ユーティリティーがあります。Expert3D に関する説明は、Expert3D-Lite にも該当します。

fbconfig ユーティリティー

fbconfig ユーティリティーは一般的なコマンド行インタフェースのツールで、フレームバッファーの属性を表示および設定できます。fbconfig は、Expert3D のほか、Creator3D と Elite3D の設定にも使えます。

fbconfig ユーティリティーでは次のことができます。

詳細は fbconfig のマニュアルページを参照してください。

SUNWifb_config ユーティリティー

SUNWifb_config ユーティリティーは、Expert3D 固有のユーティリティーです。他のフレームバッファーの設定には使えません。SUNWifb_config ユーティリティーによって、以下の指定が可能です。

詳細は、SUNWifb_config のマニュアルページを参照してください。


デフォルトの画面解像度

通常 Expet3D はインストール時に、接続されたモニターに対応する適切な解像度とリフレッシュレートを自動的に設定します。ただし、サン以外のモニターが接続されている場合、解像度が適切に設定されないことがあります。

表 9-1 に、モニター ID センスコードに対応するデフォルトの画面解像度を示します。

表 9-1 Expert3D グラフィックアクセラレータのモニターセンスコード

コード

画面解像度

7

1152 x 900、66 Hz

6

1152 x 900、76 Hz

5

1024 x 768、60 Hz

4

1280 x 1024 at 67 Hz

3

1152 x 900 at 66 Hz

2

1280 x 1024 at 76 Hz

1

1152 x 900 at 66 Hz

0

1024 x 768 at 77Hz


サン以外のモニターなど、Expert3D のシステムがモニターの種類を判断できない場合は、1152 x 900、66 Hz の解像度をデフォルトとします。


サポートする画面解像度

表 9-2 に、Expert3D がサポートする画面解像度を示します。画面解像度を下記の設定に変更するには、fbconfig または SUNWifb_config ユーティリティーを使ってください。

表 9-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

 



画面解像度を変更する (-res)


procedure icon  Expert3D がサポートする解像度と接続されているモニターを確認する

single-step bulletSUNWifb_config コマンドを以下のように入力します。

/usr/lib/fbconfig/SUNWifb_config -res \?

特定の解像度をモニターがサポートしているかどうかを確認するために、画面解像度を一時的に変更することができます。



caution icon

注意 - ウィンドウシステムの実行中に、画面解像度を変更しないでください。画面表示に異常が発生する場合があります。




procedure icon  画面解像度を一時的に変更する

single-step bulletSUNWifb_config コマンドを以下のように入力します。

/usr/lib/fbconfig/SUNWifb_config -res ビデオモード try

ビデオモードのオプションについては表 9-2 の「ビデオモード形式」と「シンボリック名」の欄を参照してください。ビデオモードを確認し、そのビデオモードを使用する場合は、5 秒以内に y と入力してください。


procedure icon  画面解像度を立体表示に変更する

single-step bullet以下のように入力します。

/usr/lib/fbconfig/SUNWifb_config -res stereo

上記の例では、次回に Xsun を実行したときの画面解像度を、960 x 680、112 Hz の立体表示に変更します。


画像表示形式リストを変更する

SUNWifb_config コマンドを使用して、X サーバーの画像表示形式リストの順序を変更することができます。表 9-3 に示すSUNWifb_config オプションを使用して、特定のデバイスに合わせて参照された画像の表示形式リストを設定してください。

表 9-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


画像表示形式リストの順序を変更する (-linearorder-overlayorder)

デフォルトでは、非リニア画像は、画像表示形式リスト上でリニア画像より前に表示されます。SUNWifb_config コマンドを使用して、画像表示形式リストの順序を変更することができます。

3D アプリケーションの多くはリニア画像を使用しますが、特定の 3D アプリケーションでは、XSolarisGetVisualGamma (3) を使用するリニア画像を検索しないで、リストに最初に表示される 24 ビットトゥルーカラーを使用します。このようなアプリケーションを、正しい画像表示形式で動作させるには、リストの並べ換えが必要です。-linearorder オプションを使用して、リニア 24 ビットトゥルーカラーが最初に表示されるように指定してください。

画像表示形式リストの並べ換えは、ウィンドウシステムの再起動時に有効となります。

single-step bulletリストの順序を変更する場合は、-linearorder オプションの 1 つを指定して SUNWifb_config コマンドを入力します。

/usr/lib/fbconfig/SUNWifb_config -linearorder first

デフォルトでは、8 ビット疑似カラーアンダーレイ画像は、画面表示形式リスト上で 8 ビット疑似カラーオーバーレイ画像より前に表示されます。SUNWifb_config コマンドを使用して、画像表示形式リストの順序を変更することができます。

8 ビット疑似カラーオーバーレイ画像を使うアプリケーションによっては、画面表示形式リスト上で最初に検索された 8 ビット疑似カラー画像を使うものがあります。これらのアプリケーションが正しい画像で動作するようにするには、-overlayorder オプションを使い、8 ビット疑似カラーオーバーレイ画像が 1 番目の 8 ビット疑似カラー画像として検知されるようにします。

画像表示形式リストの並べ換えは、ウィンドウシステムの再起動時に有効となります。

single-step bulletリストの順序を変更する場合は、overlayorder オプションの 1 つを指定して SUNWifb_config コマンドを入力します。

/usr/lib/fbconfig/SUNWifb_config -overlayorder first

デフォルトの画像表示形式を変更する (-deflinear-defoverlay)

画面のデフォルトの画像表示形式は、8 ビット疑似カラーオーバーレイ画像です。デフォルトの画像表示形式は SUNWifb_config コマンドを使用して、リニアアンダーレイ画像またはオーバーレイ画像のいずれかに変更することができます。

single-step bulletデフォルトの画像表示形式をリニア画像にする場合は、SUNWifb_config コマンドを以下のように指定します。

/usr/lib/fbconfig/SUNWifb_config -deflinear true

single-step bulletデフォルトの画像表示形式をオーバーレイ画像にする場合は、SUNWifb_config コマンドを以下のように指定します。

/usr/lib/fbconfig/SUNWifb_config -defoverlay true



caution icon

注意 - リニアオーバーレイ画像は存在しないため、-deflinear true
-defoverlay true を同時に指定した場合は、結果は不定となります。





caution icon

注意 - 画像表示形式の順序オプション (overlayorderlinearorder) は、デフォルト画像表示形式オプション (defoverlaydeflinear)とは異なります。たとえば、オーバーレイ画像表示形式のグループをリストの始めに移動させても、その画像表示形式が自動的にデフォルトとなるわけではありません。特定のアプリケーションでは、変更した画像表示形式の順序がデフォルトになるものとみなし、デフォルトの画像表示形式で生成したカラーマップと、リストで最初にあった 8 ビット疑似カラー画像を一致させようとして、「BADMATCH」 X エラーを起こす場合があります。



OpenGL の画像表示形式に変更する (-expvis)

Solaris では、OpenGL 拡張画像表示形式をサポートします。拡張画像表示形式では、8 ビット疑似カラー、24 ビットトゥルーカラー (リニアおよび非リニア) 、24 ビットダイレクトカラー、8 ビット疑似カラーオーバーレイの 5 種類の画像グループは、同じ画像タイプの単一画像インスタンスから、複数画像インスタンスに拡張されます。同じ画像グループの異なるインスタンスは (単一バッファーかダブルバッファー機能、または単一画像か立体画像機能、あるいは両方の組み合わせといった)、異なる GLX 機能を表します。画像インスタンスの数は、X サーバーが開始された画像モードが単一画像か立体画像かによって異なります。


procedure icon  OpenGL の画像表示形式 (拡張画像表示形式)を有効にする

single-step bullet以下のように入力します。

/usr/lib/fbconfig/SUNWifb_config -expvis enable

SERVER_OVERLAY_VISUALS 属性に変更する (-sov)

SERVER_OVERLAY_VISUALS は、画像 ID、透過タイプ、透過値、画面のサーバーオーバーレイ画像 (SOV : server overlay visusals) を含むルートウィンドウの属性の 1 つです。SUNWifb_config コマンドを使用して、この属性を有効としたり、透過サーバーオーバーレイ画像表示形式の参照先の指定を切り替えることができます。


procedure icon  SERVER_OVERLAY_PROPERTY のアドバタイズと SOV のエクスポートを設定する

single-step bullet以下のように入力します。

/usr/lib/fbconfig/SUNWifb_config -sov enable


ガンマ補正を設定する (-g-gfile)

ガンマ補正を設定するには、ガンマ補正値またはガンマ補正テーブルが保存されたファイルを指定します。

-g オプションを使用して、指定されたガンマ値に基づくガンマテーブルエントリを設定します。ガンマ値 2.22 はリニアガンマ補正を表し、Expert3D 製品での固定値に一致します。この値は画面ごとの値なので、リニア画像と補正の対象となるガンマ値はすべてこの値を使用します。


procedure icon  値を使用してガンマ補正を設定する

single-step bullet以下のように入力します。

/usr/lib/fbconfig/SUNWifb_config -g 2.22

-gfile オプションは、0 から 255 までの 3 桁から成る 256 個の整数を含んだファイルから、ガンマテーブルエントリを明示的に設定します。この形式は、改行で区切られた 3 つの整数となります。各行はテーブル中のエントリとして使用される RGB 値を含んでいます。この値は画面ごとの値なので、リニア画像と補正の対象となるガンマ値はすべてこの値を使用します。


procedure icon  ファイルを使用してガンマ補正を設定する

single-step bullet以下のように入力します。

/usr/lib/fbconfig/SUNWifb_config -gfile filename


拡張オーバーレイを選択する (-extovl)

拡張オーバーレイモードを有効にすると、Expert3D システムを拡張オーバーレイ機能に切り替えます。拡張オーバーレイモードでは、256 色オーバーレイとハードウェアによって高速化されたサーバーオーバーレイ画像が使えるようになります。アンダーレイの Window ID の上限は、以前の 32 から 64 に上がり、新しく 3 つのオーバーレイ WID が使えます。


procedure icon  拡張オーバーレイモードを選択する

single-step bullet以下のように入力します。

/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 カードをデフォルトのコンソールとして定義する

複数モニターのシステムでは、いずれかのモニターをデフォルトのコンソールとして指定できます。以下では、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 の場合)。

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

2. コンソールとして使いたいデバイスのオプションを選択します。

たとえば、上の例で Expert3D デバイスをコンソールとして指定する場合は、a を選択します。

3. 選択したデバイスをコンソールデバイスとして設定します。

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


マルチビューポート

図 9-1 の J1 および J2 に示される、Expert3D カードの内部のマルチビュー入力ポートおよびマルチビュー出力ポートは、Expert3D カードから他のカードへケーブル接続をする際に使います。これらのポートはシステムのシャーシ内からのみ接続できます。

図 9-1 Expert3Dのマルチビュー入力コネクタとマルチビュー出力コネクタ

複数の Expert3D カードの設定

マルチビューを使用する場合、Expert3D カードは 2 つまでしかフレームロックできません。2 つの Expert3D カードがマルチビューに使われている場合、片方がマスターとして割り当てられ、もう一方がスレーブとして割り当てられます。

  • システムを起動するとき、すべての Expert3D カードは Solaris によってマスターモードに設定されます。Expert3D カードをマルチビューで使用するためには、SUNWifb_config ユーティリティーを使ってカードの 1 つをスレーブモードにします。
  • システム上で設定できるマスター Expert3D カードの数は 1 つのみです。
  • すべての Expert3D モニターが、Expert3D でサポートする解像度に設定されているかを確認します。
  • デバイスのロケーションおよび、ロケーションに基づいてつけられるデバイスの番号の情報については、boot マニュアルページを参照してください。Expert3D のマスターデバイスとして、どのデバイス (ifb0 またはifb1) を使ってもかまいません。

フレームロックを使って 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

複数のカードの設定を変更する場合、カード毎に別々に設定を行ってください。

以上の設定が終わると、システムでフレームロックとバッファースワップ同期用のソフトウェアアプリケーションを使えるようになります。

Expert3D カードをスレーブモードからマスターモードに戻すには、以下のいずれかの操作を実行します。

  • システムの電源を再投入します。
  • SUNWifb_config を使い、たとえば以下のように入力します。
  • % SUNWifb_config -dev /dev/fbs/ifb1 -slave off
    

複数のカードの設定を変更する場合、カード毎に別々に設定を行ってください。