これがMTRRを設定する前のxengineでのベンチマークです。
平均して370rpmというところでしょうか。
まず、/proc/cpuinfoを行い。flags:にmtrrがあるかを確認します。
なければ、CPU自体がMTRRに対応していないという事です。
もしあるならば、/proc/mtrrがあるか調べましょう。
中には
reg00 ---------
reg01 ---------
のように書いてあると思います。
これがなければ、カーネルがサポートしていないという事です。この時はカーネル再構築する事で有効にできます。
つぎにXF86のログファイルを読み、最後のアドレスを控えましょう。
うちのSiS620は0xe5000000というアドレスでした。
echo "base=0xe5000000 size=0x400000 type=write-combining" > /proc/mtrr
上記のようにMTRRにメッセージを送ります。
0x400000はVRAMが4MBという意味です。
8MBなら0x800000という具合いです。
そして、
cat /proc/mtrr
とコマンドを打ちます。
reg00 ---------
reg01 ---------
reg02 ---------
1行追加されると、ひとまず成功です。
これでXF86を立ち上げます。
画面に線が入ったりする場合は失敗です。その際には
echo "disable=2" > /proc/mtrr
とメッセージを送ってあげます。そうすると3行目が消えます。
sizeを微調整するとなおることもありますので、頑張ってみましょう。
xengineでベンチマークした結果です。
平均して930rpm程度にアップしています。
私のマシンでは描画速度が3倍程度にアップしたことがわかります。
体感速度もかなり違います。ビュンビュンです。
これで喜んだんですが、MTRRできないLOOXの方が早かったです。(^_^;
こちらは2000rpm程度出ていますね。まぁ、VRAMが8MB。当たり前でしょか。