そこで、色々と梅本さんにメールで伺い、色々と教えて頂きました。 物分かりが悪いので、色々と御迷惑をお掛けしたと思いますが、 親切に教えて頂き、ありがとうございます。
このページは、梅本さんに教えて頂いたことをまとめたページです。 なので、この部分の Copyright すべて梅本さん かも知れません。:-)
Q. GKrellM を起動させている最中に panel を消そうとする(消えようとする)と
gkrellm in free(): error: chunk is already free
というエラーと core を吐いてお亡くなりになります。
A. どうやら Gtk+ に二重 freeをしているバグがあるようです。
4-STABLEではこれをエラーにしていませんが、5-CURRENT では開発環境という
位置付で厳密にエラー扱いしています。
取り敢えずは
ln -sf a /etc/malloc.conf
しておくと 4-STABLE と同様に無視するように出来ます。
また、
ln -sf aj /etc/malloc.conf
にしておくと、malloc 時のテストパターンによる
初期化もおこなわれなくなるので、若干高速になります。
大抵(?)の CURRENT 使いは、この aj を使っているようです。
この j というのは、メモリ初期化忘れを検出する debug 手法として、
malloc されたメモリを 0x00 以外で埋めておくらしいです。
詳しくは、man malloc をお読み下さい。
これで、GKrellM は快適に動作しています。
[追加情報(2001/12/18)]
この現状ですが、実は、GTK のバグではなく、GKrellM の net.c の
部分のバグということを梅本さんからお聞きしました。
GTK の関係者の方に、不愉快な思いをさせてしまい、
申し訳ありませんでした。お詫び致します。m(_ _)m
また、この現象に対する GKrellM への patch を作って下さった
梅本さんに感謝致します。ありがとうございました。m(_ _)m
(GKrellM-1.2.6 からは、修正されているようです。)
Q. 充電している間は、スムーズに動くのですが、バッテリ駆動の時に
スムーズに動きません。
A. 充電時: hw.acpi.cpu.performance_speed
パッテリ駆動時: hw.acpi.cpu.economy_speed
を使うみたいです。デフォルトでは、
hw.acpi.cpu.performance_speed=8
hw.acpi.cpu.economy_speed=4
となっているので、バッテリ駆動時にスムーズに動かないようです。
バッテリ駆動時でも充電時と同じ動きをするように設定するために、
私は、/boot/loader.conf に
hw.acpi.cpu.economy_speed="8"
という行を加えることによって対応しました。
Q. なんか、5-CURRENT って全体的に重いのですが......。
A. config file に kernel デバッグ用のオプション
options INVARIANTS #Enable calls of extra sanity checking
options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS
options WITNESS #Enable mutex checks to detects deadlocks and cycles
が入っていると性能が半分くらいになるそうです。これらを無効にして、
kernel の再構築を行いましょう。
Q. suspend 後 moused を HUP しないと mouse が動かないのですが、
解決策はあるのでしょうか?
A. config file に
options PSM_HOOKRESUME #hook the system resume event, useful
#for some laptops
options PSM_RESETAFTERSUSPEND #reset the device at the resume event
を追加しましょう。
Q. suspend 後、X server がハングする、usb が効かなくなるのですが。
A. 岩崎さんの acpi の patch 集 から
acpi-mutex-20011204.diff
fiva-20011204.diff
をダウンロードして patch を当てて下さい。