Sun フレームバッファー使用の手引き

第 7 章 Elite3D グラフィックスアクセラレータ

この章では、Elite3D グラフィックスアクセラレータの画面解像度を、モニターの種類に合わせて変更する方法について説明します。

afbconfig ユーティリティーを使用して、Elite3D X11 の画面および対応するグラフィックスハードウェアを変更することができます。オプションはコマンド行で指定します。指定したオプションは、OWconfig ファイルに保存されます。これらのオプションは、次に Elite3D デバイスで Xsun を実行する際に、そのデバイスを初期化するために使用されます。OWconfig ファイルのオプションを変更した場合に、これらのオプションは Xsun セッションやシステムの再起動の後も持続します。


注 -

afb は、グラフィックスアクセラレータ Elite3D ファミリの UNIX デバイス名です。


afbconfig ユーティリティーによって、以下の指定が可能です。

デフォルトの画面解像度

Elite3D システムは、デフォルトの画面解像度を調べるために VESA 標準 EDID (Extended Display Identification Data) をモニタから読み取ります。そのモニタの EDID が分からない場合は、モニタ ID センスコードを使ってデフォルトの画面解像度を調べます。

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

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

コード 

画面解像度 

1152 x 900、66 Hz 

1152 x 900、76 Hz 

1024 x 768、60 Hz 

1280 x 1024、67 Hz 

1152 x 900、66 Hz 

1280 x 1024、76 Hz 

1152 x 900、66 Hz 

1024 x 768、77Hz 

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

サポートする画面解像度

表 7-2 に、Elite3D グラフィックスアクセラレータがサポートする画面解像度を示します。

表 7-2 Elite3D がサポートする画面解像度

画面解像度 

垂直リフレッシュレート 

説明 

ビデオモード形式 

シンボリック名 

1280 x 1024 

76 Hz 

ノンインタレース 

1280 x 1024 x 76 

1280

1280 x 1024 

67 Hz 

ノンインタレース 

1280 x 1024 x 67 

 

1280 x 1024 

60 Hz 

ノンインタレース 

1280 x 1024 x 60 

 

1280 x 1024 

85 Hz 

ノンインタレース 

1280 x 1024 x 85 

 

1280 x 800 

76 Hz 

ノンインタレース 

1280 x 800 x 76 

 

1152 x 900 

76 Hz 

ノンインタレース 

1152 x 900 x 76 

1152

1152 x 900 

66 Hz 

ノンインタレース 

1152 x 900 x 66 

 

1024 x 800 

84 Hz 

ノンインタレース 

1024 x 800 x 84 

 

1024 x 768 

77 Hz 

ノンインタレース 

1024 x 768 x 77 

 

1024 x 768 

75 Hz 

ノンインタレース 

1024 x 768 x 75 

 

1024 x 768 

70 Hz 

ノンインタレース 

1024 x 768 x 70 

 

1024 x 768 

60 Hz 

SVGA 

1024 x 768 x 60 

svga

960 x 680 

112 Hz 

立体表示、ノンインタレース、56 Hz フィールドレート 

960 x 680 x 112s 

stereo

960 x 680 

108 Hz 

立体表示、ノンインタレース、54 Hz フィールドレート 

960 x 680 x 108s 

 

768 x 575 

50 Hz 

インタレース - PAL 

768 x 575 x 50i 

pal

640 x 480 

60 Hz 

インタレース - NTSC 

640 x 480 x 60i 

ntsc

640 x 480 

60 Hz 

ノンインタレース 

640 x 480 x 60 

 

モニターの種類によっては、Elite3D システムがサポートする解像度をサポートしないものがあります。Elite3D がサポートする解像度と接続されているモニターは、afbconfig コマンドで確認することができます。

サポートされる解像度でモニターが確実に同期するためには、ffbconfig を実行する前に以下の Solaris のパッチをインストールする必要があります。表 7-3 には、各バージョンの Solaris に必要なパッチが示されています。

表 7-3 Elite3D モニター同期のための Solaris のパッチ

Solaris のバージョン 

パッチ 

Solaris 2.5.1 

105791-30 

Solaris 2.6 

105363-29 

Solaris 2.7 

- ffb パッチ 

- xfb パッチ 

106144-18 

106148-11 

Solaris 8 

N/A 


注 -

ffb パッチと xfb パッチが必要な場合、両方のパッチをペアでインストールする必要があります。


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

Elite3D がサポートする解像度と接続されているモニターを確認する
  1. afbconfig コマンドを以下のように入力します。


    # afbconfig -res ¥?
    

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


    注意 - 注意 -

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


画面解像度を一時的に変更する
  1. afbconfig コマンドを以下のように入力します。


    # afbconfig -res ビデオモード try
    

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

画面解像度を立体表示に変更する
  1. 以下のように入力します。


    # afbconfig -res stereo
    

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

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

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

表 7-4 afbconfig の画像フラグのデフォルトの設定

名称  

値 

Solaris 2.5.1 または2.5.1 SHWP の 

デフォルト 

Solaris 2.6 の 

デフォルト 

linearorder

first/last

last

last 

deflinear

true/false

false

false 

overlayorder

first/last

last

last 

defoverlay

true/false

false

false 

expvis

enable/disable

disable

enable 

sov

enable/disable

disable

enable 

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

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

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

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

  1. リストの順序を変更する方法は、-linearorder オプションの 1 つを指定して afbconfig コマンドを入力します。

    以下に例を示します。


    # afbconfig -linearorder first
    

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

    8 ビット疑似カラーオーバーレイ画像を使用する特定のアプリケーションは、リストに最初に表示される 8 ビット疑似カラーオーバーレイ画像を使用します。このようなアプリケーションを正しい画像表示形式で動作させるには、8 ビット疑似カラーオーバーレイ画像が、画像表示形式リストの最初に表示されるように、-overlayorder オプションを使用して画像表示形式リストの順序を変更します。

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

  1. リストの順序を変更する方法は、-overlayorder オプションの 1 つを指定して afbconfig コマンドを入力します。

    以下に例を示します。


    # afbconfig -overlayorder first
    

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

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

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


    # afbconfig -deflinear true
    

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


    # afbconfig -defoverlay true
    


    注意 - 注意 -

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



    注意 - 注意 -

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


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

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

OpenGL の画像表示形式 (拡張画像表示形式)を有効にする
  1. 以下のように入力します。


    # afbconfig -expvis enable
    

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

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

SERVER_OVERLAY_PROPERTY のアドバタイズと SOV のエクスポートを設定する
  1. 以下のように入力します。


    # afbconfig -sov enable
    

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

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

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

値を使用してガンマ補正を設定する
  1. 以下のように入力します。


    # afbconfig -g 2.22
    

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

ファイルを使用してガンマ補正を設定する
  1. 以下のように入力します。


    # afbconfig -gfile ファイル名
    

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

拡張オーバーレイモードでは、オーバーレイ画像に不透明の 256 色が与えられます。サーバーオーバーレイ画像 (SOV: server overlay visuals) には不透明の 255 色と透明の 1 色が与えられます。拡張オーバーレイモードではハードウェアによってアクセラレートされる透過性が提供され、SOV 画像を使用したウィンドウ表示の性能が向上します。拡張オーバーレイモードでは、非オーバーレイ画像を使用するウィンドウに対し 64 のウィンドウ ID (WID : Window ID) があり、オーバーレイ画像を使用するウィンドウには 3 つの WID があります。

拡張オーバーレイモードを解除した場合、オーバーレイ画像の色数は 256 から maxwids オプションで指定された値 (デフォルトは 32) を引いた数となります。SOV が可能な画像は、同じく256 色から maxwids オプションの値を引いた数と、透過性のソフトウェアエミュレーションの数を足したものとなります。

拡張オーバーレイモードを選択する
  1. 以下のように入力します。


    # afbconfig -extovl enable
    

    表 7-5afbconfig -extovl オプションのデフォルトの設定を示します。

    表 7-5 afbconfig -extovl オプションのデフォルトの設定

    値 

    Solaris 2.5.1 のデフォルト 

    Solaris 2.6 のデフォルト 

    enable/disable

    disable

    enable

オーバーレイ中での WID 数と色数を選択する (-maxwids)

maxwids オプションは、拡張オーバーレイモードが無効のときにだけ使用することができます。maxwids オプションは、WID として使用するために予約しておく Elite3D X チャネルのピクセル値の最大数を指定します。残りのピクセル値はオーバーレイウィンドウで使用できる色数です。maxwids オブションに指定できる値は 1、2、4、8、16、32、64 のうちのどれかです。

WID の番号を選択する
  1. 次のように入力します。


    # abconfig -maxwids WID の番号
    

    表 7-6afbconfig -maxwids オプションのデフォルトの設定を示します。

    表 7-6 afbconfig -maxwids オプションのデフォルトの設定

    値 

    Solaris 2.5.1 のデフォルト 

    Solaris 2.6 のデフォルト 

    1、2、4、8、16、32、64 

    32 

    使用不可 

afbconfig 画像フラグの画像表示形式リストへの影響

デフォルトの画像表示形式とその順序への影響

X サーバーの画像表示形式リストの順序は、必要に応じて afbconfig 画像フラグの 1 つ (linearorder、overlayorderexpvis、sov など) を使用して変更することができます。この節では、このような画像オプションの画像表示形式リストへの影響の概要を説明します。

afbconfig による変更をまったく行わない場合は、X サーバーの画像表示形式リストは、次の画像グループと順序に分類することができます。

デフォルトの画像表示形式は 8 ビット疑似カラー画像です。X サーバーの開始時の深さと、最初の 8 ビットオーバーレイ画像のそれぞれに合わせて、deflinear および defoverlay オプションを使用して、ポインタを最初の 8 または 24 ビットリニア画像を指すように変更することができます。linearorder および overlayorder フラグを使用して、同じ深さにある他の画像グループ の前に 8 ビット疑似カラーオーバーレイのグループ、 8 ビットリニアスタティックグレーのグループ、24 ビットリニアトゥルーカラーのグループ全体を置くことが可能です。たとえば、以下のように指定します。


# afbconfig -overlayorder first

この場合、画像表示形式リストは次のように並べ換えられます。

選択されたグループ中での画像インスタンス番号に対する影響

expvis フラグによって、次の画像グループの画像インスタンス番号を変更することができます。

expvis によって変更されるインスタンスの数は、モニターが単一解像度になっているか立体解像度になっているかによって異なります。単一解像度になっている場合に expvis が有効になると、画像表示形式の順番は保存されますが、上記の各グループ内には「ダブルバッファー機能」画像インスタンスが追加されます。立体解像度になっている場合は、「ダブルバッファー・立体機能」と「単一バッファー・立体機能」の 2 種類の画像インスタンスが追加されます。「ダブルバッファー機能」画像インスタンスがある場合は、常に「単一バッファー機能」の前に来ます。また、単一画像インスタンスは、常に立体画像インスタンスよりも前に来ます。

たとえば、立体解像度の場合に、以下のように指定します。


# afbconfig -overlayorder first -expvis enable

この場合、画像表示形式リストは次のようになります。


注 -

ダブルバッファー機能のオーバーレイ画像インスタンスはありません。


8 ビットオーバーレイグループへの SERVER_OVERLAY_VISUALS 属性と透過 SOV 画像表示形式の追加

sov オプションを有効にせずに使用可能なオーバーレイ画像形式は、透過性のない画像形式だけです。sov オプションの有効化によって、透過的 SOV 画像インスタンスを画像表示形式リストに、SERVER_OVERLAY_VISUALS 属性をルートウィンドウ属性に追加することができます。透過 SOV 画像インスタンスは、「8 ビット疑似カラーオーバーレイ」画像グループに属しています。SERVER_OVERLAY_VISUALS 属性は、その画像の ID、透過タイプ、透過値、その画面で使用可能なすべてのオーバーレイ画像を含んでいます。

たとえば、立体解像度になっている場合に、以下のコマンドを入力します。


# afbconfig -overlayorder first -expvis enable -sov enable

この場合、画像表示形式リストは次のようになります。

SERVER_OVERLAY_VISUALS 属性には、以下の情報が含まれます。


===========================================================
              SERVER OVERLAY VISUALS (SOV) Info 
===========================================================
No. of SOV visuals = 4
SOV #0,ID 0x36, TRANSPARENT_TYPE 0, VALUE   0, LAYER 1 
SOV #1,ID 0x37, TRANSPARENT_TYPE 0, VALUE   0, LAYER 1 
SOV #2,ID 0x38, TRANSPARENT_TYPE 1, VALUE 255, LAYER 1 
SOV #3,ID 0x39, TRANSPARENT_TYPE 1, VALUE 255, LAYER 1 
 
===========================================================

ステレオコネクタ

ステレオコネクタを使用して、Elite3D グラフックスアクセラレータに立体視ゴーグルを接続することができます。Elite3D ボード用ののステレオコネクタは、7 ピンの DIN コネクタです (図 7-1 を参照)。

図 7-1 Elite3D のステレオコネクタ

Graphic

表 7-7 にステレオコネクタの信号を示します。

表 7-7 Elite3D のステレオコネクタの信号

ピン 

説明 

接地 

接続なし 

+12V 

ステレオ信号 

接続なし 

接続なし 

接続なし 

ステレオ信号

ステレオ信号は、図 7-2 に示すように、左右の立体シャッタの切り換え周期が 50 パーセントデューティーの、TTL レベルの信号です。

図 7-2 Elite3D のステレオ信号

Graphic


注 -

Elite3D グラフィックスアクセラレータのステレオケーブルと立体視ゴーグルについての詳細は、購入先にお問い合わせください。