S3 製チップセットユーザ向けの情報 The XFree86 Project Inc. 27 February 1998 The X Japanese Documentation Project 18 January 1999 ____________________________________________________________ 目次 1. サポートしているハードウェア 2. 16bpp と 32bpp 3. サポートしているクロックチップの一覧 4. サポートしている RAMDAC チップの一覧 5. 追加の注意事項 6. IBM RGB 5xx RAMDAC の参照クロック値 7. LCD 設定のヒント(S3 Aurora64V+) 8. グラフィック操作時に``雪が降る'' 現象の回避方法 9. 新しい S3 SVGA ドライバ 10. 日本語訳について ______________________________________________________________________ 1. サポートしているハードウェア 現行の S3 サーバは次のチップセットをサポートしています: 911, 924, 801/805, 928, 732 (Trio32), 764 (Trio64), 765, 775, 785(Trio64*), 864, 868, 964, 968, M65(Aurora64V+)。S3サーバは 866 も認識しますが、この チップセットはまだテストしてません。これらのチップセットで何か問題が あったりうまく動作すれば、そのことを我々に報告してください。 しかし、これらのチップセットを搭載しているビデオボード全てについてのサ ポートが十分なわけではありません。動作確認をしたビデオボードに関するデ ータを以下のリストに示します。読者の皆さんがお持ちのカードに似たカード がリストの中にある場合は、そのカードも動作する可能性があります。 S3 801/805, AT&T 20C490 (または類似の) RAMDAC o Orchid Fahrenheit 1280+ VLB o Actix GE32 8, 15/16 bpp 注意: 純正の AT&T20C490 RAMDAC はサーバが自動的に検出するはずで す。互換チップセットの場合は XF86Config に `Ramdac "att20c490"' と明記してください。 純正の AT&T 20C490 と 20C491 RAMDAC は "dac_8_bit" オプション付 きで動作します。(Winbond 82C490 等)一部の互換ボー Orchid Fahrenheit 1280+ VLB には `Option "nolinear"' が必要かも しれません。 S3 805 VLB, S3 GENDAC (RAMDAC + クロックシンセサイザー) o MIRO 10SD (VLB 版と PCI 版が利用可能) 全ての10SD が S3 GENDAC を 搭載しているかどうかはわかりません。 8 と 15/16 bpp が利用可能です。 ClockChip "s3gendac" RamDac "s3gendac" S3 801/805, AT&T 20C490 RAMDAC, ICD2061A クロックチップ o STB PowerGraph X.24 S3 (ISA) 8 と 15/16 bpp が利用可能です。 注意: 純正の AT&T20C490 RAMDAC はサーバが自動認識します。互換 チップセットの場合は XF86Config に `Ramdac "att20c490"'と明記す る必要があります。 ClockChip "icd2061a" RamDac "att20c490" Option "dac_8_bit S3 805, Diamond SS2410 RAMDAC, ICD2061A クロックチップ o Diamond Stealth 24 VLB 8 と 15bpp(*) のみが利用可能です。 `Option "nolinear"' というオプションが必要です。 (*) SS2410 RAMDAC は 15 bpp モードでは AT&T20C490 と互換性がある ことが報告されています。このチップをサーバに AT&T20C490 として扱 わせるには、XF86Config に `Ramdac "att20c490"' と書く必要があり ます。 S3 801/805, Chrontel 8391 クロックチップ/RAMDAC o JAX 8241 o SPEA Mirage 8 と 15/16 bpp が利用可能です。 8391 は AT&T 20C490 RAMDAC と互換性があります。 ClockChip "ch8391" Ramdac "ch8391" Option "dac_8_bit" S3 928, AT&T 20C490 RAMDAC o Actix Ultra 8 bpp と 15/16 bpp が利用可能です。 注意: 純正の AT&T20C490 RAMDAC はサーバが自動認識します。互換 チップセットの場合は XF86Config に `Ramdac "att20c490"'と明記す る必要があります。また、サーバの RAMDAC 検出は互換ボードの一部で 問題を起こすため、 RamDac を設定して RamDac 検出を回避しなければ ならないことが報告されています。 純正の AT&T 20C490 と 20C491 RAMDAC は "dac_8_bit" というオプ ションで動作します。(Winbond 82C490 のような)一部のクローンは、 このオプションでは動作しません。 S3 928, Sierra SC15025 RAMDAC, ICD2061A クロックチップ o ELSA Winner 1000 ISA/EISA (``TwinBus'' であって、 Winner1000ISAではありません!) o ELSA Winner 1000 VL 8, 15/16 と 24(32) bpp が利用可能です。 8bpp では 8ビット/ピクセル RGB をサポートし、15/16bpp モードと 24bpp モードではガンマ補正をサポートします。 クロックが 30 MHz の限界近くである場合に、 24 bpp では ``雪が 降ったように'' なるかもしれません。これは危険ではないと考えられ ていますが、24bpp の使い勝手を悪くしています。 D-ステップ(以降の)チップでは、画面幅を 1152 ドットで使うことはで きないので、1 MB のボードで最も有効なモードは 1088x800x8 です(2 MB の場合は同様に 1088x800x16 です)。 ClockChip "icd2061a" S3 928, Bt9485 RAMDAC, ICD2061A クロックチップ o STB Pegasus VL 8, 15/16 と 24(32) bpp が利用可能です。 "sync_on_green" オプションが指定されていて、かつ BNC コネクタに 出力するようにボード上のジャンパスイッチが設定されている場合、同 期信号をグリーン信号に乗せた RGB 出力がサポートされます。 現在、VLB リニアアドレッシングはアドレス 0x7FCxxxxx で起こります ので、64MB 以上メインメモリがあってもリニアフレームバッファを使 うことができます。 ClockChip "icd2061a" Option "stb_pegasus" S3 928, Bt485 RAMDAC, SC11412 クロックチップ o SPEA Mercury 2MB VL 8, 15/16, 24(32) bpp が利用可能です。 ClockChip "SC11412" Option "SPEA_Mercury" S3 928, Bt485 RAMDAC, ICD2061A クロックチップ o #9 GXE Level 10, 11, 12 8, 15/16, 24(32) bpp が利用可能です。 ClockChip "icd2061a" Option "number_nine" S3 928, Ti3020 RAMDAC, ICD2061A クロックチップ o #9 GXE Level 14, 16 8, 15/16, 24(32) bpp が利用可能です。 同期信号をグリーン信号に乗せた RGB 出力をサポートします。 ClockChip "icd2061a" Option "number_nine" S3 864, AT&T20C498, ICS2494 クロックチップ o MIRO 20SD (BIOS 1.xx) ICS2494 は固定周波数のクロックチップでは、(XF86Config ファイルに Clocks 行を書かずに) X -probeonly を実行して正しいクロック値を取 得しなければなりません。 8, 15/16, 24(32) bpp が利用可能です。 S3 864, AT&T20C498, STG1700 RAMDAC と ICD2061A, ICS9161 クロック チップ o Elsa Winner1000PRO VLB o Elsa Winner1000PRO PCI o MIRO 20SD (BIOS 2.xx) o Actix GraphicsENGINE 64 VLB/2MB 8, 15/16, 24(32) bpp が利用可能です。 ClockChip "icd2061a" S3 864, 20C498, 21C498 RAMDAC と ICS2595 チップセット o SPEA MirageP64 2MB DRAM (BIOS 3.xx) 8, 15/16 と 24(32) bpp が利用可能です。 このクロックチップのサポートは未だ不完全で、一部のマシン上では XF86_S3 起動時の初期画面、または仮想端末(VT)から戻った直後の画面 で問題が起こりますが、 CTRL+ALT+``KP+'' で次のモードに切り替え、 また元のモードに戻ると問題が解決するようです。 インタレースモードは正しく動作しません。 BIOS のバージョンが 4.xx の Mirage P64 は S3 SDAC を使用していま す。 ClockChip "ics2595" S3 864, S3 86C716 SDAC RAMDAC とクロックチップ o Elsa Winner1000PRO o MIRO 20SD (BIOS 3.xx) o SPEA MirageP64 2MB DRAM (BIOS 4.xx) o Diamond Stealth 64 DRAM 8, 15/16 と 24 bpp が利用可能です。 S3 864, ICS5342 RAMDAC とクロックチップ o Diamond Stealth 64 DRAM (一部のカードのみ) 8, 15/16 と 24 bpp が利用可能です。 ClockChip "ics5342" Ramdac "ics5342" S3 864, AT&T21C498-13 RAMDAC, ICD2061A クロックチップ o #9 GXE64 - PCI 8, 15/16, 24(32) bpp が利用可能です。 ClockChip "icd2061a" Option "number_nine" S3 964, AT&T 20C505 RAMDAC, ICD2061A クロックチップ o Miro Crystal 20SV 8, 15/16, 24(32) bpp が利用可能です。 ClockChip "icd2061a" Ramdac "att20c505" S3 964, Bt485 RAMDAC, ICD2061A クロックチップ o Diamond Stealth 64 8, 15/16, 24(32) bpp が利用可能です。 ClockChip "icd2061a" S3 964, Bt9485, AT&T 20C505 RAMDAC と ICS9161a クロックチップ o SPEA Mercury 64 8, 15/16, 24(32) bpp が利用可能です。 ClockChip "ics9161a" Option "SPEA_Mercury" S3 964, Ti3020 RAMDAC, ICD2061A クロックチップ o Elsa Winner2000PRO PCI 8, 15/16, 24(32) bpp が利用可能です。 ClockChip "icd2061a" S3 964, Ti3025 RAMDAC, Ti3025 クロックチップ o Miro Crystal 40SV o #9 GXE64 Pro VLB o #9 GXE64 Pro PCI 8 bpp, 15, 16 と 24(32) bpp が利用可能です。 GXE64 Pro のサポートには一部問題があることが分かっています。 15/16/24 bpp では画像が偏ったり/回り込んだりします。 #9 は GXE64 Pro での 1600x1200 モードをもはやサポートしないこと がわかっています。しかし #9 は、 GXE64 Pro で使われていた 135MHz の RAMDAC を 220MHz の RAMDAC に置き換えた、 GXE64Pro-1600 と呼ばれる新しい(そしてより高価な)ボードを開発して います。 S3 764 (Trio64) o SPEA Mirage P64 (BIOS 5.xx) o Diamond Stealth 64 DRAM o #9 GXE64 Trio64 8/15/16/24 bpp が利用可能です。 注意: Trio64 は RAMDAC と クロックチップを内蔵しているので、サー バはどの Trio64 カードでも動作するでしょう。また、 XF86Config ファイルで RAMDAC と クロックチップを指定する必要はありません。 S3 732 (Trio32) o Diamond Stealth 64 DRAM SE 8/15/16/24 bpp が利用可能です。 注意: Trio32 は RAMDAC と クロックチップを内蔵しているので、サー バは全ての Trio32 カードで動作するでしょう。また、 XF86Config ファイルで RAMDAC と クロックチップを指定する必要はありません。 S3 868, S3 86C716 SDAC RAMDAC と クロックチップ o ELSA Winner 1000AVI o Diamond Stealth Video DRAM 8/15/16/24 bpp が利用可能です。 S3 868, AT&T 20C409 RAMDAC と クロックチップ o ELSA Winner 1000AVI 8/15/16/24 bpp が利用可能です。 注意: ピクセル多重化はまだサポートしていません。従って 8bpp での 最大ドットクロックは制限されています。(現在は 67.5MHz ですが、リ リースより前にピクセル多重化が固定されなければ、この値は 100MHz に変更されるでしょう。) S3 968, Ti3026 RAMDAC, Ti3026 クロックチップ o Elsa Winner 2000PRO/X-2, /X-4 (リビジョンが F 以前) o Elsa Winner 2000AVI-2, -4 o Diamond Stealth 64 VIDEO VRAM 8/15/16/24 bpp が利用可能です。 S3 968, Ti3026 RAMDAC, ICS9161A クロックチップ o Elsa Winner 2000PRO/X-2 and /X-4 (リビジョン G) 8/15/16/24 bpp が利用可能です。 注意: 倍速クロック機能はまだ動作していません。したがって、利用で きる最大ドットクロックは 120MHz 程度に制限されています。 S3 964, IBM RGB 514/524/525/528 RAMDAC & クロックチップ o Hercules Graphics Terminator 64 8/15/16/24 bpp が利用可能です。 s3RefClk 50 DACspeed 170 Option "slow_vram" S3 968, IBM RGB 514/524/525/528 RAMDAC & クロックチップ o Genoa Genoa VideoBlitz III AV s3RefClk 50 DACspeed 170 o Hercules Graphics Terminator Pro 64 s3RefClk 16 DACspeed 220 このカードの場合、Display サブセクションそれぞれにおいて、次の行を 指定する必要があるかもしれません: Invert_VCLK "*" 0 o STB Velocity 64 s3RefClk 24 DACspeed 220 o Number Nine FX Motion 771 s3RefClk 16 DACspeed 220 このカードの場合、Display サブセクションそれぞれにおいて、次の行を 指定する必要があるかもしれません: Invert_VCLK "*" 0 o MIRO 80SV s3RefClk 16 DACspeed 250 8/15/16/24 bpp が利用可能です。 ELSA Winner 2000PRO/X-8 (S3 968, 8MB VRAM, 32bpp 時に 220MHz) サーバのテストは、このカードの "リビジョン C" だけで行っていま す。(シリアル番号は C から始まるはずだと思うのですが、これは確か ではありません。というのも、筆者のカードのシリアル番号は A-0000.000.000 だからです。これには IBM RGB528A が載っており、A と書かれていますが、自動検出はできません。 モード行等に依存して、以下のようなディスプレイの歪みが起こること があります: 1. 長い水平線/縞模様が多数出る。 2. 画面全域で、ピクセルがちらついたり、雪のような短い横縞が出 る。 3. 上記と似ていますが、これがグラフィック操作(ウィンドウの opaque move 操作等)の時だけ発生する。 4. ディスプレイの左端に余計なピクセルが表示され、右端のピクセル が一部欠けている。 これらの問題は全て、モード行を少し調整することで修正できます (`xvidtune' を実行して対話的に調整するのが最も良いでしょう)。例 えば、最初の 3 つの問題に対しては、ディスプレイ画像を左か右に数 ドットずらしてみましょう。最後の問題の場合は、HSyncEnd 値を増や す(水平同期の周期を長くする)と解決するでしょう。場合によっては、 水平同期周期を特に長く取る必要があり、ごく稀に(HSyncEnd 値を減ら すことにより)水平同期周期を短くする必要があります。 稀に、InvertVCLK や EarlySC (片方あるいは両方)を調整し、その後に BlankDelay を調整する必要があることがあります(xvidtune の一番下 の行を見てください。)。 これらの問題のうちのいずれかに出会った場合は、 koenig@XFree86.org まで連絡し、以下の項目について詳細をお知らせ ください: o 問題が発生した元々のモード。 o xvidtune 最下行のすべてのフラグを含む、調整/修正したモード。 o 調整したモード行で使用している色の深さ。 o サーバの起動時の出力全て。 2. 16bpp と 32bpp (Fahrenheit 1280+ VLB 等) 801/805 + AT&T490 のカードでは、15 bpp と 16bpp のみサポートしています。この型のカードでは 32bpp を使用できませ ん。 (MS Windows では 24 ビットモードがありますが、これは 32bpp の sparse モードではなく、本当に 3 バイト/ピクセルを用いたモードです。) 3. サポートしているクロックチップの一覧 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" AT&T 20C409 ==> ClockChip "att20c409" AT&T 20C499 (未テスト) ==> ClockChip "att20c499" 4. サポートしている RAMDAC チップの一覧 この一覧に載っていない RAMDAC を持っている場合は、XF86_S3 を使用する際 に RAMDAC の周波数を上げ過ぎないように特に注意してください。まず最初に XFree86 チームに連絡を取り、XF86_S3 を実行してもボードが壊れないことを 確認するとよいでしょう。 以下のリスト中では、同じグループに入っている RAMDAC はサーバから見る限 り互いに互換のものとして扱われます。例えば、RAMDAC "bt9485" を実際に指 定するとサーバは "bt485" と報告しますし、 RAMDAC "ics5300" を指定する と "s3_gendac" と報告します。 ATT20C409 ==> RAMDAC "att20c409" ATT20C490 ==> RAMDAC "att20c490" ATT20C491 ==> RAMDAC "att20c491" CH8391 ==> RAMDAC "ch8391" ATT20C498 ==> RAMDAC "att20c498" ATT21C498 ==> RAMDAC "att21c498" ATT22C498 ==> RAMDAC "att22c498" ATT20C505 ==> RAMDAC "att20c505" BT485 ==> RAMDAC "bt485" BT9485 ==> RAMDAC "bt9485" IBMRGB514 ==> RAMDAC "ibm_rgb514" IBMRGB525 ==> RAMDAC "ibm_rgb525" IBMRGB524 ==> RAMDAC "ibm_rgb524" IBMRGB526 ==> RAMDAC "ibm_rgb526" IBMRGB528 ==> RAMDAC "ibm_rgb528" S3_GENDAC ==> RAMDAC "s3gendac" ICS5300 ==> RAMDAC "ics5300" S3_SDAC ==> RAMDAC "s3_sdac" ICS5342 ==> RAMDAC "ics5342" S3_TRIO32 ==> RAMDAC "s3_trio32" S3_TRIO64 ==> RAMDAC "s3_trio64" S3_TRIO64 ==> RAMDAC "s3_trio" SC11482 ==> RAMDAC "sc11482" SC11483 ==> RAMDAC "sc11483" SC11484 ==> RAMDAC "sc11484" SC11485 ==> RAMDAC "sc11485" SC11487 ==> RAMDAC "sc11487" SC11489 ==> RAMDAC "sc11489" SC15025 ==> RAMDAC "sc15025" STG1700 ==> RAMDAC "stg1700" STG1703 ==> RAMDAC "stg1703" TI3020 ==> RAMDAC "ti3020" TI3025 ==> RAMDAC "ti3025" TI3026 ==> RAMDAC "ti3026" 上記以外のもの全て ==> RAMDAC "normal" 危ないと感じるならば、コンピュータの蓋を開けて RAMDAC を覗いてみましょ う。RAMDAC は普通ビデオボード上で大きいチップのどれかです(2 番目か 3 番目に大きいチップで、「EPROM ではない」ものです)。通常、そこには次の ように書かれています。 <会社のロゴ> <会社の識別子><部品番号>-<動作周波数> <製造週><製造年> <ロット番号><その他の意味不明な数字> 例えば: @@ @@ AT&T ATT20C490-11 9339S ES 9869874 これは動作周波数 110 MHz の AT&T 20C490 です。この場合には、 XF86Config ファイル に `DacSpeed 110' と記入することになります。RAMDAC によっては、モードごとに周波数の上限が異なる点に注意しましょう。製造会 社がチップに付ける刻印は間違いなく高い方の上限値なので、十分注意してく ださい。DacSpeed さえ正しく指定すれば、S3 サーバはほとんどの RAMDAC の 上限値の扱い方がわかります。 チップに -80 または -8 というラベルが付いていたら、Device セクションに `DacSpeed 80' と指定しなければなりません。 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 ^^ 5. 追加の注意事項 自動検出をすると、Sierra SC1148{5,7,9} は Sierra SC1148{2,3,4} と区別 されない点に注意してください。サーバから見た 2 つの系列の唯一の違い は、 {2,3,4} は 15bpp の機能を持ち、{5,7,9} は 16bpp の機能を持つ点で す。したがって、SC1148{5,7,9} を使っており、かつ 15bpp でなく 16bpp を 使いたい場合には、先に説明したように RAMDAC "sc11485" を指定しなければ なりません。 (Ti3025 のような)一部の RAMDAC では、モードのタイミングを考慮しないと ハードウェアカーソルが正しく動作しません。Ti3025 では、少なくとも 80 ピクセルクロック周期の余裕をモードに対して必要とします。設定が良くない ときは、画面の右端近くにハードウェアカーソルを近付けるとカーソルが欠け てしまうという症状が出ます。 6. IBM RGB 5xx RAMDAC の参照クロック値 IBM RGB5xx RAMDAC を搭載しているカードは、クロックシンセサイザ用にいく つかの異なる入力周波数を使用します。この周波数は、テキストモードのク ロックに関する情報を与えてやらないと自動検出することができません(標準 でないテキストモードを使っていると、誤った値を想定するかもしれませ ん)。入力周波数を探すために使うべき手順を以下に示します: まず次のコマンドを実行します: X -probeonly >& outfile そして、クロックチップの検出結果を調べます。これは次のようになると思い ます: (--) S3: Using IBM RGB52x programmable clock (MCLK 66.000 MHz) (--) S3: with refclock 16.000 MHz (probed 15.952 & 16.041) ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ここには、利用できる「良い予想」値と、25MHz と 28MHz のテキストクロッ ク値に基づく、括弧内に表示されている検出された(probed) 2 つの値があり ます。この自動検出が動作するのは、通常の 80x25 または 80x28 のテキスト モードで実行しているときだけです! 現在分かっている参照周波数の値は次のようになります: 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 これらの値はカードの水晶発振子に依存し、また Genoa カードに搭載されて いる(14.3 MHz の水晶発振子の)追加クロックチップのような他の機能にもた ぶん依存します。 持っているのは クロックが 16MHz のカードなのに、実際には 50MHz で使わ れている場合、全てのピクセルクロックはカードの周波数の 3 倍になり、 25MHz の 640x480 モードでは 75MHz のピクセルクロックが使われます。した がって、よく注意してください。 正しい参照周波数が見つかったら、この値を設定ファイル(の Device セク ションに)に設定します。以下に例を示します: s3RefClk 16 または s3RefClk 50 こうすると、他のテキストモードを使用しており、自動検出に失敗した場合で も、この値が使われてしまいます! 7. LCD 設定のヒント(S3 Aurora64V+) LCD がアクティブならば、CRT 出力は必ず 1024x768(あるいは「物理的な」 LCD のサイズ)となり、これより小さいモードの出力は拡大されて LCD のサイ ズに合わせられます。ただし、Device セクションで Option "lcd_center" を 指定した場合はその限りではありません。 この物理サイズ(例: 1024x768)モードに対するピクセルクロック値は以下のよ うになります: o このピクセルクロック値は、`Set_LCDClk 70' 等を使って設定ファイル (の Device セクション)で明示的に設定することができます。(ピクセルク ロック値は 70MHz となり、この値は LCD がオンの時は全てのモードに対 して使われます。) o このモードのディスプレイサイズが物理的な LCD のサイズと同じであれ ば、ピクセルクロック値は、モード行の「最初の」モードから取得されま す。 o BIOS 初期化設定のデフォルトの LCD ピクセルクロック値が使用されま す。`Set_LCDClk ...' を用いて値を指定していなければ、この値はサーバ 起動時に `LCD size ...' という行に出力されます。 LCD がアクティブで「ない」場合、通常のモード行とピクセルクロック値が VGA 出力に対して用いられます。 Fn-F5 で出力先を切替えても、X サーバはそのことが分からず、ピクセルク ロック値や他の設定が間違った状態になってしまいます。ですから、出力先を 切替えた「後」にモードの切替えを行う必要があります。そうすると、サーバ はどちらの出力先がアクティブかをチェックし、正しいクロック値などを選択 します。したがって、出力先を切替えるお勧めのキーシーケンスは次のように なります: Fn-F5 Ctrl-Alt-Plus Ctrl-Alt-Minus これできっとうまく行くでしょう。 東芝のノート PC のキーボードでは、まず Ctrl-Alt を押しておき、これに加 えて `Fn' も押し、その後で Plus/Minus を押すとよいでしょう。こうするこ とにより、モード切替えの時に数値キーを明示的に有効/無効にする必要がな くなります。 8. グラフィック操作時に``雪が降る'' 現象の回避方法 S3 Vision864 チップ搭載のカードでは、S3 チップの動作時に、ピクセルク ロックとメモリクロック値 MCLK に依存した、自動訂正機能があります。ほと んどのクロックチップでは、この値を読み出すことはできないので(今のとこ ろ S3 SDAC だけで MLCK 値を読み出せます)、この値は推定するかユーザーが 指定しなければなりません(デフォルト値は 60 [MHz])。 XF86Config ファイル用の新しい `s3MCLK' エントリを使って、次の例のよう な指定ができます: s3MCLK 55 このように MCLK に 55 MHz を設定すると雪の量が減るでしょう。ただし、 MCLK の値を小さくすると性能が少し落ちるので、低すぎる値は使用しないで ください(大抵の場合は、きっと 55 か 50 で良いでしょう)。 以下に示すのは、MLCK の概算値(+/- 1〜2 MHz 程度の誤差があります)を決め る際に便利な短いシェルスクリプトです。このスクリプトを実行する前に次の 行を XF86Config ファイルの Device セクションに追加し X ウィンドウを再 起動する必要があります: s3MNadjust -31 255 このオプション(テストとデバッグ専用です)を使うと、画面がちらついたり雪 が降ったりして悲惨なことになるので、以下のテスト用スクリプトを実行した らすぐにこのオプションを取り除かなければなりません。 このスクリプトを実行すると、xbench や x11perf が実行され、MLCK 値を決 めるためのテストが実行されます。この結果は MHz 単位で表示されます。4 つのテストが実行されるので、推定値は 4 つまで得られます(最初の値が最も 正確でしょう)。 ______________________________________________________________________ #!/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 ______________________________________________________________________ 9. 新しい S3 SVGA ドライバ XF86_SVGA サーバには、ViRGE S3 でないチップセット用の実験的な新しい S3 ドライバがあります。このドライバの質は本当にアルファ版程度で、テストも 十分ではなく、問題もいくつか明らかになっています。そのため、設定プログ ラムはこちらのサーバではなく、XF86_S3 サーバをインストールするように なっています。しかし、冒険好きな人や XF86_S3 で問題に出会った人はこの ドライバを試してもよいかもしれません。 このドライバには汎用 S3 サポートが含まれており、ViRGE S3 でないチップ 全てで(理屈の上では)動作するはずです。このドライバでは、S3 の新しい形 式のメモリマップト I/O に対応しているチップのサポートが改良されていま す。そのチップには 868, 968, 最近の Trio64 系チップ(古い無印 Trio64 は 除く)が含まれます。新しいスタイルのメモリマップト I/O を使う機能を持っ ているチップは自動的にこの機能を用います。オプション "NO_MMIO" を使う と、この機能を無効にすることができます。 新しい形式のメモリマップト I/O を使うチップの性能は、(特に PCI バスの 場合)XF86_S3 よりも良いことが期待できます。しかし、メモリマップト I/O を使わない時の性能は、XF86_S3 とだいたい同じくらいと考えられます(速い 分野もありますし、遅い分野もあります)。 XF86_S3 で利用可能な色の深さは全て、このドライバでも使うことができるは ずです。加えて、868 と 968 では packed 24bpp も「まあまあ」動作しま す。結果はやってみなければわかりません。 XF86_S3 がサポートしているほとんど全てのオプションと機能は、このドライ バでもサポートしています。加えて、XAA/SVGA サーバ標準オプション (NO_ACCEL, SW_CURSOR, NO_PIXMAP_CACHE 等)もサポートしています。このド ライバがサポートしていない XF86_S3 の機能は、DPMS サポートとガンマ補正 です。 メモリマップト I/O と PCI カードを使っている時は、ドライバは PCI_RETRY オプションをサポートします。このオプションを使うと一部の操作の性能が大 幅に向上しますが、バスの帯域が食い潰されやすくなります。この理由によ り、このオプションはデフォルトでは設定されていません。大抵のハードウェ ア構成では、このオプションが問題を起こすことはありませんが、一部のハー ドウェアでは激しいグラフィック操作を行うとサウンドカードが不調になると いう報告があります。 このドライバには 1つ致命的な欠点があります。使用メモリを間違って報告す る一部の S3 製 PCI BIOS に対処する方法をドライバが持っていないのです。 この問題はアドレス空間の衝突を起こすことがあります。読者の皆さんのハー ドウェアでこの問題に出会ったら、一度 XF86_S3 サーバを実行し、カードが 再配置された先のアドレスを(サーバが出力したように)記録してください。そ れから XF86Config の MemBase フィールドを使って、サーバがこのアドレス を使うように指定します(オンラインマニュアルの XF86Config を参照してく ださい)。 $XFree86: xc/programs/Xserver/hw/xfree86/doc/Japanese/README.S3,v 3.4.2.3 1999/11/26 15:23:11 hohndel Exp $ $XConsortium: S3.sgml /main/14 1996/02/21 17:45:58 kaleb $ 10. 日本語訳について 日本語訳は X Japanese Documentation Project が行いました( 翻訳(XFree86 3.3): 岡本一幸( , 更新(XFree86 3.3.3): 藤原輝嘉 , 校正: 山下純司 )。問題点の 指摘やご意見は藤原まで御連絡ください。原文の著作権は XFree86 プロジェ クト社にあり、日本語訳に関する権利は X Japanese Documentation Project にあります。