サーバのバイナリにリニアアドレッシングのサポートを入れたければ、 xf86site.def ファイルに
#define HasSVR3mmapDrv YESという行を定義しなければなりません。 システムには mmap-2.2.3 ドライバがインストールされている必要があります。 mmap-2.2.3 がインストールされていなければ、
xc/programs/Xserver/hw/xfree86/etc/mmapSVR3.sharまたは
/usr/X11R6/lib/X11/etc/mmapSVR3.sharファイル内にあるドライバのソースを利用できます。ドライバの構築とインス トールは説明されている手順通りに行ってください。リニアアドレッシングを 有効にして X11R6/XFree86 ソースツリーの構築を行うには、 /usr/include/sys/mmap.h ファイルが必要です。
フレームバッファのリニアアドレスマッピングを使うためには、 Thomas Wolfram さんが作成した mmap ドライバ(バージョン 2.2.3)をカーネ ルにインストールする必要があります。このドライバを既にインストールして いる場合には、ほとんどのサーバはデフォルトでリニアアドレッシングを使う でしょう。そうでないサーバの場合には、XF86Config ファイルで
Option "linear"を指定する必要があるかもしれません。詳しくは適切なオンラインマニュアル を参照してください。また、XF86Config で MemBase を指定する必要もあるか もしれません。使い方については、カードやサーバに関する適切な README ファイルを参照してください。 リニアアドレスが有効でなければ、P9000 サーバは全く動作しないだろうとい う点に注意してください。
筆者がリニアアドレッシングに関するテストを行ったのは以下のカードだけで す。
メインメモリを 32MB 積んだマシンでは使うことができませんでした。アドレ ス空間に対して色々なマッピングを行うテストでは、グラフィックスが全く表 示されなかったり、マシンがいきなりリブートするという結果になりました。
32MB のメインメモリを積んだマシンで、カードのメモリを MemBase 0x07c00000 にマップすることができました。ほとんどのクライアントが動作 しましたが、それは Motif 1.1.1 の InputField ウィジェット(Mosaic-2.4 や xplan のような Motif 1.1.1 クライアントで使われています)をアクティ ブにしようとするまででした。これにより、X サーバがクラッシュしてしまい ました。
!!! しかし、この問題は回避することができます。!!!.Xdefaults ファイルに
*blinkRate: 0 *cursorPositionVisible: falseという記述を加えてください。 このバグは 3.1.2 以降では修正されているようなので、この回避方法はもは や必要でなくなりました。
このカードで問題が起こった場合は、"newmmio" ではなく古いチップセットの ドライバを試すと良いでしょう。
XF86Config ファイルに
Chipset "mmio_928"という宣言があれば、重ねて安心でしょう。
筆者は、最新の XF86_S3 を使っていて問題に出会ったことはありません。