TenForward

技術ブログ。はてなダイアリーから移転しました

intel 統合チップでの X

なんかパフォーマンスが出ないという話らしく,Plamo ML で

  • Mesa-7.4.1
  • libdrm-2.4.6
  • xf86_video_intel-2.7.0
  • dri2prot-1.99.3
  • kernel 2.6.28

にすれば良いというのがありました.

手元は Q35 というチップが載っているもので,3Dは使わないし,2Dでもそれほど不満は感じて無かったのですが,MLでの話によると,再描画が目で見えるほど遅いとのこと.

不満はないのですが,試してみました.変化ないようです.

  • MLの話だと,2D が何もしないで不満がないのは不思議なのかな?
  • MLの話だと,3D は前述の構成で解決するらしいけど,手元じゃ遅いままだな.

(以下,最初は greedy 有効のまま計測してたので,なしで計測した値に変更してます)

Plamo 4.6 デフォルト + xorg_server-1.5.3 Update

$ x11perf -aa10text
x11perf - X11 performance program, version 1.2
The X.Org Foundation server version 10503000 on :0.0
from enterprise
Fri Apr 24 17:33:07 2009

Sync time adjustment is 0.3461 msecs.

 720000 reps @   0.0076 msec (131000.0/sec): Char in 80-char aa line (Charter 10)
 720000 reps @   0.0077 msec (131000.0/sec): Char in 80-char aa line (Charter 10)
 720000 reps @   0.0080 msec (125000.0/sec): Char in 80-char aa line (Charter 10)
 720000 reps @   0.0077 msec (129000.0/sec): Char in 80-char aa line (Charter 10)
 720000 reps @   0.0077 msec (130000.0/sec): Char in 80-char aa line (Charter 10)
3600000 trep @   0.0077 msec (129000.0/sec): Char in 80-char aa line (Charter 10)

Plamo 4.6 デフォルト + xorg_server-1.5.3 Update + 前述の 4 つの Update

$ x11perf -aa10text
x11perf - X11 performance program, version 1.2
The X.Org Foundation server version 10503000 on :0.0
from enterprise
Fri Apr 24 17:26:24 2009

Sync time adjustment is 0.2999 msecs.

 720000 reps @   0.0076 msec (132000.0/sec): Char in 80-char aa line (Charter 10)
 720000 reps @   0.0082 msec (122000.0/sec): Char in 80-char aa line (Charter 10)
 720000 reps @   0.0076 msec (132000.0/sec): Char in 80-char aa line (Charter 10)
 720000 reps @   0.0075 msec (134000.0/sec): Char in 80-char aa line (Charter 10)
 720000 reps @   0.0075 msec (134000.0/sec): Char in 80-char aa line (Charter 10)
3600000 trep @   0.0077 msec (131000.0/sec): Char in 80-char aa line (Charter 10)

Plamo 4.6 + kernel 2.6.28.9 + xorg_server-1.5.3 Update + 前述の 4 つの Update

$ x11perf -aa10text
x11perf - X11 performance program, version 1.2
The X.Org Foundation server version 10503000 on :0.0
from enterprise
Fri Apr 24 17:20:01 2009

Sync time adjustment is 0.3039 msecs.

 720000 reps @   0.0076 msec (132000.0/sec): Char in 80-char aa line (Charter 10)
 720000 reps @   0.0076 msec (131000.0/sec): Char in 80-char aa line (Charter 10)
 720000 reps @   0.0076 msec (131000.0/sec): Char in 80-char aa line (Charter 10)
 720000 reps @   0.0082 msec (122000.0/sec): Char in 80-char aa line (Charter 10)
 720000 reps @   0.0076 msec (132000.0/sec): Char in 80-char aa line (Charter 10)
3600000 trep @   0.0077 msec (129000.0/sec): Char in 80-char aa line (Charter 10)
$ glxgears
Failed to initialize GEM.  Falling back to classic.
2082 frames in 5.0 seconds = 416.285 FPS
2085 frames in 5.0 seconds = 416.895 FPS
2080 frames in 5.0 seconds = 415.832 FPS
2087 frames in 5.0 seconds = 417.381 FPS
2091 frames in 5.0 seconds = 418.052 FPS
  :

(2009/04/27 追記1)
glxgears の結果が何かおかしいと思っていたら,Plamo ML で教えてもらいました.以下のような内容で /etc/drirc ファイルを設定しておかないと,「vblank に同期させているから」ということで,ああいう結果 (常に固定値)になるようで.

<driconf>
   <device screen="0" driver="i915">
     <application name="Default">
       <option name="vblank_mode" value="0" />
     </application>
   </device>
</driconf>

これでやった結果が↑の結果.(Plamo デフォルト等の時の glxgears の結果は消しました.追試が面倒なので^^;)

(2009/04/27 追記2)
Plamo ML にて,PAE カーネルだと GEM が有効にならないみたいなので,3D 遅いまま,ということで,試してみました.カーネルの config でメモリ上限を 4GB にしてカーネル再構築.glxgears をやってみると,

$ glxgears
get fences failed: -1
param: 6, val: 0
11539 frames in 5.0 seconds = 2307.626 FPS
11549 frames in 5.0 seconds = 2309.737 FPS
11523 frames in 5.0 seconds = 2304.558 FPS
11596 frames in 5.0 seconds = 2319.008 FPS
11518 frames in 5.0 seconds = 2303.530 FPS
  :

ということで,確かにドライバの効果で速くなっているようですね.(これでも GoogleEarth は結構遅かったけど ^^;)

逆に 2D は,PAE なしの時に必要な追加設定 (以下.Device セクションに追加) が PAE 有効にするとドライバレベルで自動的に無効になった状態で起動するので,上記の結果のようにどの環境でも描画が劇遅ということはなくなるようです.PAE なしの場合は,以下がないと 2D の描画が劇遅のようです.

        Option      "MigrationHeuristic" "greedy"