ThinkPad L412 に Gentoo を入れる (その2)
カーネルセッティングいろいろ (ドライバいろいろ)
Intel HD Graphics の設定
Intel HD Graphics (Arrandale CPU 内蔵コントローラ) の設定。
Device Drivers -> Graphics support -> /dev/agpgart (AGP Support) (AGP [=y]) -> Intel 440LX/BX/GX, I8xx and E7x05 chipset support (AGP_INTEL [=m]) -> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) (DRM [=m]) -> Intel 830M, 845G, 852GM, 855GM, 865G ([=m]) -> i915 driver (DRM_I915 [=m]) -> Enable modesetting on intel by default (DRM_I915_KMS [=y])
KMS (Kernel ModeSetting) を有効にするのを忘れないようにしておく。上のはデフォルトで ON にするスイッチ。他にもブート時に指定する方法 (i915.modeset=1) や modprobe でやる方法もあるみたい。
ちなみに KMS が OFF だと Xorg.0.log にこんなエラーを吐いて立ち上がらない。
(EE) intel(0): No kernel modesetting driver detected.
実際やってみるとわかるのだが、グラフィックの設定は一筋縄ではいかない。検索した感じでは上記スイッチだけで十分らしいのだが、調子にのってカーネルのチューニングやシェイプアップをしまくってしまった結果、見事にカーネルパニックの嵐となった。結局、グラフィック以外の設定も適当に組み込みにしたりモジュールにしてやったら解決したが、どれが決定打なのかはちょっとわからない。
lsmod みてると i2c 周りがあやしい気もするけど。
さらに!
うまく行ったとしても、起動直後は画面がブラックアウト→ X やその他 FB (fbcon やら fbterm やら) を起動しないと画面が暗いまま状態になってしまった。これはインテルグラフィックスでよく起こる問題らしく、検索したところ解決方法をいくつか見つけたのだが、うちの環境ではどれもうまくいかない。 X 起動すれば映るんで、平気といえば平気だが。
有線 LAN の設定
Realtek Gb LAN の設定。
Device Drivers -> Network device support (NETDEVICES [=y]) -> Ethernet (1000 Mbit) (NETDEV_1000 [=y]) -> Realtek 8169 gigabit ethernet support (R8169 [=m])
サウンドカードの設定
Device Drivers -> Sound card support (SOUND [=y]) -> Advanced Linux Sound Architecture (SND [=m]) -> PCI sound devices (SND_PCI [=y]) -> Intel HD Audio (SND_HDA_INTEL [=m])
また、その下のレベルのサポートする各種コーデックにチェックを入れておく。
細かくは不明だったので自分は全てのコーデックにチェックをいれてしまったが、
重要なのは多分この辺。 dmesg みると ALC269 だし。
HDA Intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22 HDA Intel 0000:00:1b.0: irq 34 for MSI/MSI-X HDA Intel 0000:00:1b.0: setting latency timer to 64 hda_codec: ALC269: BIOS auto-probing.
SD/MMC/MS カードリーダ
内蔵 SD カードリーダ。多分標準コントローラドライバでいける。
Device Drivers
-> MMC/SD/SDIO card support (MMC [=m])
-> SDHCI support on PCI bus (MMC_SDHCI_PCI [=m])
こちらはメモステ用。JMicron Technology Corp. MS Host Controller 。
Device Drivers -> Sony MemoryStick card support (EXPERIMENTAL) (MEMSTICK [=m]) -> JMicron JMB38X MemoryStick interface support (MEMSTICK_JMICRON_38X [=m])
lspci を見ると xD カード用のデバイスもあるが、これは今のところ不明。
カメラ
製造元不明 (Lenovo オリジナル?) のカメラだけど、 UVC ドライバでいいらしい。
Device Drivers
-> Multimedia support (MEDIA_SUPPORT [=m])
-> Video capture adapters (VIDEO_CAPTURE_DRIVERS [=y])
-> V4L USB devices (V4L_USB_DRIVERS [=y])
-> USB Video Class (UVC) (USB_VIDEO_CLASS [=m])