<!doctype linuxdoc system>

<article>
<title> S3 チップセット使用者のための情報
<author>XFree86 プロジェクト社
<date>1995 年 7 月 7 日
<trans> 岡本　一幸 Kazuyuki Okamoto &lt;ikko-@pacific.rim.or.jp&gt;
<toc>

<sect> サポートしているハードウェア
<p>
現行の S3 サーバーは 911, 924, 801/805, 928, 732 (Trio32), 764 (Trio64), 
864, 868, 964 と 968 の入手可能な S3 のチップセットをサポートしています。S3
サーバーは 866 も認識しますが、このチップセットは未だテストしてません。こ
れらのチップセットで何か問題があったとか、うまく動作したとかを、我々に報告
して下さい。

しかし、それらのチップセットを搭載している全てのビデオボードを十分サポート
していません。動作確認をしたビデオボードのいくつかを次の一覧に示します。自
分のカードに似たカードが一覧の中にある場合は、そのカードも動作する可能性が
あります。
[ 訳注：bpp (bit per pixel) は１ピクセル(画素) を表現するビット数 ]

<descrip>
<tag>S3 801/805, AT&amp;T 20C490 (または そっくりさん) RAMDAC</tag>
	<itemize>
        <item> Orchid Fahrenheit 1280+ VLB
        <item> Actix GE32
	</itemize>

        8 and 15/16 bpp が利用可能です。

        注意: 本物の AT&amp;T20C490 RAMDAC はサーバーで自動認識出来ます。
        その互換チップセットの場合は <tt/XF86Config/ に
	`<tt/Ramdac "att20c490"/'と明記してください。

        本物の AT&amp;T 20C490 と 20C491 RAMDAC は <tt/"dac_8_bit"/ というオプション
        を付けて動作します。（Winbond 82C490 のような）いくつかのそっくりさ
        んにはオプションを付けないでください。

<tag>S3 805 VLB, S3 GENDAC (RAMDAC + クロックシンセサイザー)</tag>
	<itemize>
	<item> MIRO 10SD (VLB と PCI 用が利用可能) 全ての10SD が S3 GENDAC を搭
           載しているかどうかはわかりません 。
	</itemize>

	8 と 15/16 bpp が利用可能です。
			
 <tscreen><verb>
 ClockChip "s3gendac" と明記してください。
 RamDac    "s3gendac" と明記してください。
 </verb></tscreen>


<tag>S3 801/805, AT&amp;T 20C490 RAMDAC, ICD2061A クロックチップ</tag>
	<itemize>
	<item> STB PowerGraph X.24 S3 (ISA)
	</itemize>

	8 and 15/16 bpp が利用可能です。

        注意: 本物の AT&amp;T20C490 RAMDAC はサーバーで自動認識出来ます。
        その互換チップセットの場合は <tt/XF86Config/ に`<tt/Ramdac "att20c490"/'と明記
        してください。

 <tscreen><verb>
 ClockChip "icd2061a" と明記してください。
 RamDac    "att20c490" と明記してください。
 Option    "dac_8_bit と明記してください。
 </verb></tscreen>


<tag>S3 805, Diamond SS2410 RAMDAC, ICD2061A クロックチップ</tag>
	<itemize>
        <item> Diamond Stealth 24 VLB
	</itemize> 

	8 and 15bpp(*) のみが利用可能です。

	`<tt/Option "nolinear"/' というオプションが必要です。

        (*) SS2410 RAMDAC は AT&amp;T20C490 と15 bpp モードでは互換性があること
        が報告されています。そのチップを AT&amp;T20C490 とみなしてサーバーを生成
        した場合、<tt/XF86Config/ に `<tt/Ramdac "att20c490"/' と書く必要があります。

<tag>S3 801/805, Chrontel 8391 クロックチップ/Ramdac</tag>
	<itemize>
        <item> JAX 8241
	<item> SPEA Mirage
	</itemize> 

	8 and 15/16 bpp のみが利用可能です。

        8391 は AT&amp;T 20C490 RAMDAC と互換性があります。

 <tscreen><verb>
 ClockChip "ch8391" と明記してください。
 Ramdac    "ch8391" と明記してください。
 Option    "dac_8_bit" と明記してください。
 </verb></tscreen>


<tag>S3 928, AT&amp;T 20C490 RAMDAC </tag>
      	<itemize> 
	<item> Actix Ultra
	</itemize>

 	8 and 15/16 bpp が利用可能です。

        注意: 本物の AT&amp;T20C490 RAMDAC はサーバーで自動認識出来ます。
        その互換チップセットの場合は <tt/XF86Config/ に`<tt/Ramdac "att20c490"/'と明記
        してください。 また、サーバーの RAMDAC 探査報告が伝えるところによれ
        ば幾つかのボードで問題が生じ、RamDac の設定が探査から無視されます。

        本物の AT&amp;T 20C490 と 20C491 RAMDAC は <tt/"dac_8_bit"/ というオプション
        を付けて動作します。（Winbond 82C490 のような）いくつかのそっくりさ
        んにはオプションを付けないでください。

<tag>S3 928, Sierra SC15025 RAMDAC, ICD2061A クロックチップ</tag>
	<itemize>
        <item> ELSA Winner 1000 ISA/EISA (``TwinBus'' は Winner1000ISA ではあり
           ません!!)
        <item> ELSA Winner 1000 VL
	</itemize>

 	8, 15/16 と 24(32) bpp が利用可能です。

        8bpp では 8ビット/画素 RGB をサポートし、15/16 と 24bpp モードではガ
        ンマ補正をサポートします。

        クロックが 30 MHz の限界近くである場合に、 24 bpp では ``雪が降った
        ように'' なるかもしれません。これが危険であると考えてはいませんが、
        24bpp の使用できる上限だと思います。

         D-段階 (又は以降の) チップは 1152 ドットの画面幅を使うことは出来な
         いので、 1 MB のボードでのもっとも有効なモードは 1088x800x8 です(こ
         れは 2 MB の時の 1088x800x16 と同じです）。

 <tscreen><verb>
 ClockChip "icd2061a" と明記してください。
 </verb></tscreen>


<tag>S3 928, Bt9485 RAMDAC, ICD2061A クロックチップ</tag>
	<itemize>
        <item> STB Pegasus VL 
	</itemize>
                        
 	8, 15/16 と 24(32) bpp が利用可能です。

        <tt/"sync_on_green"/ オプションを付けて、かつ BNC コネクタに出力するよう
        にボード上のジャンパスイッチを設定した場合に、緑信号同期を使用した 
        RBG 出力をサポートします。

        VLB リニア アドレッシングはアドレス 0x7FCxxxxx で アクセスしますので、
        64MB かそれ以上のメインメモリがあればリニアフレームバッファを失う事
        なしにサポート出来ます。

 <tscreen><verb>
 ClockChip "icd2061a" と明記してください。
 Option    "stb_pegasus" と明記してください。
 </verb></tscreen>


<tag>S3 928, Bt485 RAMDAC, SC11412 クロックチップ</tag>
	<itemize>
        <item> SPEA Mercury 2MB VL
	</itemize>
                        
 	8, 15/16 と 24(32) bpp が利用可能です。

 <tscreen><verb>
 ClockChip "SC11412" と明記してください。
 Option    "SPEA_Mercury" と明記してください。
 </verb></tscreen>


<tag>S3 928, Bt485 RAMDAC, ICD2061A クロックチップ</tag>
	<itemize>
        <item> &num;9 GXE Level 10, 11, 12
	</itemize>	

 	8, 15/16 and 24(32) bpp が利用可能です。

 <tscreen><verb>
 ClockChip "icd2061a" と明記してください。
 Option    "number_nine" と明記してください。
 </verb></tscreen>


<tag>S3 928, Ti3020 RAMDAC, ICD2061A クロックチップ</tag>
	<itemize>
        <item> &num;9 GXE Level 14, 16
	</itemize>
                        
	8, 15/16 と 24(32) bpp が利用可能です。

 	緑信号同期を使用した RBG 出力をサポートします。

 <tscreen><verb>
 ClockChip "icd2061a" と明記してください。
 Option    "number_nine" と明記してください。
 </verb></tscreen>


<tag>S3 864, AT&amp;T20C498, ICS2494 クロックチップ</tag>
	<itemize>
        <item> MIRO 20SD (BIOS 1.xx)
	</itemize>

        ICS2494 は固定周波数のクロックチップで、（XF86Config ファイルに 
        Clocks 行を書かずに）X -probeonly を実行すると正しいクロックが得られ
        ます。

	8, 15/16 と 24(32) bpp が利用可能です。


<tag>S3 864, AT&amp;T20C498 または STG1700 RAMDAC, ICD2061A または ICS9161 クロックチップ</tag>
	<itemize>
        <item> Elsa Winner1000PRO VLB
        <item> Elsa Winner1000PRO PCI
        <item> MIRO 20SD (BIOS 2.xx)
        <item> Actix GraphicsENGINE 64 VLB/2MB
	</itemize>

 	8, 15/16 と 24(32) bpp が利用可能です。

 <tscreen><verb>
 ClockChip "icd2061a" と明記してください。
 </verb></tscreen>


<tag>S3 864, 20C498 or 21C498 RAMDAC, ICS2595 チップセット</tag>
	<itemize>
        <item> SPEA MirageP64 2MB DRAM  (BIOS 3.xx)
	</itemize>

 	8, 15/16 and 24(32) bpp が利用可能です。

        このクロックチップは未だ断片的なサポートで、かつ幾つかのマシン上では
        XF86_S3 起動時の初期画面、または仮想端末(VT) から戻った直後の画面に
        問題がありますが、 CTRL+ALT+``KP+'' で次のモードに切り替えたり、戻っ
        たりする場合の問題は解決済みと思われます。

	インターレースモードは正しく動作しません。

        Mirage P64 with BIOS 4.xx は S3 SDAC を使用しています。

 <tscreen><verb>
 ClockChip "ics2595" と明記してください。
 </verb></tscreen>


<tag>S3 864, S3 86C716 SDAC RAMDAC と クロックチップ</tag>
	<itemize>
        <item> Elsa Winner1000PRO
        <item> MIRO 20SD (BIOS 3.xx)
        <item> SPEA MirageP64 2MB DRAM  (BIOS 4.xx)
        <item> Diamond Stealth 64 DRAM
	</itemize>

 	8, 15/16 and 24 bpp が利用可能です。


<tag>S3 864, ICS5342 RAMDAC と クロックチップ</tag>
	<itemize>
        <item> Diamond Stealth 64 DRAM (同じカードのみ)
	</itemize>

 	8, 15/16 and 24 bpp が利用可能です。

 <tscreen><verb>
 ClockChip "ics5342" と明記してください。
 Ramdac    "ics5342" と明記してください。
 </verb></tscreen>


<tag>S3 864, AT&amp;T21C498-13 RAMDAC, ICD2061A クロックチップ</tag>
	<itemize>
        <item> &num;9 GXE64 - PCI
	</itemize>
                        
 	8, 15/16, 24(32) bpp が利用可能です。

 <tscreen><verb>
 ClockChip "icd2061a" と明記してください。
 Option    "number_nine" と明記してください。
 </verb></tscreen>


<tag>S3 964, AT&amp;T 20C505 RAMDAC, ICD2061A クロックチップ</tag>
	<itemize>
        <item> Miro Crystal 20SV
	</itemize>

 	8, 15/16, 24(32) bpp が利用可能です。

 <tscreen><verb>
 ClockChip "icd2061a" と明記してください。
 Ramdac    "att20c505" と明記してください。
 </verb></tscreen>


<tag>S3 964, Bt485 RAMDAC, ICD2061A クロックチップ</tag>
	<itemize>
 	<item> Diamond Stealth 64
	</itemize>

 	8, 15/16, 24(32) bpp が利用可能です。

 <tscreen><verb>
 ClockChip "icd2061a" と明記してください。
 </verb></tscreen>


<tag>S3 964, Bt9485 or AT&amp;T 20C505 RAMDAC, ICS9161a クロックチップ</tag>
	<itemize>
 	<item> SPEA Mercury 64
	</itemize>

 	8, 15/16, 24(32) bpp が利用可能です。

 <tscreen><verb>
 ClockChip "ics9161a" と明記してください。
 Option    "SPEA_Mercury" と明記してください。
 </verb></tscreen>


<tag>S3 964, Ti3020 RAMDAC, ICD2061A クロックチップ</tag>
	<itemize>
 	<item> Elsa Winner2000PRO PCI
	</itemize>

 	8, 15/16, 24(32) bpp が利用可能です。

 <tscreen><verb>
 ClockChip "icd2061a" と明記してください。
 </verb></tscreen>


<tag>S3 964, Ti3025 RAMDAC, Ti3025 クロックチップ</tag>
	<itemize>
        <item> Miro Crystal 40SV
	<item> &num;9 GXE64 Pro VLB
        <item> &num;9 GXE64 Pro PCI
	</itemize>

 	8 bpp, 15, 16 and 24(32) bpp が利用可能です。

 	GXE64 Pro で 15/16/24 bpp の場合に画像が偏ったり/回り込んだりする等、
        幾つかの問題点がわかっています。

        既に &num;9 が 1600x1200 を GXE64 Pro でサポートしていない事を知っていま
        す。けれども他のボードで 135MHz で ある RAMDAC を 220MHz の RAMDAC 
        に置き換えた GXE64Pro-1600 と呼ばれる新しい（そしてより高価な）ボー
        ドを開発しています。


<tag>S3 764 (Trio64)</tag>
	<itemize>
        <item> SPEA Mirage P64 (BIOS 5.xx)
        <item> Diamond Stealth 64 DRAM
        <item> &num;9 GXE64 Trio64
	</itemize>

 	8/15/16/24 bpp が利用可能です。

        注意: Trio64 は RAMDAC と クロックチップを内蔵しているので、サーバー
        は全ての Trio64 で動作するでしょう、だから <tt/XF86Config/ ファイルに 
        RAMDAC と クロックチップは指定する必要はありません。


<tag>S3 732 (Trio32)</tag>
	<itemize>
        <item> Diamond Stealth 64 DRAM SE
	</itemize>

 	8/15/16/24 bpp が利用可能です。

        注意: Trio32 は RAMDAC と クロックチップを内蔵しているので、サーバー
        は全ての Trio32 で動作するでしょう、だから <tt/XF86Config/ ファイルに 
        RAMDAC と クロックチップは指定する必要はありません。


<tag>S3 868, S3 86C716 SDAC RAMDAC と クロックチップ</tag>
	<itemize>
	<item> ELSA Winner 1000AVI
	</itemize>

	8/15/16/24 bpp が利用可能です。

<tag>S3 968, Ti3026 RAMDAC, Ti3026 クロックチップ</tag>
	<itemize>
	<item> Elsa Winner 2000PRO/X
	<item> Diamond Stealth 64 VIDEO VRAM
	</itemize>

	8/15/16/24 bpp が利用可能です。

<tag>S3 964, IBM RGB 514/524/525/528 RAMDAC &amp; クロックチップ</tag>
	<itemize>
	<item> Hercules Graphics Terminator 64
 <tscreen><verb>
 s3RefClk   50 と明記してください。
 DACspeed  170 と明記してください。
 Option  "slow_vram" と明記してください。
 </verb></tscreen>
	</itemize>

	8/15/16/24 bpp が利用可能です。

<tag>S3 968, IBM RGB 514/524/525/528 RAMDAC &amp; クロックチップ</tag>
	<itemize>
	<item> Genoa Genoa VideoBlitz III AV
 <tscreen><verb>
 s3RefClk   50 と明記してください。
 DACspeed  170 と明記してください。
 </verb></tscreen>
	<item> Hercules Graphics Terminator Pro 64
 <tscreen><verb>
 s3RefClk   16 と明記してください。
 DACspeed  220 と明記してください。
 </verb></tscreen>
	このカードには次の行を明記する必要があります。:
 <tscreen><verb>
        Invert_VCLK "*" 0
 </verb></tscreen>
	これを各々の Display サブセクションに明記してください。
	<item> STB Velocity 64
 <tscreen><verb>
 s3RefClk   24 と明記してください。
 DACspeed  220 と明記してください。
 </verb></tscreen>
	<item> Number Nine FX Motion 771
 <tscreen><verb>
 s3RefClk   16 と明記してください。
 DACspeed  220 と明記してください。
 </verb></tscreen>
	</itemize>

	8/15/16/24 bpp が利用可能です。

</descrip>

<sect> 16bpp と 32bpp
<p>

（Farenheit 1280+ VLB のような） 801/805 と AT&amp;T490 のカードでは 15 と 
16bpp をサポートしています。この系列のチップセットでは 32bpp を使用できま
せん。
（MS Windows では 24 ビットモードを使っていますが、これは 32bpp の色数を少
なくした (sparse) モードではなく、本当に 3 バイト/ピクセルを用いたモードで
す。このモードを XFree86 で実装するのは容易ではありません。）

<sect>サポートしているチップセットの一覧
<p>

<tscreen><verb>
ICD2061A                                ==> ClockChip "icd2061a"
ICS9161A (ICD2061A 互換)                ==> ClockChip "ics9161a"
DCS2824-0 (Diamond, ICD2061A 互換)      ==> ClockChip "dcs2824"
 
S3 86c708 GENDAC                        ==> ClockChip "s3gendac"
ICS5300 GENDAC (86c708 互換)            ==> ClockChip "ics5300"

S3 86c716 SDAC                          ==> ClockChip "s3_sdac"
ICS5342 GENDAC                          ==> ClockChip "ics5342"
STG 1703                                ==> ClockChip "stg1703"
 
Sierra SC11412                          ==> ClockChip "sc11412"
ICS2595                                 ==> ClockChip "ics2595"
TI3025                                  ==> ClockChip "ti3025"
TI3026                                  ==> ClockChip "ti3026"
IBM RGB 5xx                             ==> ClockChip "ibm_rgb5xx"

Chrontel 8391                           ==> ClockChip "ch8391"
</verb></tscreen>

<sect> 追加注意事項
<p>
この一覧に記載されていない RAMDAC を持っている場合は、XF86_S3 を使用する際
RAMDAC の周波数を上げ過ぎないように十分注意して下さい。XF86_S3 がボードを
痛めないように、先ず XFree86 チームに確認の連絡を取ったほうが良いでしょう。

冒険しようと思うなら、コンピューターの蓋を開けて RAMDAC を覗いてみて下さい。
RAMDAC は普通ビデオボード上で大きいチップ（２番目か３番目に大きいチップは 
EPROM ではありません）です。通常、そこには次のように書かれています。

<tscreen><verb>
  <会社のロゴ>

      <会社の識別子><部品番号>-<周波数の省略形>
      <製造週><製造年>  
      <ロット番号><その他の意味不明な数字>
</verb></tscreen>

例えば:

<tscreen><verb>
          @@
          @@ AT&amp;T

        ATT20C490-11
         9339S ES
          9869874
</verb></tscreen>

これは動作周波数 110 MHz の AT&amp;T 20C490 です。この事は <tt/XF86Config/ ファイル
に `<tt/DacSpeed 110/' と記入することを指しています。幾つかの RAMDAC はそれぞれ
のモードによって異なる周波数の上限を持っている事を良く考えて下さい。製造会
社はいつもそのチップの持てる最高性能の周波数を名前に付けるので、十分注意し
て下さい。S3 サーバーは正しく指定された DacSpeed の値を用いて殆どの 
RAMDAC の周波数の上限をどのように扱えば良いかを知っています。


chips labeled <bf/-80/ or <bf/-8/  should use `<tt/DacSpeed 80/' in
the device section
チップに <bf/-80/ または <bf/-8/ とか付いていたら、デバイス節に `<tt/DacSpeed 80/' と
明記するべきでしょう。
<tscreen><verb>
S3 86C716-ME SDAC  ==>  DacSpeed 110
SC15025-8          ==>  DacSpeed  80
ATT20C490-80       ==>  DacSpeed  80

IBM 8190429        ==>  DacSpeed 170
IBM 03H5428        ==>  DacSpeed 170
IBM 03H6447        ==>  DacSpeed 170
IBM 03H6448        ==>  DacSpeed 220
IBM 03H5319        ==>  DacSpeed 220
IBM 63G9902        ==>  DacSpeed 250

IBM 37RGB514CF17   ==>  DacSpeed 170
IBM 37RGB524CF22   ==>  DacSpeed 220
              ^^
</verb></tscreen>

（Ti3025 のような）幾つかの RAMDAC はハードウェアカーソルが正しく動作する
ように幾つかのモードの調整に配慮が必要です。Ti3025 は最低 80 ピクセル分の
余裕が必要です。設定が良くなかったときの症状は画面の右端に近いところへハー
ドウェアカーソルを近付けると消えるようになることです。


<sect> IBM RGB 5xx  RAMDAC のクロック値を参照するには
<p>

IBM RGB5xx RAMDAC を搭載しているカードは、テキストモードのクロックの情報を除
いて探査することが出来ないクロックシンセサイザーにいくつか異なる周波数を与
えて動作します（標準でないテキストモードを使っている場合に間違った仮定をす
るかもしれません）。次に入力周波数を探す手順を示します。:

先ず次を実行してください。

<tscreen><verb>
    X -probeonly >& outfile 
</verb></tscreen>

そしてクロックチップの探査結果の outfile に次のようになっている事を確認
してください。:

<tscreen><verb>
(--) S3: Using IBM RGB52x programmable clock (MCLK 66.000 MHz)
(--) S3: with refclock 16.000 MHz (probed 15.952 & 16.041)
                       ^^^^^^      ^^^^^^^^^^^^^^^^^^^^^^
</verb></tscreen>

使用する周波数と括弧の中の二つの探査した周波数は 25MHz と 28MHz のテキスト
モードのクロックを基準とした "良い予想の" 値でしょう。普通の 80x25 または 
80x28 のテキストモードで実行した場合のみ、この探査は動作可能です！。

参照周波数の値は大体次のようになります:

<verb>
	STB Velocity 64		24 Mhz
	Genoa VideoBlitz II AV	50 MHz
	Hercules S3 964 	50 MHz
	Hercules S3 968 	16 MHz
	#9 Motion 771		16 MHz
</verb>

  これらの値はカードの水晶発振子と多分 Genoa カードに搭載されている（14.3 
  MHz の）追加クロックチップ等の様な他の機能に依存します。

  16MHz のカードが 50MHz を実際に使う事になるのは、全てのピクセルクロック
  はカードの周波数の三倍になるからで 25MHz の 640x480 モードでは 75MHz のピ
  クセルクロックになりますので十分注意してください。

  正しい参照周波数が見つかったら、設定ファイル（の device 節に）に入れましょ
  う。例えば次のように入れてください。

      <tscreen><verb>
	s3RefClk  16
      </verb></tscreen>
または
      <tscreen><verb>
	s3RefClk  50
      </verb></tscreen>

この値について、他のテキストモードを使っていて探査に失敗しているときは、こ
の限りではありません！。




<sect> グラフィック画面操作時、``雪が降る'' 現象の回避策
<p>

S3 Vision864 チップ搭載のカードでは、ピクセルクロックと S3 チップを操作す
るメモリクロック MCLK に依存した自動訂正機能があります。殆どのクロックチッ
プではクロックの読み出しは出来ません（昔から S3 SDAC だけは メモリクロック
の値を読み出せました）ので、この値は推定するかユーザーが指定していました
（初期値は 60 &lsqb;MHz&rsqb;）。

XF86Config ファイルへ新しい `<tt/s3MCLK/' の設定をするなら、次の例のようにしま
しょう。
With the new `<tt/s3MCLK/' entry for your <tt/XF86Config/ file now you can 
specify e.g.

 <tscreen><verb>
 s3MCLK 55
 </verb></tscreen>

55 MHz にメモリクロックを設定すると雪の量が減るでしょう。より小さいメモリ
クロックは性能を若干落としますので、低すぎる値は使用しないで下さい（殆どの
場合 55 か 50 程度の値が良いと思います）。

次はメモリクロックの概算値（約 +/- 1 から 2 MHz の誤差があります）を決める
のに有効な小さなシェルスクリプトです。このスクリプトを実行する前に次の行

 <tscreen><verb>
 s3MNadjust -31 255
 </verb></tscreen>

を <tt/XF86Config/ ファイルのデバイス節に追加し X ウィンドウを再始動する必要が
あります。
この（テストとデバッグ専用の）オプションで悲惨な表示のちらつきと降雪を沢山
見るでしょうが、以降のテストスクリプトを実行すれば直ちに再び取り除くことが
出来ます。

このスクリプトは xbench かつ/又は x11perf を実行してメモリクロック を MHz 
単位で表示し決定する検査を行います。4 つ以上のテストを実行したら、4 つ以上
の推定値（最初の推定値が一番正確でしょう）を見ることが出来ます。

<code>
#!/bin/sh

exec 2> /dev/null

scale=2

calc() {
  m=`awk 'BEGIN{printf "%.'$scale'f\n",'"( $1 + $2 ) / $3; exit}" `
  [ -z "$m" ] && m=` echo "scale=$scale; ( $1 + $2 ) / $3" | bc `
  [ -z "$m" ] && m=` echo "$scale $1 $2 + $3 / pq" | dc `
  echo $m
}

run_xbench() { 
  r=` ( echo 1; echo 2; echo 3; echo 4 ) | xbench -only $1 | grep rate `
  [ -z "$r" ] && return
  cp="$2 $3"
  set $r
  calc $3 $cp
}  

run_x11perf() {
  r=` x11perf $1 | grep trep | tr '(/)' '   ' `
  [ -z "$r" ] && return
  cp="$2 $3"
  set $r
  calc `calc 1000 0 $4` $cp    
}

run_x11perf "-rect500 -rop GXxor"     3.86  5.53  #  0 1  #    4.11    5.52  #
run_xbench invrects500                4.63  5.48  #  0 1  #    4.69    5.48  #

run_x11perf "-rect500 -rop GXcopy"  -16.42 13.90  #  0 1  #  -14.99   13.88  #
run_xbench fillrects500              -7.81 13.57  #  0 1  #   -8.53   13.58  #

exit
</code>

<verb>
$XConsortium: S3.sgml,v 1.6 95/01/27 16:14:30 kaleb Exp $
$XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/S3.sgml,v 3.25 1995/07/24 11:17:14 dawes Exp $
</verb>
<hrule>
このファイルは xc/programs/Xserver/hw/xfree86/
doc/sgml/S3.sgml,v 3.26 1995/07/30 04:15:58 を、岡本  一幸 
( Kazuyuki Okamoto <url url="mailto:ikko-@pacific.rim.or.jp"
name="&lt;ikko-@pacific.rim.or.jp&gt;"> ) が XFree86 3.1.2 を
日本でインストールする人向けに和訳したものです。ここがおかしいとか、
ここはこうしたほうがいいといったご意見がありましたら、電子メールで
お知らせ下さい。
原文の著作権は XFree86 プロジェクト社にあります。この和訳の著作権は 
XFree86 プロジェクト社と岡本　一幸にありますが、この和訳の不具合は私に、
電子メールで送って下さい。

<verb>
$XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/Japanese/S3.sgml,v 3.4 1995/09/16 08:31:55 dawes Exp $
</verb>
<hrule>
&lsqb;EOF&rsqb;

</article>
