読者です 読者をやめる 読者になる 読者になる

CLFS SVN導入メモ2

linux-2.6.27.18 config

俺のGeForce8200チップセットの場合の設定は http://www.nvidia.com/object/linux_nforce_1.23.html にあった。

  • hda-intel.c
  • ahci.c
  • amd74xx.c

このへんを有効にした。

NVIDIAドライバがインストールできない

インストーラを実行しても

line 621: ./nvidia-installer: no such file or directory.

と出て終了してしまう。
http://www.nvnews.net/vbulletin/showthread.php?t=56954
これは64bit環境の場合、インストーラが/lib64, /usr/lib64にハードコーディングしてるせい。

# ln -s lib /lib64
# ln -s lib /usr/lib64

これで対処。インストールが終わったらこれらシンボリックリンクは削除したほうがいいかも。

DVI相性問題きたああああああああ

マジかよ。調べた結果、俺のディスプレイRDT158Sは最新のNVIDIAハードウェアに対応していない。
具体的にはDVI側のEDIDが不正。DVI端子を装備した初期の製品にはありがちなことらしい…ッ!D-Subでは正常にEDIDを渡してるようだ。Windows7側でも同様。

LinuxのNVIDIAドライバは幸い対処方法があった。
http://blog.goo.ne.jp/abigshot/e/e561d738c15925d0100fa39d7d6a60ad
この方と同じ方法でまずD-Subにしてnvidia-settingsを起動し[Acquire EDID]でedid.binを保存(/usr/share/edid.binにした)。
xorg.confを編集。

Section "Device"
(中略)
  Option "ConnectedMonitor" "DFP-0"
  Option "CustomEDID" "DFP-0:/usr/share/edid.bin"
EndSection
ConnectedMonitor
EDID情報が不正だとD-Subにとりあえず出力する仕様らしい。このオプションでそれを強制的にDVIに直す。
CustomEDID
D-SubのEDIDを用いる。バイナリは自分で書き換えなくてもいいみたい。

これでLinuxは正常に映った。

Windowsはいろいろ試したが全部だめ。検索ノイズになると思うので詳細は書かないがレジストリのEDIDを手で書き換えても意味無しだった。
しかしNVIDIAドライバ(Vista 64bit用)を何度も入れなおしてるうちに、EDIDなしの適当なモニタとしてDVIに出力してくれたので多少チラつくがこれで使うことにする。おそらくドライバ再インストールしたりするとまた見えなくなるだろう。

Linuxのドライバでは出来るのにWindowsのドライバではできないなんて悔しいな。

INF を使用してモニターの EDID をオーバーライドする方法
たぶんこれが鍵になるだろうが読んでも俺には理解できなかった。
まだ公開されて間もないので認知されてないうえに、古いDVIの相性問題に気づいてるユーザ自体少なそうなので全然Web上で情報が見つからない。

Windowsハッカーの皆さんマジでこれ解読してHowto記事作ってほしい。

X.org 7.4 大幅変更

話は戻りましてCLFSの設定。
BLFS開発版通りにX.org 7.4導入したのはいいが7.3 -> 7.4は大幅な変更があったらしくXorg -configureしてもxorg.conf.newがスカスカでほとんど骨組みしか出力されていない。
そしてマウスとキーボードが全然動かない。コンソールに抜けることすら不可能でリセットを余儀なくされた。

どうやらhal依存になってとりあえずはマウスとキーボード設定がhalで処理されるようになったらしい。

Section "ServerFlags"
  Option "AutoAddDevices" "False"
EndSection

とりあえずこれでhal無効にしてこれまでのxorg.conf設定を使えるようになるらしいが、俺はやらないで新しい方法を受け入れることにした。

まず、マウスとキーボードが動かないのは従来のmouse,kbdドライバで管理してないから。不要だと思って入れなかったevdevで一括しているらしい。evdevのモジュールもきちんと入れたら動いた。
日本語入力は
http://freebsd.xo-ox.net/x11/xorg74inst
この方の記事にある設定をそのまま/etc/hal/fdi/policy/10-keyboard.fdi等を作って書けばok.

7.4関連を検索すると某お隣さんOSの情報ばかりひっかかるが、あまり彼ら固有の設定は気にしないで必要な情報だけ素直に頂いていけば大丈夫だった。