[M.D.L] VMware でのアンチエイリアス対処策

<Home> → <M.D.L.> → <[[M.D.L] VMware でのアンチエイリアス対処策>

VMware 4 では、Guest OS 上で X Windows 4.3.0 のアンチエイリアス機能(文字や図形のギザギザを滑らかに見せる技術)を有効にするとフォントの色がおかしくなる現象があるようです。私は RedHat 9 + VMware 4.0.5 で現象を確認しています。

以下はアンチエイリアス対処策「対処前」→「対処後」の例です。<Home> の色処理が右側(対処前)ですとアンチエイリアスの色処理がおかしいです。

Red Hat Linux 9 on VMware 4 で見た homepage なんだけど色が変、、、Red Hat Linux 9 on VMware 4 で見た homepage は正しい色で表示されています。やったね。
AA 対処前 → AA 対処後

この page はその解決方法として私が投稿した [Re: ゲストOS(Linux)のXでの色ずれについて(VMware日本語メーリングリスト)] を元に手順を説明してます。


ちなみに VMware から配布されている XFree86 driver は古いです。XFree86 4.0 ベースでアンチエイリアス機能が入っていなかった頃の driver で確かに置き換えることで上記の問題は無くなりますが、置き換えた場合は動作が不安定になりました。気をつけて作業した方が良いでしょう。

(05.01.13 : 追記)


解決方法その1

そもそもアンチエイリアス機能を無効にすればこの現象は発生しません。以下の情報よりアンチエイリアスを無効にすればきにならなくなります。


解決方法その2

Red Hat Linux 9 を例に挙げています。XFree86 のバージョンは新しくなっているかもしれませんので注意してください。

(1) XFree86 の SRPM の入手

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]

(2) XFree86-4.3.0-2.src.rpm の install

# rpm -ivh XFree86-4.3.0-2.src.rpm

Install を行うと /usr/src/redhat/SRPMS に source が展開されます。

(3) 取り敢えず全部 Build :-)

環境構築はよく分からなかったので全部 Build してしまいました。多分もっといい方法はあると思うのですが私の技術力ではどうにも ;-(。

/usr/src/redhat/SPECS/ にある XFree86.spec を利用します。

# rpmbuild -bc XFree86.spec

#私の環境で 3 時間位 ;-(

ここでうまく行かないようだと開発環境が整っていないのでしょう。

(4) vmwarexaa.c への patch 当て

/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, 」に変更します。

(5) make

# make

問題が無ければ新しい「vmware_drv.o」が作成されています。

(6) vmware_drv.o の上書き

#念の為、vmware_drv.o のバックアップと snapshot は取っておいた方が良いですよ。

/usr/X11R6/lib/modules/drivers/ に vmware_drv.o を上書きします。

(7) startx

# startx

これでアンチエイリアスの色については解決しているはずです。


<Home> → <M.D.L.> → <[[M.D.L] VMware でのアンチエイリアス対処策>
Copyright (c) 2003-2005 Makoto NARA (Mc.N), All rights reserved.
<Terms of Use>

Valid CSS! Valid HTML 4.01!