VMware 4 では、Guest OS 上で X Windows 4.3.0 のアンチエイリアス機能(文字や図形のギザギザを滑らかに見せる技術)を有効にするとフォントの色がおかしくなる現象があるようです。私は RedHat 9 + VMware 4.0.5 で現象を確認しています。
以下はアンチエイリアス対処策「対処前」→「対処後」の例です。<Home> の色処理が右側(対処前)ですとアンチエイリアスの色処理がおかしいです。
→
AA 対処前 → AA 対処後
この page はその解決方法として私が投稿した [Re: ゲストOS(Linux)のXでの色ずれについて(VMware日本語メーリングリスト)] を元に手順を説明してます。
ちなみに VMware から配布されている XFree86 driver は古いです。XFree86 4.0 ベースでアンチエイリアス機能が入っていなかった頃の driver で確かに置き換えることで上記の問題は無くなりますが、置き換えた場合は動作が不安定になりました。気をつけて作業した方が良いでしょう。
(05.01.13 : 追記)
そもそもアンチエイリアス機能を無効にすればこの現象は発生しません。以下の情報よりアンチエイリアスを無効にすればきにならなくなります。
Red Hat Linux 9 を例に挙げています。XFree86 のバージョンは新しくなっているかもしれませんので注意してください。
XFree86-4.3.0-2.src.rpm を入手します。多分、CD-ROM の中にあると思います。Mirror
だと以下の場所にあります。
[ftp://ftp.kddlabs.co.jp/pub/Linux/packages/RedHat/redhat/linux/9/en/os/i386/SRPMS/XFree86-4.3.0-2.src.rpm]
# rpm -ivh XFree86-4.3.0-2.src.rpm
Install を行うと /usr/src/redhat/SRPMS に source が展開されます。
環境構築はよく分からなかったので全部 Build してしまいました。多分もっといい方法はあると思うのですが私の技術力ではどうにも ;-(。
/usr/src/redhat/SPECS/ にある XFree86.spec を利用します。
# rpmbuild -bc XFree86.spec
#私の環境で 3 時間位 ;-(
ここでうまく行かないようだと開発環境が整っていないのでしょう。
/usr/src/redhat/BUILD/XFree86-4.3.0/xc/programs/Xserver/hw/xfree86/drivers/vmware/ に例の source が展開されています。
vmwarexaa.c の RGBPlusAlphaChannelToPremultipliedRGBA の parameter を「CARD8 red, CARD8 blue, CARD8 green,」 → 「CARD8 red, CARD8 green, CARD8 blue, 」に変更します。
# make
問題が無ければ新しい「vmware_drv.o」が作成されています。
#念の為、vmware_drv.o のバックアップと snapshot は取っておいた方が良いですよ。
/usr/X11R6/lib/modules/drivers/ に vmware_drv.o を上書きします。
# startx
これでアンチエイリアスの色については解決しているはずです。
<Home> → <M.D.L.> → <[[M.D.L] VMware でのアンチエイリアス対処策>
Copyright (c) 2003-2005 Makoto NARA (Mc.N), All rights reserved.
<Terms of Use>