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

第 9 章 複数のモニターの接続

この章では、1 台の SPARCstation システムで複数のモニターを使用する方法について説明します。

増設 SBus スロット (システムによっては PCI スロット) が利用できる場合は、ほとんどの SPARCstation と UltraSPARC システムで、複数のモニター構成がサポートされます。

この手順を行うには、UNIX の知識と、viemacs のような基本的なエディタの使用経験が必要です。

複数のモニターを設定する

Sun Ultra システム

複数のフレームバッファを使うには、 /usr/dt/config にある Xservers ファイルを修正する必要があります。

  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

Sun SPARCstation Sbus システム

システムは起動時に、SBus デバイスを検索する順序を決定する sbus-probe-list を探します。SPARCstation 10 および SPARCstation 20 では、SBus アドレス f は、CPU のために予約され、sbus-probe-list の最初のアドレスである必要があります。

システム情報および sbus-probe-list を参照するには、以下のように入力します。


% eeprom
        .
        .
        .
sbus-probe-list=0123
        .
        .

アドレス指定の数字は、0、1、2、3 です。SPARCstation システムでは、0 は CPU のために予約され、SPARCstation 10 および SPARCstation 20 システム以外では、 sbus-probe-list の最初のアドレスである必要があります。

SPARCstation 10 および SPARCstation 20 システムの場合には、以下のようにシステム情報と sbus-probe-list (f で始まる) が表示されます。


% eeprom
        .
        .
        .
sbus-probe-list=f0123
        .
        .

デバイスファイル名

複数のモニターで OpenWindows ソフトウェアを使用している場合は、フレームバッファーデバイスが UNIX デバイスファイル名に割り当てられる方式を理解している必要があります。OpenWindows ソフトウェアで複数のフレームバッファーを使用する場合は、使用開始時に、フレームバッファーの UNIX デバイスファイル名をコマンド行で指定してください。

UNIX の起動メッセージは、フレームバッファーを /dev/fb の形式 (fb はフレームバッファーの種類) で識別します。通常 /dev/fb は、フレームバッファーの種類によって /dev/fbs/cgsix0/dev/fbs/bwtwo0/dev/fbs/leo0 などの別のデバイスファイル名を持っています。2 番目のフレームバッファーが追加されると、システムは各フレームバッファーの SBus スロット番号と sbus-probe-list の EEPROM 変数に基づいて、/dev/fb を決定します。/dev/fb は、sbus-probe-list に定義されている最初の SBus スロットのフレームバッファーです。

GX フレームバッファーをすでに備えているシステムに TurboGXplus カードを追加した場合は、sbus-probe-list によって /dev/fbs/cgsix0/dev/fbs/cgsix1 が判別されます。

たとえば、SPARCstation 10 システムの sbus-probe-list に既定値 f0123 があり、SBus スロット 2 と 3 に TurboGXplus カードが実装されているとします。スロット 2 の TurboGXplus カードは、/dev/fb および /dev/fbs/cgsix0 に、スロット 3 の TurboGXplus カードは、/dev/fbs/cgsix1 になります。

この章で示したコマンド行の例は、フレームバッファーの種類を示すデバイスファイル名を使用しています。システムに適したデバイスファイル名に置き換えて使用してください。

利用可能なフレームバッファーを確認する

システムに実装されているフレームバッファーデバイスの名前がわからない場合には、以下のコマンドを実行して確認してください。


% /etc/dmesg | more

この結果、使用可能なフレームバッファーの種類とそれが実装されているスロットなどを示すシステム構成が表示されます。メッセージのリストは、非常に長くなる場合があります。cg または leo (カラーフレームバッファー用) や bw (モノクロフレームバッファー用) で始まる行を探してください。


 .
cgsix0 at SBus0: SBus slot 1 0x0 SBus level 5 sparc ipl 7
cgsix0 is /sbus@1,f8000000/chsix@1,0
cgsix0: screen 1152x900, single buffered, 1M mappable, rev1
 .


注 -

dmesg コマンドを実行すると、非常に多くのメッセージが表示されるため、必要なシステム構成のメッセージを見落としてしまう場合があります。そのような場合は、(必要に応じて再起動をした後に) 上記のコマンドをもう一度実行してください。


コンソールから OpenWindows を起動する

コンソールから OpenWindows を起動するように設定した .login ファイルの例を示します。


#
# if possible, start the windows system.  Give user a chance to bail out
#
if ( 'tty' == "/dev/console" && $TERM == "sun" ) then
    if ( ${?OPENWINHOME} == 0 ) then
    setenv OPENWINHOME /usr/openwin
    endif			    
    echo ""
    echo -n "Starting OpenWindows in 5 seconds (type Control-C to

 interrupt)"
    sleep 5
    echo ""
    $OPENWINHOME/bin/openwin
    clear# get rid of annoying cursor rectangle
    logout# logout after leaving windows system

endif

複数のモニターで OpenWindows を実行する

OpenWindows バージョン 3 上で複数のモニターを使用する
  1. 以下のコマンドを実行し、OpenWindows バージョン 3 の環境を設定します。

    (/usr/local の部分は、 OpenWindows バージョン 3 ソフトウェアが実際に置かれているパス名に置き換えてください。)


    % setenv OPENWINHOME /usr/local/openwin

  2. 以下のコマンドを実行し、使用するフレームバッファーのデバイスファイルが存在することを確認します。


    # ls -l /dev/fbs/cgsix1

    デバイスファイルが存在する場に合は、以下のようなメッセージが表示されます。このメッセージが表示された場合は、手順 6 に進んでください。 "not found" というメッセージが表示された場合は、手順 3 に進んでください。


    crw-rw-rw- 1 root      67,   0 Jan 10 1991 /dev/fbs/cgsix1

  3. スーパーユーザー(root)になり、以下に示すように、システムを停止してから再起動します。


    # boot -r

    これによりシステムが接続されたハードウェアデバイスすべてを確認し、2 番目のフレームバッファーのデバイスファイルが作成されます。

  4. 以下のコマンドを実行し、新しく作成したファイルを確認します。


    # ls -l /dev/fbs/cgsix1

    デバイスファイルが正常に作成された場合は、以下のようなメッセージが表示されます。


    crw-rw-rw- 1 root      67,   0 Jan 10 1991 /dev/fbs/cgsix1

  5. exit コマンドを実行し、一般ユーザーに戻ります。

  6. 以下のコマンドを実行し、使用する画面を指定します。


    % $OPENWINHOME/bin/openwin -dev /dev/fb -dev /dev/fbs/cgsix1


    注 -

    デバイスを指定する順序は重要です。最初のデバイスは、左の画面に相当します。2 番目のデバイスは、右の画面に相当します。デバイス名 (たとえば、/dev/fbs/cgsix1) は、別のものでも構いません。システムに適したデバイスファイル名を使用してください。


ポーリング順序を変更する

この節では、SBus のポーリング順序とそれを変更する方法を説明します。

SBus アドレス

SPARCstation IPX や LX のように、2 スロットの SPARCstation システムには 0、1、2、 3 の 4 つの SBus アドレスがあります。SBus アドレス 0 は、メイン論理ボードに割り当てられ、システム用に予約されています。SBus スロット (SBus アドレス) の 1 と 2 は、ユーザーが組み込む SBus カード用であり、実際に使用可能なスロットです。SBus アドレス 3 には、メイン論理ボードのフレームバッファーが割り当てられています。

SPARCstation 2 システムには、システムボード上にフレームバッファーがありません。このシステムのスロット 1、2、3 は、SBus カードを組み込むために使用されます。

SPARCstation 10 と SPARCstation 20 には、システムボード上にフレームバッファーがありません。SBus アドレス f は、CPU 用に予約されていて、sbus-probe-list 中の最初のアドレスである必要があります。SPARCstation 10 および SPARCstation 20 のシステムでは、SBus アドレス線の 0、1、2、3 は、ユーザーが組み込む SBus カード用として使用されます。

ポーリングの順序

ポーリングの順序は、OpenBootTM PROM の sbus-probe-list パラメタによって決定します。SPARCstation 10 および SPARCstation 20 の場合は、f で始まる必要があります。このパラメタは、スロット 0 から 3 の順序でポーリングするように設定されています。スロット 1、2、3 の順序は変更することができますが、必ずスロット 0 から始まる必要があります。

たとえば、SPARCclassicTM、SPARCstation IPX、 SPARCstation LX の構成では、SBus スロットにフレームバッファーカードを実装すると、システムはシステムボード上のフレームバッファーよりも先に SBus スロットのフレームバッファーを探します。SBus スロットにフレームバッファーを認識すると、システムはそのスロットでビデオ接続を確立し、それ以上は探しません。システムがシステムボード上のフレームバッファーを最初に探すようにする場合は、ポーリングの順序を 0、3、1、2 に変更します。


注 -

SPARCstation IPX、SPARCstation LX システムの sbus-probe-list を変更し、コンソールデバイスとして 3 を選択する場合には、モニターをシステムボード上のフレームバッファーに接続してください。システムは、ポーリングの順序に関わらず、他のモニターを認識しません。


sbus-probe-list の変更

以下の手順で、sbus-probe-list を変更します。


注意 - 注意 -

以下に示した手順は、SunOSTM ソフトウェアに精通したユーザーを対象としています。モニターが 1 台だけの場合や、sbus-probe-list を変更する必要がない場合には、この手順を無視してください。eeprom コマンドの入力後に表示されるシステム情報を変更すると、システムの構成が変更されます。


sbus-probe-list を変更する
  1. スーパーユーザーになり、以下を入力してください。


    # eeprom sbus-probe-list=0xyz (システムが SPARCstation
    10 の場合は fwxyz)

    xyz または wxyz は、SBus スロットを調べる順序です。

    SPARCclassic、SPARCstation IPX、SPARCstation LX の構成では、0312 は SBus スロット 3 (システムボード上のフレームバッファー) を最初に調べ、その後に SBus スロット 1、2 の順に調べます。以下に入力例を示します。


    # eeprom sbus-probe-list=0312

    図 9-1 sbus-probe-list の書式

    Graphic

eeprom sbus-probe-list 中の 0 を除いた最左端の文字は、最初に調べられるデバイスを示します。これは物理的な位置に関わらず、コンソールデバイスとなります。


注 -

SPARCstation 10 または SPARCstation 20 システムを使用している場合は、 sbus-probe-list の最左端の文字は CPU のために予約されている f (0 ではなく) になります。


  1. モニターが、コンソールとして認識されているフレームバッファーに接続されていることを確認してください。

  2. システムを再起動し、変更を有効にします。