  ユーザ向けの情報 S3 ViRGE, ViRGE/DX, ViRGE/GX, ViRGE/GX2,
  ViRGE/MX, ViRGE/VX, Trio3D, Trio3D/2X, Savage3D, Savage4
  The XFree86 Project Inc.
  2 August 1999
  The X Japanese Documentation Project
  12 September 1999
  ____________________________________________________________

  目次


  1. サポートしているハードウェア
  2. XF86_S3V サーバ
     2.1 機能:
     2.2 既知の制限事項
     2.3 設定:
        2.3.1 カーソル:

  3. XF86_SVGA サーバ
     3.1 機能
     3.2 Savage 系チップのサポートにおける既知の制限 (s3_savage ドライバ)
     3.3 s3_virge ドライバの既知の制限
     3.4 設定
     3.5 LCD 用設定のヒント (S3 ViRGE/MX)

  4. 作者
     4.1 XF86_S3V サーバ
     4.2 XF86_SVGA ViRGE ドライバ

  5. 日本語訳について


  ______________________________________________________________________

  1.  サポートしているハードウェア

  XFree86 リリース 3.3.2 から、ViRGE 系のチップをサポートするサーバは2つ
  になりました。XF86_S3V サーバは S3 ViRGE (86C325), ViRGE/DX (86C375),
  ViRGE/GX (86C385), ViRGE/VX (86C988) チップをサポートする専用サーバで
  す。現在はこれらのサーバは使わない方がいいでしょう。既にサポートが活発
  に行われなくなったからです。

  上記の ViRGE 系チップセットは XF86_SVGA サーバでもサポートされていま
  す。このサーバには XAA アクセラレーションアーキテクチャを利用した
  ViRGE ドライバが含まれており、XFree86 3.3.6 では ViRGE/GX2 (86C357),
  ViRGE/MX (86C260), Trio3D (86C365), Trio3D/2X (86C362), Savage3D
  (86C391), Savage4 (86C396/86C397), Savage2000 チップもサポートしていま
  す。

  以降のセクションでは ViRGE のサポートについて詳しく説明します。2つのサ
  ーバについての説明があることに注意してください。XF86_S3V は ViRGE 専用
  のサーバであり、最初に作られたものです。新しいアクセラレーションアーキ
  テクチャのサポートが XF86_SVGA サーバに入っており、これが s3_virge ド
  ライバを使っています。それぞれに長所と短所があります。


  2.  XF86_S3V サーバ

  3.3.1 以降、S3V サーバは細かい点がいくつか変更されています。使ってみれ
  ば、ViRGE サーバはどの色の深さでも安定していることが分かるでしょう。こ
  のサーバは 1 bpp と 32bpp のピックスマップフォーマットをサポートしてい
  ます。この修正は、初期バージョンの S3V サーバにおいて、xanim や
  Netscape といったクライアントで起こっていた問題に対処するものです。こ
  のサーバがテストされているカードは、2MB と 4MB のDRAM を積んだ ViRGE
  カード、ViRGE/DX 4M, ViRGE/VX 8M (4M VRAM/4M DRAM), 220MHz の ViRGE/VX
  カード(1600x1200 で 8/15/16bpp まで使える 2MB VRAM を積んだもの)です。
  注意: このドライバは比較的新しいものであり、全てが期待通りに動くとは限
  りません。マシンをクラッシュさせることは無いはずですが、ビデオ表示がお
  かしくなったり、行が欠けたりすることはあるかもしれません。問題が見つか
  れば、どんなものであっても XFree86@Xfree86.org までお知らせください。
  その際には、適切なバグレポート用紙を使ってください。


  2.1.  機能:



  o  S3 ViRGE, ViRGE/DX, ViRGE/GX, ViRGE/VX ビデオアダプタの基本サポート

  o  リニアフレームバッファの使用

  o  ビデオカードのメモリによって決まる最大の解像度までの解像度を使うこ
     とができるはずです(メモリが 4M のカードでは、8/16bpp で 1600x1200,
     24/32bpp で 1280x1024)。

  o  8, 15, 16, 24, 32 bpp のピクセルを使うことができるはずです。

  o  32 bpp は 24bpp へ変換されるように実装されています。


  2.2.  既知の制限事項



  o  ViRGE/VX では 外部 RAMDAC はサポートされていません。

  o  VL バスのカードはサポートされていません。

  o  複数スクリーンモードはサポートされていません。

  o  ドライバはリニアアドレッシングでしか動作しません。

  o  24/32 bpp の場合、点線のうち簡単なもののいくつかのアクセラレーショ
     ンは実装されていますが、sloped dash や double dash は実線を使って描
     画されます。

  o  最新のチップセットはサポートされていません。

  o  もはや活発にはメンテナンスされていません。



  2.3.  設定:

  このサーバは RAM のサイズ、RAMDAC, ClockChip を自動検出します。わざわ
  ざ "Device" セクションを設定する必要はありません。"nolinear" オプショ
  ンはサポートされていません。


  2.3.1.  カーソル:



  o  デフォルトではハードウェアカーソルを使います。オプション指定は必要
     ありません。

  o  "sw_cursor" を指定すると、ソフトウェアカーソルに切り替わります。





  3.  XF86_SVGA サーバ

  XF86_SVGA の ViRGE ドライバは、Trio3D と Savage 系を含めた現在の S3
  ViRGE 系のチップセットを全てサポートしています。このドライバは XAA ア
  クセラレーションアーキテクチャを使ってアクセラレーションを行っており、
  色の深さは 8, 15, 16, 24, 32 bpp を利用できます。このドライバのテスト
  を行ったのは、2MB, 4MB の ViRGE カードのいくつか、 4MB の ViRGE/DX カ
  ード と ViRGE/VX カード、4MB の Trio3D カードです。解像度は 1600x1200
  まで使用できます。このドライバは初期リリースなので、全て期待通りに動作
  するとは限りません。Trio3D のサポートは初めてのリリースであり、テスト
  も十分でない点に注意してください。何か問題があれば、
  XFree86@Xfree86.org までお知らせください。連絡の際には適切なバグレポー
  ト用紙を使ってください。


  3.1.  機能



  o  PCI ハードウェア、ViRGE, ViRGE/DX, ViRGE/GX, ViRGE/GX2, ViRGE/MX,
     ViRGE/VX, Trio3D, Savage 系をサポートしています。

  o  8bpp, 15/16bpp, 24bpp, 32bpp をサポートしています。

  o  仮想端末切替えはうまく動作しているようです。どの色の深さでも、表示
     が乱れるという報告は受けていません。

  o  アクセラレーションはかなり良くできています(スクリーンからスクリーン
     へのコピー、長方形の塗りつぶし、CPUからスクリーンへの色展開、モノク
     ロとカラーでの 8x8 パターンによる塗りつぶし)。XAA のルーチンが最適
     化されているので、現在の色展開の速度はアクセラレーション付き  S3
     ViRGE 専用サーバよりもかなり高速です。

  o  32bpp におけるアクセラレーションは限定されています。 ScreenToScreen
     bitblit と solid rectangle だけがサポートされています。 ViRGE 自体
     に 32bpp でのアクセラレーション機能がないため、グラフィックスエンジ
     ンを 16bpp モードで使用しています。

  o  全てのモードでハードウェアカーソルがサポートされています。


  3.2.  Savage 系チップのサポートにおける既知の制限 (s3_savage ドライバ)

  Savage3D と Savage4 向けの Savage 系チップ用ドライバは、XFree86-3.3.5
  のリリースの直前に S3 が XFree86 に寄付しました。このドライバは
  XFree86 の設計の原則と目的に違反している部分がいくつかありますが、需要
  が非常に大きいので、XFree86-3.3.5 に含めることに決めました。 3.3.6 で
  はいくらか書き直しが行われ、非 BIOS モードのために昔に戻したコードが
  入っています。



  3.3.  s3_virge ドライバの既知の制限



  o  ViRGE/VX では外部 RAMDAC はサポートされていません。

  o  VL バスのカードはサポートされていません。

  o  ダブルスキャンモードはサポートされていません。

  o  このドライバはリニアアドレッシングでしか動作しません。

  o  線や多角形ではまだアクセラレーションは使えません(ただし、XAA は一部
     のアクセラレーションをサポートしています)。
  o  バーストコマンドインタフェース(BCI, Burst Command Interface)のサポ
     ートと 32bpp のサポートは、Trio3D 用には実装されていません。

  o  Trio3D サポートが動作するのは一部のモード行だけです。標準のモード行
     の多くでは動作しません(ただし、少しドットクロックを変えれば動くかも
     しれません)。以下の 2 つのモード行は 8bpp と 24bpp で安定して動作す
     るようです:

     Modeline "1024x768"  75  1024 1048 1184 1328  768  771  777  806 -hsync -vsync
     Modeline "1280x1024" 135 1280 1312 1416 1664  1024 1027 1030 1064


  以下の 2 つのモード行は 16bpp で安定して動作するようです:

  Modeline "640x480"  45.80 640 672 768 864 480 488 494 530 -hsync -vsync
  Modeline "800x600"  36      800  824  896 1024    600  601  603  625




  3.4.  設定


  ViRGE SVGA ドライバは XF86Config のオプションの多くをサポートしていま
  す。このオプションを使って、PCI の動作をチューンしたり、性能を向上させ
  ることができます。

  メモリ用のオプション:

  o  "slow_edodram" を指定すると ViRGE は2サイクルの EDO モードに切り替
     わります。ViRGE でピクセルが崩れる場合には、このオプションを試して
     ください。このオプションを使用すると、性能は大幅に悪くなります。

  o  "early_ras_precharge" と "late_ras_precharge" はメモリのタイミング
     を変更するもので、一部のカードでのピクセルが崩れる問題を解決するこ
     とができます。デフォルトの動作は BIOS が決定しますが、普通は
     "late_ras_precharge" です。

  o  "set_mclk value" は、ビデオメモリのクロックレートを 'value' に設定
     します(単位は MHz)。カードの性能はメモリのクロック数に直接比例する
     ので、このオプションで性能を向上させることができます。BIOS が行った
     カードの設定はサーバの起動時に表示されます。「安物」のカードでは S3
     のデフォルト値である 50MHz がよく使われます。メモリの方がこれより速
     いことも多く、そのようなカードでは 60 MHz や 65MHz でもうまく動作し
     ます(最近の /DX や /GX カードにはもっと速くてもよいものがありま
     す)。S3 が公式にサポートしているのは MCLK 値が 50MHz の場合だけなの
     で、XFree86 はこの仕様を越えるような使い方はお勧めしません。 ***注
     意: このオプションは "Option" キーワードより後に置いてはいけません!

  アクセラレーションとグラフィックエンジン用のオプション:


  o  "noaccel" はアクセラレーションを全て無効にします。
     "fifo_aggressive", "fifo_moderate", "fifo_conservative" は、ピクセ
     ルの FIFO が内部メモリバスを占有して、自身を塗りつぶし直すときの閾
     値の設定を変更します。この閾値を小さく取るほど、カードのアクセラレ
     ーション性能は向上します。まず最も速い設定("aggressive")を試し、ピ
     クセルが崩れるようならば遅い設定にするとよいでしょう。最適な設定を
     決めるのはたぶんドットクロック値と色の深さです。これらのオプション
     のどれかを設定すると、性能向上に繋がるような他のメモリ設定も変更さ
     れます。したがって、少なくとも "fifo_conservative" (チップのデフォ
     ルト設定を使う)を使わなければなりません。

  PCI 用オプション:


  o  "pci_burst_on" を指定すると、PCI のバーストモードが有効になります。
     このオプションは「欠陥のある」一部の PCI チップセット以外では動作す
     るはずで、性能を向上させます。

  o  "pci_retry" を指定すると、ドライバは PCI の Retry を信用して ViRGE
     のレジスタのプログラムを行うことができるようになります。このオプ
     ションを動作させるには、"pci_burst_on" は有効になっていなければなり
     ません。このオプションを使うと性能が向上します(特に小さい fill/blit
     の場合)。その理由は、ドライバがコマンドを送る前に ViRGE に問い合わ
     せを行って、コマンド実行が可能なことを確かめる必要がなくなるからで
     す。このオプションは最近のほとんどの PCI チップセットで動作するはず
     です。起こり得る副作用としては、PCI バス上での DMA 操作(例: サウン
     ドカードやフロッピードライブ)との干渉が考えられます。

  カーソル用のオプション:


  o  "hw_cursor" ハードウェアカーソルを有効にします。

  色の深さに関するオプションと制限事項:


  o  ViRGE の場合、8bpp で 80MHz 以上のクロックであるとピクセルの多重化
     が行われます。

  o  15bpp はサポートされています。サーバのオプションに "-bpp 15" を指定
     してください。

  o  24bpp は STREAMS エンジンを利用してサポートされています。

  o  32bpp でも STREAMS エンジンが使われます。しかし、ViRGE は 32bpp を
     「ネイティブ」にはサポートしていないので、アクセラレーションはかな
     り制限されています。

  o  24bpp でも 32bpp でもインタレースモードはサポートされていません。

  o  32bpp 時の画面幅は 1024 ピクセル未満に制限されています。 (十分なメ
     モリがあっても 1024x768 は使用できません。) これは ViRGE チップのハ
     ードウェア的な制限です。


  3.5.  LCD 用設定のヒント (S3 ViRGE/MX)

  LCD がアクティブならば、CRT 出力は常に 1024x768 (または、LCD の「物理
  的」サイズ)で行われます。画面の小さいモードの場合は、デバイスのセク
  ションでオプション "lcd_center" を指定しない限り、LCD に収まるようにズ
  ーム表示が行われます。

  この物理サイズ(例: 1024x768)のモードに対応するピクセルクロック値につい
  ては、以下のことが成り立ちます。

  o  ピクセルクロック値は、設定ファイル(のデバイスのセクション)で、例え
     ば `Set_LCDClk 70' のように明示的に指定できます。(この結果、LCD が
     有効の時には全てのモードにおいてピクセルクロック値が 70 MHz になり
     ます。)

  o  このモードにおけるディスプレイのサイズが物理的な LCD のサイズと同じ
     ならば、ピクセルクロック値はモード行の「最初の」モードから取得され
     ます。

  o  BIOS の初期化によるデフォルトの LCD ピクセルクロック値が使われま
     す。`Set_LCDClk ...' を用いて値を指定しなければ、この値はサーバの起
     動時に `LCD size ...' という行に出力されます。

  LCD がアクティブで「ない」場合には、通常のモード行とピクセルクロック値
  が VGA 出力に使われます。
  Fn-F5 等を使って出力ソースを切替えると、X サーバはピクセルクロックを知
  らされず、ピクセルクロックや他の設定はおかしくなります。したがって、出
  力ソースを切替えた「後」にモードを切替えなければなりません。そうすれ
  ば、 X サーバはどの出力がアクティブかをチェックし、適切なクロック値等
  を選択します。よって、出力を切替えるためのお勧めのキーシーケンスは次の
  ようになります:

  Fn-F5  Ctrl-Alt-Plus  Ctrl-Alt-Minus

  これで全てうまくいくはずです。

  東芝のノートPC のキーボードでは、まず Ctrl-Alt を押した状態にしてお
  き、 Plus/Minus を押す前にさらに `Fn' を押します。これにより、モード切
  替えのたびにいちいちキーボードの数値部分を有効または無効にすることが避
  けられます。


  4.  作者



  4.1.  XF86_S3V サーバ

  Harald Koenig <koenig@tat.physik.uni-tuebingen.de>


  および


  o  Kevin Brosius Cobra@compuserve.com

  o  Berry Dijk berry_dijk@tasking.nl

  o  Dirk Hohndel hohndel@XFree86.Org

  o  Huver Hu huver@amgraf.com

  o  Dirk Vangestel gesteld@sh.bel.alcatel.be


  4.2.  XF86_SVGA ViRGE ドライバ


  Sebastien Marineau <marineau@genie.uottawa.ca>

  および


  o  Harald Koenig <koenig@tat.physik.uni-tuebingen.de>

  o  Kevin Brosius Cobra@compuserve.com

  o  Sebastian Kloska kloska@mpimp-golm.mpg.de

  o  Alok Ladsariya alok@XFree86.Org

  o  Dirk Hohndel hohndel@XFree86.Org


  $XFree86: xc/programs/Xserver/hw/xfree86/doc/Japanese/README.S3V,v 1.1.2.3 1999/12/28 12:13:49 hohndel Exp $






  5.  日本語訳について

  日本語訳は X Japanese Documentation Project が行いました (翻訳: 藤原輝
  嘉 <fujiwara@linux.or.jp> <mailto:fujiwara@linux.or.jp>, 校正: 金田浩
  司  <vanitas@ma3.seikyou.ne.jp> <mailto:vanitas@ma3.seikyou.ne.jp>)。
  問題点の指摘やご意見は藤原まで御連絡ください。原文の著作権は XFree86
  プロジェクト社にあり、日本語訳の著作権は X Japanese Documentation
  Project にあります。
