最近、testing(=squeeze) の不具合調査が多いなあ。^^;
xserver 関連のアップデートをしてから、Iceweasel(=Firefox) や
Emacs のスクロールがやけにカクカクするようになりました。
以前 [2008-08-24-1]
で似たような現象が起きた時は、理由が分からない
まま解決できたため、この現象に気づいたときは正直げんなりしました。
(この時予想したソフトレンダリングは、勘違いということが今回判明。)
今回は過程を重視したいため、結論は後に書きます。
まず、X の VIDEO まわりの設定を調べました。私の PC の VIDEO カード
は ATI の Radeon HD 2400 PRO です。ただ、/etc/X11/xorg.conf には以
下のような情報しか書かれていませんでした。
Section "Device"
Identifier "Configured Video Device"
EndSection
気を取り直して、ググってみたところ debian-users:51900
が引っかかっ
たので、
dpkg-reconfigure -plow xserver-xorg
等やってみたが変わらず。/etc/X11/xorg.conf は touch された形跡さえ
ありませんでした。
どうやら最近の X は /etc/X11/xorg.conf ではなく、hal で設定されてい
るようです。lshal コマンドで設定内容を確認できるようです。
% lshal
lshal の出力にはめぼしいものはありませんでしたが、このスレッドの以
下のコマンドに解決のヒントが隠されていました。
% grep EE /var/log/Xorg.0.log
% grep WW /var/log/Xorg.0.log
実行しました。
% grep EE /var/log/Xorg.0.log
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(II) Loading extension MIT-SCREEN-SAVER
(EE) RADEON(0): Acceleration initialization failed% grep WW /var/log/Xorg.0.log
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(WW) The directory “/usr/share/fonts/X11/cyrillic” does not exist.
(WW) RADEON(0): Direct rendering disabled
Direct rendering disabled などという、描画が遅くなりそうなキーワー
ドを発見しました!!
Direct rendering は DRI(Direct Rendering Infrastructure) という略
称があるらしく、xdriinfo コマンドで状態を確認できるようです。案の定、
有効になっていませんでした。
% xdriinfo
Screen 0: not direct rendering capable.
ここで、公式のバグ報告を探してみました。
Debian のバグ報告は Google グループから参照できるようです。
Bug#544938 が私の現象と良く似ています。
Bug#544938: linux: direct rendering does not work with radeon driver on kernel 2.6.30-1-i686
私の /var/log/kern.log にも Bug#544938 と同じエラーログがありました!!
Oct 19 00:16:52 vergil kernel: [ 34.336437] platform r600_cp.0: firmware: requesting radeon/RV610_cp.bin
Oct 19 00:16:53 vergil kernel: [ 34.435915] r600_cp: Failed to load firmware “radeon/RV610_cp.bin”
Oct 19 00:16:53 vergil kernel: [ 34.435918] [drm:r600_do_init_cp] ERROR Failed to load firmware!
Moritz Muehlenhoff さん曰く、firmware-linux パッケージをインストー
ルすべきとのこと。
インストールしました!再起動しました!解決できました!!
- スクロール時のカクカクが直りました。
- /var/log/kern.log のエラーログがなくなりました。
- /var/log/Xorg.0.log のログが変わりました。
(WW) RADEON(0): Direct rendering disabled
↓
(II) RADEON(0): Direct rendering enabled
- xdriinfo の結果も変わりました。
Screen 0: not direct rendering capable.
↓
Screen 0: r600
testing で問題が起きたときは、公式のバグ報告を確認するのが良さそうです。
バグ報告の詳細は Debian バグ追跡システム
をどうぞ。
追記(2009-10-19):
とは言え、testing はトラブルが多いなあ。testing は unstable で問題
のなかったパッケージを機械的に集めているだけなので、安定度で言えば
イマイチらしい。unstable に移行しちゃおうかなあ?