2006/08/20

Gentoo: DRI (Thinkpad T42/ Radeon Mobility 7500)

Thinkpad T42のグラフィックスチップでDRI(Direct Rendering Infrastructure)を利用する。

最新のxorgとkernelでDRIを有効にするにはちょっとコツがいる。
  1. kernelの中のDRIサポートは使用しない
  2. x11-drm ebuildをインストールする(カーネルモジュールなので、カーネル変更毎に再emergeが必要)
  3. xorg.confでModule "glx", "dri" を指定
  4. xorg.confのDriverは"radeon"

kernelに入っているDRIのxorg用モジュールは、最新のxorgだとモジュールが古くなっていることがある。なので、kernel configでCharacter deviceにあるDRI は無効にする。AGPは有効にしておいて構わない。

x11-drmは、最新のxorg-base用のDRMモジュールをインストールしてくれる。
x11-drmをインストールするまえに、
emerge -p x11-drm
で有効なVIDEO_CARDS の値を調べる。radeonはdefaultで無効になっているので、
/etc/make.confの中に
VIDEO_CARDS="radeon"
を書いて、再度上記のコマンドで有効になっているのを確認後、インストール。
インストール後、
/usr/lib/dri/
の下にradeonのモジュールが出来ていることを確認する。

xorg.confのModuleセクションに
Load "glx"
Load "dri"
を追加。DRIのオプション設定もいるかも。
Section "dri"
Mode 0666
EndSection

xorg.confの中でのDeviceセクションのDriver設定は、"radeon"に。


設定後、Xを立ち上げる。/var/log/xorg.0.log を参照し、
(EE)
で始まっているDRM, DRI関係のエラーが無いか確認。
モジュールが読み込めない、などの場合はx11-drmが正しくインストールされていないかも。

設定後、
glxinfo
の最初の方に
Direct rendering yes
があれば、DRIは有効に機能している。
glxgear
を実行して、十分なレンダリング性能が出ていることを確認する。

(補足)
module-rebuild add x11-drm-xxxxxx (xxxxxxはバージョン番号)
することで、kernelを変更(kernel-config set xxxxxx ) した後に
module-rebuild rebuild
することで、setした他のモジュールと一緒に新しいカーネル用にモジュールをビルドしてくれる。
新しいカーネルで起動する前でも、kernel-configしてあればビルドしてくれる。

Gentoo: xineでwmvを再生する

xineでxmvを再生するのに必要なのは、
USE="win32codecs asf"
みたい。他にもいろいろUSE flagに設定しておいた方が幸せかも。
"dvd avi ffmpeg aac mpeg mpeg2 mp4live"
とかかな。 いらないのもあるかも。

realplayerをインストールしているときは、
/opt/RealPlayer/codecs
をPreferenceのReal media codecのパスに設定するとrm形式の再生もできます。

ちなみに、mplayerはUSE="win32codecs" だけでちゃんとwmvの再生ができます。
が、mplayerはaccelerator keyの設定がいまいちで、xineの方が好みに合ってるので、できるだけxineで全部できるといいな。

2006/08/06

Gentoo: カーネルアップデートと一緒に外部モジュールもアップデート

module-rebuild を使用すると便利。
たとえば、ipw2200と ieee80211の2つの外部モジュールを使用している場合、
module-rebuild add ipw2200
module-rebuild add ieee80211
でリストに追加 (確認は module-rebuild list)。

kernel-configコマンドで /usr/src/linux のリンクを変更したら、module-rebuild rebuild でリストにあるモジュールを一遍に更新してくれる。

Thinkpad の Wireless LANをLinuxで使う

Thinkpad T42のWireless LANのデバイスは、intelのipw2200.
これをLinuxで使用できるようにする方法は二つ。

1. Kernel の一部として配布されているドライバを使う
2. ipw2200 と ieee80211 のプログラムを別途導入

1. を使用するには、別途 firmwareが必要。http://ipw2200.sourceforge.net/firmware.php 参照。
ipw2200-bss.fw
ipw2200-ibss.fw
ipw2200-sniffer.fw
を/lib/firmware に置かないと、使用できません。
また、kernel設定で 80211のWEP を使える設定(80211-crypt-wep)にしておかないと暗号化できません。ipw2200と共に有効にするのを忘れずに。
gentooなら、ipw2200-firmwareをemergeして、カーネルの設定するだけ。楽。

2. を使用するには、 http://ipw2200.sourceforge.net/ で配布されているプログラムが必要。
また、1と同様にfirmwareが必要。 http://ipw2200.sourceforge.net/firmware.php 参照。
そのほか、ieee80211も必要。http://ieee80211.sourceforge.net/ 参照。


1、2どちらもwirelessの設定にはiwconfigコマンドが必要。
Wireless Tools で検索掛ければすぐ見つかります。

Linux で iPod を使う

gtkpod というプログラムを導入。

/etc/fstab に
/dev/sda2 vfat /mnt/ipod user,noauto,noatime,rw,iocharset=cp932 0 0
を追加すると、gtkpod 起動時にmount, 終了時にunmount を自動的にしてくれる。

iocharsetで正しい設定ができていると、gtkpodでも日本語が扱える。

linuxで日本語vfatをマウント

日本語のvfatファイルシステムをマウントするには
*カーネルのファイルシステムセクションで、dosファイルシステムを有効にする

mount -t vfat -o iocharset=cp932 /dev/sda2 /mnt/ipod

iocharsetないと、マウントできないときがある。
たぶんカーネルのdefault設定で回避可能。