XFree86
PC-UNIXの世界においてGUI環境はXFree86が定番となっております。
ここではATI Rage128系のグラフィックチップに関する設定を述べます。
Rage128はそれまでのMach64サーバで対応しないため、XFree66-3.3.5までは
Accelerated-Xのお世話になる必要がありました。しかし、FreeBSDにおいては
ELF化の遅れ、fxtvでオーバーレイ表示ができないなどの問題がありました。
XFree86-3.3.6
このバージョンからRage128にSVGAサーバで正式に対応しました。
しかし、私の環境では hw_cursorやテキストスクロールで問題が発生
しました。XFree86-4.0.1のr128ドライバを参考にして修正したのが
r128.tar.gz (45kB) です。
xc/programs/Xserver/hw/xfree86/vga256/drivers/r128 を入れ替え、
make Worldまたは、
make Makefiles; make includes; make all
を実行すれば新しいXF86_SVGAができます。
Rage128Pro への対応は挫折しました。
自宅のマシンは既に Rage128Pro + XFree86-4.0.1 に移行してしまったので
3.3.6のサポートはあまりできません。
XFree86-4.0.1
Rage128系に関してはこちらのほうが対応が進み、パフォーマンスも大幅
に向上しています。Rage128Proにも対応しています。
しかし全体的には3.3.6程は枯れてなく、私のところでは
・仮想コンソール切り替えから復帰後、マウスとの通信が切れる
・fxtvでフルスクリーンにしようとするとマウスとの通信が切れる
・Gtkのtextboxで文字幅とカーソル位置がずれる
といった問題を確認しています。マウスは若干不安定です。
Xvideo
4.0系列からXサーバの拡張機能として、ビデオキャプチャー機能が一部
サポートできるようになりました。
GATOSプロジェクトでRage
Theatreによるビデオ機能のサポートが進められて
います。最新版はここにあります。ドライバモジュールは共通に使えるよう
になっていますから、/usr/X11R6/lib/modules/drivers/r128_drv.o をLinuxでつくられ
たr128_drv.o に入れ替えるだけで問題なく動作します。
当然自前でコンパイルできますが、その場合 xc/config/cf/FreeBSD.cfで
#define BuildXF86DRI YES
となっている必要があります。
この機能はドライバアーカイブに付属のmpeg2playやXawtvで使えます。
XFree86-4.0.2
unicode関係で開発者間で紛争があるようですが、4.0.1に比べでフォント幅と
カーソルのバグがfixされています。マウスのトラブルは相変わらず・・・
r128ドライバはatiドライバとsource treeで同じdirectoryになり、Xvideoが大幅に
向上したようです。
GATOSプロジェクトはここに移転し、4.0.2用のドライバati.2の開発が進んで
います。4.0.1から大幅に書き換えられて、theatre chipドライバなどが
モジュール化されています。実は、私の環境では新しいドライバでVideo In
をXawtvで見ようとすると、同期のとれていない状態になってしまいます。
そこで、4.0.1を参考に、r128_video.cを修正しました。
Xvideo の機能や安定性は向上している感じです。
Wheel Mouse
Xでホイールを使うにはボタンの個数が5であると認識される必要があります。
XFree86-3.3.6の場合、XF86Configで
Section "Pointer"
Protocol "Microsoft"
Device
"/dev/sysmouse"
Buttons 5
EndSection |
とします。
XFree86-4.0.1の場合は同じくXF86Configで
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/sysmouse"
Option "Buttons" "5"
EndSection |
としてやります。
実際のXアプリで用いる例ですが、
Muleの場合、~/.emacs で
(global-set-key [mouse-4] 'scroll-down)
(global-set-key [mouse-5] 'scroll-up) |
を追加します。
ktermの場合は ~/.Xdefaultsで
KTerm*vt100*translations:#override\
<Btn4Down>:
scroll-back(1,halfpage)\n\
<Btn5Down>:
scroll-forw(1,halfpage)\n\ |
一番肝心なNetscapeでは同じく ~/.Xdefaultsで
Netscape*globalTranslations: #override \n\
<Btn4Down>:
LineUp() LineUp() LineUp() LineUp() refresh() \n\
<Btn5Down>:
LineDown() LineDown() LineDown() LineDown() refresh() \n\
! ~Shift ~Meta ~Alt ~Ctrl<Btn4Down>: LineUp() LineUp() LineUp()
refresh()
! ~Shift ~Meta ~Alt ~Ctrl<Btn5Down>: LineDown() LineDown() LineDown()
refresh()
! Shift ~Meta ~Alt ~Ctrl<Btn4Down>: forward()
! Shift ~Meta ~Alt ~Ctrl<Btn5Down>: back() |
こんな感じ。とりあえず有効なのは最初の2行だけ。
光学マウスに換えてから、WWWブラウジングなどでグリグリやったり
していると、mousedが応答しなくなる現象が発生するようになりました。
mousedにHUPシグナルを送ってやれば回復するのですが・・・
というわけで、それを行うコマンドを書いてみました。
main.c.gz
適当に名前を付けて、rootにset-user-IDしてください。
WindowManagerのキーボードショートカットに登録すると便利です。
VJE-Delta
日本語入力にはVACSのVJE-Delta
Ver.3.0 を使用していますが、それについて
ここに書いておきます。
インストールは ports/japanese/vje30 を用いると良いでしょう。
vjeaccをJDK-1.1.8対応にしてくれます。実際にvjeaccで文字入力を使うには
swing.jar が必要です。ダウンロードはこちら。
ports/java/jfc でインストールできます。
うまくいくとこんな感じ。
VJEを使うための環境変数の設定は、~/.cshrcの場合
setenv LANG ja_JP.EUC
setenv XMODIFIERS @im=vje
setenv TK_KCPROTO xim |
最後の行は日本語化されたTk8.0のためのものです。
Netscapeは、~/.Xdefaults で
Netscape*inputMethod:
vje |
とします。これはひょっとしたら最近はいらないかもしれません。
初期の vjed にはメモリリークを起こすという問題があるので、
公式サイトからアップデートをゲットして入れ替えましょう。
Window Maker
XのWindow Managerとしては Window
Makerを愛用しています。
ここでthemeがゲットできます。
0.60.1以降のバージョンで日本語の文字化けが発生する場合、
~/GNUstep/Defaults/WMGLOBA で
SystemFont = "-*-helvetica-medium-r-normal-*-%d-*-*-*-*-*-iso8859-1,
-*-mincho-medium-r-normal-*-%d-*-*-*-*-*-jisx0208.1983-*,
-*-fixed-medium-r-normal-*-%d-*-*-*-*-*-*-*";
BoldSystemFont = "-*-helvetica-bold-r-normal-*-%d-*-*-*-*-*-iso8859-1,
-*-gothic-bold-r-normal-*-%d-*-*-*-*-*-jisx0208.1983-*,
-*-fixed-medium-r-normal-*-%d-*-*-*-*-*-*-*";
DoubleClickTime = 250;
MultiByteText = YES; |
というふうに、MultiByteText = YES; を追加します。
Copyright(c) 2000 DragonX. All rights reserved.
戻る