[Route 153]

ThinkPad T4x で FreeBSD

T42 + 5.3-RELEASE

メインで使ってるのはこっち。2373-1YJ + PentiumM 755 (2.0GHz)

いろいろなデバイスとか

Intel PRO/Wireless 2200BG

FreeBSD Native なドライバ (iwi) が出ていて、これでちゃんと動くが、これ load したあと、 ACPI で suspend/resume すると CardBus が使えなくなる。

ndis ドライバでも動くが、ロードの時にしばらく止まるので、ちょっ と緊張したりする。方法は、blog に載せた記事 を参照のこと。

Video

Dual head で X も動いてます。映画見ながら仕事できます。

Dual head 用の設定は、 外付けのディスプレイが本体ディスプレイの右側にくるようになってます。 使う場合は、外付けディスプレイの設定を、 お手持ちのディスプレイに合わせてください。

USB

device ehci で、USB 2.0 も認識される。

5.x での、USB2.0 の挙動はだいぶ変で、 いちど 2.0 で認識しても、usbdevs -v とか見てると、 すぐ 1.1 のほうに行っちゃうので、実は動いてない模様。

CardBus/PC-Card

CardBus はたぶん動く。PC-Card は動いてる。4.x までと違って、 挿すと一瞬で認識するので幸せ。

Audio

普通に、snd_ich で動く。

Enhanced SpeedStep

Enhanced SpeedStep driver for FreeBSD が出てます。 これ使うと動的なクロック変更とかができるようになって、 電池の持ちもばっちり。

加速度センサ

机から落としたときなんかに、加速度を検出して HDD を停止する仕掛けがついてるのですが、どうやら Windows only.

セカンドバッテリ

UltraBay Slim (CDのところ) に挿すバッテリを装着して、 FreeBSD が動いているときに、画面の明るさとか音量を変更したり、 ACPI 的なイベント (電源つないだり抜いたりとか) 一発で落ちる。 逆に、それをやらなければ 4 時間ちょっと動く。

電源まわり

ACPI はそこそこ動くようになりました。ACPI で suspend/resume を使う場合の注意点としては、

こんな感じ。ただ、S3 suspend だと、 比較的電池を消耗する感じ。これは Linux でも同じらしい。 S4 に持っていけるとよいのですが、うまくいってません。

T40+4.10 の頃は apm で suspend してて、 電池の消耗はあまり感じなかったのですが、5.3 ではなんか、 apm でうまく suspend できない感じ。

古い情報

T40 (2373-66J) + 4.10-RELEASE で使ってた頃の話。 4.10-RC で使ってたパッチ

いろいろなデバイスの状況

Video

device agp が有効だと、液晶のサイズが認識できず、 X が上がらない。agp を切るか、パッチ を当てると、agp + radeondrm 有効で、DRI も使えるようになるが、 若干不安定な感じなのと、あんまり速くならないのでやめた。

XFree86-4.3.0 では suspend/resume できなかったが、 開発スナップショットを入れてたら動くようになった。 4.4.0 くらいなら普通に動くでしょう。

X あげないで suspend して resume すると、そのあと X あがらずに固まります。 X を一度落として上げ直しても固まりません。上げた状態での suspend/resume は、 正常です (/dev/agp は切ってます) 。

USB

使えるが、/dev の下のエントリがなかったりする。 cd /dev ; sh MAKEDEV usb1 ; sh MAKEDEV usb2 で、 USB 1.1 が動くようになる。4.10 から入った ehci は、 認識されるがまったく動かない模様なので、使わないほうがよい。

Audio

device pcm を有効にすると音はちゃんと出る。 内蔵スピーカーはステレオである。すばらし。

そのほかの設定とか

kernel で、options CPU_ENABLE_SSE を有効にすると、 SSE 命令が使えるようになる。

Power management

Suspend/resume すると ATA controller のリセットで死ぬ。 これは、パッチで直る。 パッチを当てて、device apm を有効にするのがよい。 acpica は、恐ろしいほど動かない。

同じく、resume 後に mouse が使えない。 device psm に、flags 0x6000 を付けておくと、X で resume 後、 数秒で正常にマウスポインタが動くようになる。 これ付けないとまったくダメなので注意。

暫定パッチ

ふゆさんのページ のパッチを最低限の部分だけ手で当てて (めんどくさかったのさ)、 suspend/resume に関する乱暴な手パッチをして、 最後に diff -ru したものです。suspend/resume のところは、 けっこうヤバいことをしているので、保証の限りではありません。 ちなみにこれで apm は使えますが、acpica は駄目でした。

XFree86 で DRI を使うためには、以下の記述を kernel configuration に追加してください。

device          agp             # support several AGP chipsets
device          radeondrm       # RADEON DRM	

んで、DRI 使えてるはずなんですが、 速くなった実感はありません...

参考

と思ったのだけれど、やっぱりあんまりないんですよ...

おまけ

Full build of FreeBSD 5.3-RELEASE-p5 @ Tokyo (T42/2.0GHz)

% time make -j4 buildworld
1614.536u 318.715s 34:47.88 92.5%       3541+2049k 22010+2504io 1469pf+0w
% time make KERNCONF=GENERIC buildkernel
353.392u 52.135s 8:06.49 83.3%  3655+1746k 4667+700io 12pf+0w

Full build of FreeBSD 5.4-RC3 @ Tokyo (Athlon64 4000+)

% time make -j4 buildworld
1452.311u 277.193s 29:07.22 98.9%       3492+2056k 1761+2830io 967pf+0w
% time make KERNCONF=GENERIC buildkernel
322.136u 45.720s 6:14.00 98.3%  3632+1745k 361+761io 1pf+0w
Yasunori Osana
Last modified at: