2005年10月22日(土) [過去の今日]
#1 まあ、そんなわけでPCリプレース
先々週あたりちょろっと時間ができた隙に、不調のメインマシンをリプレース。リプレースというか、不調の部品を交換しただけなのだが……これがえらいことになっちまった。
不調の部品はSocket370のマザーボードとグラフィックカード。しかし今マザーボードを交換するとなると、いまさらSocket370の新品を探すのは難しい。自然、CPUとメモリも交換ということになる。でもってグラボも新しいのを買うと、値段もさほど変わらないしPCIExpressのほうが今後の部品交換にも対応できるだろう。しかし最近のCPUは熱いので、今のケースじゃ放熱性能が低すぎて無理……。
というわけでドライブ類以外全部とっかえという恐ろしい事態に。出来上がった構成は以下の通り。
- M/B: Asus A8V-E SE
- CPU: Athlon64 3000+
- Mem: Hylix DDR400 1G x2 (Dual Channel)
- VGA: Canoups MTVGAX550
で、当然メインマシンなので、今まで使ってたOSの入ったHDDをそのまま取り付けて起動させた。
@ IDEの謎:
ところが起動でkernel panicを起こす。どうしたのかと思えば、通常マザーボード側のIDEがhd[abcd]になるはずなのに、RAID用に取り付けてるIDEカードがhd[abcd]になってしまってる。そりゃ起動するわけがない。どうにかならないのか、BIOSの設定を目を皿のようにして見てみたが、さっぱり設定項目が見つからない。
しょうがないので、本来IDEカード側をhd[abcd]にするオプションなのだが、ide=reverseをカーネルに与える。これでマザー側がhd[abcd]になったのはいいのだが、マザー搭載のSATAが2番目のIDEチップとして認識されてるっぽくて、拡張IDEカードは以前のとおりのhd[efgh]ではなくhd[ijkl]になってしまった。まあ、これはしょうがないものとして、OS側の設定を変更してRAIDも正常稼働させた。
@ radeonドライバ:
Linuxで動くかちゃんと確認しないで買ったグラボなのだが、まあ動かないって事もないだろうとたかをくくってたのがちょっと甘かったかもしれない。
今までmgaドライバだったので、デュアルモニタの設定もそこらにころがっててラクチンだったのだが、radeonドライバはそうでもなかった。しょうがないので man radeon を見ながらxorg.confをいじりまわす。
しかし、そもそもシングルモニタでも起動しない。どういうことかと思ったら、ChipIDというのが重要らしい。/var/log/Xorg.0.log を読むと、
(II) RADEON: Driver for ATI Radeon chipsets: ATI Radeon QD (AGP), ATI Radeon QE (AGP), ATI Radeon QF (AGP), ATI Radeon QG (AGP), ATI Radeon VE/7000 QY (AGP/PCI), ATI Radeon VE/7000 QZ (AGP/PCI), ATI Radeon Mobility M7 LW (AGP), ATI Mobility FireGL 7800 M7 LX (AGP), ATI Radeon Mobility M6 LY (AGP), ATI Radeon Mobility M6 LZ (AGP), ATI Radeon IGP320 (A3) 4136, ATI Radeon IGP320M (U1) 4336, ATI Radeon IGP330/340/350 (A4) 4137, 以下略
というのが残っている。どうやらこの4桁の謎の数字(16進数)がChipIDらしい。
自分のグラボが持ってるChipIDはlspciで見ることができる。
$ lspci | grep ATI 0000:02:00.0 VGA compatible controller: ATI Technologies Inc: Unknown device 5b63 0000:02:00.1 Display controller: ATI Technologies Inc: Unknown device 5b73
5b63というのがこのX550のChipIDらしい。X550の中身はX300の高クロック版のはずなので、xorg.confでX300のChipIDで上書きしてやればいいということになる。 ログからX300のChipIDは5B60であることがわかる。
これでシングルモニタでは動くようになる。あとはデュアルモニタなのだが、mgaドライバや複数のグラボを使った時のように、設定を二つ書いてServerLayoutでもげ、という手は使えないらしい。Deviceセクションにセカンドモニタの設定も一緒に書いて、MergedFBしてしまうしかなさそうだ。ということで以下にxorg.confから抜粋
Section "Device" Identifier "X550_0" Driver "radeon" BusID "PCI:02:00:00" ChipID 0x5b60 Option "VideoOrverlay" "on" Option "MonitorLayout" "AUTO,AUTO" Option "MergedFB" "true" Option "CRT2Position" "RightOf" Option "CRT2HSync" "31.49-48.38" Option "CRT2VRefresh" "60-60" Option "MetaModes" "1600x1200-1024x768 1280x1024-1024x768 1280x960-1024x768 1152x864-1024x768 1024x768-1024x768 800x600-800x600 640x480-640x480 320x240-320x240 1600x1200 1024x768 800x600 640x480 320x240" Screen 0 EndSection Section "Monitor" Identifier "MITSUBISHI RDF221S" HorizSync 30-110 VertRefresh 50-160 Option "DPMS" EndSection Section "Screen" Identifier "Default Screen" Device "X550_0" Monitor "MITSUBISHI RDF221S" SubSection "Display" Viewport 0 0 Virtual 2624 1200 Depth 24 Modes "1600x1200" "1280x1024" "1280x960" "1152x864" "1024x768" "800x600" "640x480" "320x240" EndSubSection EndSection Section "ServerLayout" Identifier "Default Layout" Screen 0 "Default Screen" 0 0 Option "Xinerama" "off" Option "Clone" "off" InputDevice "Generic Keyboard" InputDevice "PS/2 Mouse" InputDevice "USB Mouse" EndSection
実は設定を行ってる最中、セカンドモニタがぶっこわれてしまって、押し入れに眠ってた父親の古い液晶モニタをひっぱりだしてきた。発色が変だが、まあ使えなくもない。ついでにチューナカードも壊れて買い直したりもした……嗚呼。
まあしかし、MergedFBとradeonドライバのPseudo Xineramaのおかげで、サブモニタでもxvが使えるので、テレビや録画したファイルを再生しながら作業したりゲームしたりするのに非常に便利。ありがたいぜ。
@ タイマー:
これで万事OKかと思ったのだが、どうにも時計の進みが速くて困る。1分に2秒ほど速い。なんだろうと思って l-uで質問してみた ら、 adjtimex(8)で調整するべし というアドバイスをもらった。さっそく adjtimexconfig を実行してみると、ものの見事に時計が正常になった。CPUの速度が相当変わったんで、調整しないといけなかったのかな。
@ その他諸々:
Athlon64はCool'n'Quietという、クロック周波数を動的に変化させる機能を持っている。負荷が低いときは低クロックで動かし省電力、高いときは高クロックにして爆速ということができるわけだ。同時にCPUファンの速度も変化する。
使い方は簡単で、カーネルの Power management options ---> CPU Frequency scaling を有効にしておき、apt-get install cpudyn しておくだけ。あとは勝手に負荷を見て動作クロックを変化させてくれる。負荷をかけたりかけなかったりして、/proc/cpuinfoを見てみるとわかる。
さらにカーネルが2.4.13移行なら、CPU温度も計れる。w83627ehfというセンサーチップドライバが2.4.13から取り込まれたからなのだが、これはマザーボードによるのかも? あとは普通にlm-sensorの設定と同じで、sensors-detectして設定し、
$ sensors Philips NTSC MK3 -i2c-2-61 Adapter: saa7130[0] w83627ehf-isa-0290 Adapter: ISA adapter Case Fan: 2636 RPM (min = 1205 RPM, div = 16) CPU Fan: 3375 RPM (min = 1704 RPM, div = 8) fan3: 932 RPM (min = 0 RPM, div = 8) Sys Temp: +31°C (high = +45°C, hyst = +40°C) CPU Temp: +40.5°C (high = +45.0°C, hyst = +40.0°C) temp3: +35.5°C (high = +80.0°C, hyst = +75.0°C)
と、まあこんな感じ。アイドリング中で肌寒い秋とはいえ、この温度なら全然いいだろう。ちなみにファンはリテールのCPUファンと、ケース背面に12cmファンがついてるだけだ。実際にはHDD冷却用に8cmファンが二つと、電源内蔵の8cmファンが二つもついてるが、CPU付近の冷却には役立ってないはず。
夏になったらフロントにもファンをつけるとかすれば、充分乗り切れるだろう。
(@127)