最近よく使う仕事用パソコンは、OSはWindows XPでして、VMware Playerを使ってFreeBSDを使っていました。そういう環境でもまあまあよかったんですが、
- 搭載しているメモリが1GBと少なくて、やっぱりちょっと足りないかな
- Windowsじゃなくて、FreeBSDだけでも、けっこういけそうな手ごたえ(昔はそうやって仕事をしてたし)
っていう感じがしてきていました。というわけで、実はインストールしてあったけど動かしていなかったFreeBSDを、最新のバージョン6.2にupgrade installして、いろいろ環境構築してみました。
- VMwareの中とはちがって、やっぱりサクサク動くところがいい!
- やっぱり、KDEとかGNOME2とかは使わず、むかーしから使っているfvwm-1.24をソースから自分でビルド
- firefoxとthunderbirdがあれば、とりあえず大丈夫。どうしてもInternet Explorerを使わなければいけない事務作業とかあるけど、そのときはそのときということで。
- firefoxのflashプラグインは、仕事をするだけなら不要だし、なんか昔から入れると不安定になることが多い気がするので、入れていません。
- 日本語入力は、scim-anthyというのをはじめて使ってみました。何か自分の環境が悪いせいか、最初うまく動かなくて手間取ったのですが、いざ動き出すと、これって、けっこうよくできてていいですね。以前は、むかーし買ったFreeBSD版のWnn7や、Solarisなサーバー上で動いているWnn6を、Emacs/XEmacsで使ってました。firefoxやthunderbirdでは、日本語入力は使ってませんでした(xwnmoを使うとクラッシュしやすい気がしたので・・・気のせい?)。メールはEmacsでgnusだったのでthunderbirdは動作確認程度にしか使ってなかったし。
☆ ☆ ☆ ☆ ☆ ☆
一通り使える環境になったかなぁと思ったところで、オーディオデバイスの設定をしていないことに気がつきました。どうせ、kldload snd_ichだろうなと思ってたら、違う?!
・・・一通りすべてのドライバを試しましたが、ぜんぜんオーディオデバイスが認識されません。もしや、サポートされていないデバイス?という気がしてきました。
scanpciとかpciconf -lとかで調べてみると、オーディオデバイスはこれらしいです。
pci bus 0x0000 cardnum 0x1b function 0x00: vendor 0x8086 device 0x2668
Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Con
troller
ICH6と書いてあるから、snd_ichでサポートされているんじゃないかなと思い、ドライバのソースコードを、grep 2668とかしてみたりしたのですが、おしい、ちょっと違う。じゃ、追加すれば動くんじゃない?と一瞬思ったのですが、一応、googleで検索してみたところ、驚愕の事実が。
「High Definition Audio」(略してHDA。ぜんぜん知らなかったのですが、AC97の後継となる、新しいオーディオ規格のことらしいです)というやつは、
- 2007年1月現在のところ、FreeBSD 6系ではサポートされていない
- CURRENTブランチであるFreeBSD 7では、snd_hdaというドライバでサポートされている
ということでした。
マニュアルはこちらに。
ソースコードをcvswebで見てみると、0x2668はサポートされているようです。
FreeBSD 6系でがんばってsnd_hdaを動かすpatchもあるみたいで、しばらく待っていれば、MFCされるかも?という希望もないこともないかもしれないけどどうなんだろうな、みたいな? それが現状っぽい雰囲気です。
昔、5-CURRENTのころは仕事用パソコンにインストールして、ときどきcvsup & make buildworldまでして使っていましたが、最近はCURRENTはぜんぜん使っていません。保守的になっちゃったなぁ。うーん、どうしよう。
よし、今年はアグレッシブに行こう、ということで、とりあえず、以下で公開されている、7.0-CURRENTのsnapshot版をダウンロード。
ftp://ftp2.jp.freebsd.org/pub/FreeBSD/snapshots/200701/7.0-CURRENT-200701-i386-bootonly.iso
ISO9660ファイルから、カーネルだけをひっこぬいてきました~~~たとえばこんなかんじ・・・意味がわからない人、動かなくなったときの復旧方法を知らない人はご遠慮ください・・・
mdconfig -a -t vnode -f /somewhere/7.0-CURRENT-200701-i386-bootonly.iso
mount -o ro -t cd9660 /dev/md0 /mnt
cp -pr /mnt/boot /boot7
再起動させ、FreeBSDのboot loaderで、プロンプトに抜けて、module_pathを/boot7に変更(これをやらないとkernelが落ちる)、/boot7/boot/kernelを使ってFreeBSD7でブート。
kldload snd_hdaしてみたところ、認識されました。
dmesgでは・・・
pcm0: <Intel 82801F High Definition Audio Controller> mem 0xb0000000-0xb0003fff irq 16 at device 27.0 on pci0
pcm0: <HDA Codec: Realtek ALC260>
pcm0: <HDA Driver Revision: 20070105_0038>
cat /dev/sndstat では・・・
FreeBSD Audio Driver (newpcm: 32bit)
Installed devices:
pcm0: <Intel 82801F High Definition Audio Controller> at memory 0xb0000000 irq 16 kld snd_hda [20070105_0038] (1p/1r/1v channels duplex default)
カーネルだけFreeBSD7にするという無茶苦茶なことをやってますが、xmmsでMP3やWMAも再生できてます。thunderbirdで新着メールがあったときにも音がなりました(WAVファイルを自分で指定しないと音が鳴らなかったけど、よくわかんね)。
ただ、たまにスタッタリングみたいなノイズがでます。
それと、別に使わないのでかまわないけどeclipseが動きませんでした(diablo-jdkのクラッシュ)。
FreeBSD 7.0-RELEASEは、今のところ2007年6月リリースの予定らしいです。じゃあ、このままなし崩し的に、7.0-CURRENTに移行してしまおうかな?!
(2007/2/16)
FreeBSD 7.0-CURRENTにして、オーディオデバイス(Intel HDA)は、おおむね、動いているのですが、1つ、明らかにおかしいところがあります。ボリューム(ミキサー)がおかしいです。ボリュームが、4段階くらいしかないんです。
1.無音、2.やや音がでかい、3.やかましい、4.やめてくれ、
という感じの4段階。音量をセットするレジスタのビットがずれているとか、そんな感じのバグの気がします。