HP Compaq 2210b/CT Notebook PCでXorgを使う

ノートPC(HP Compaq 2210b/CT Notebook PC)にCentOS 6をテキストモードにてインストール、後からXorg諸々を追加インストールした。
だがしかし、Xorgの解像度が最大でも1024x768にしかならなく左右に余白(実際には黒だけど)が出来て四苦八苦。
ネットを検索すると「認識しない解像度はxrandrコマンドで強制的に追加する」みたいな記事しかヒットしなくて、その記事の通りにやってもうまくいかなくてね(苦笑)。
やっぱりネットの情報は100%信用してはいけないと思う(自分がブログで発信している情報も信用しないでねw)。

結局は自力で一個ずつ試せることをやっていくしかなくなった(笑)。
まずはXorgの設定ファイル(/etc/X11/xorg.conf)を確認してみる。

Section "Device"
	Identifier "Videocard0"
	Driver "vesa"
EndSection

シンプルなものが自動生成されていました。
気になるのは内蔵VGA(i915)なのにvesaドライバーで動いている点。
そのvesaドライバーをintelドライバーに変えると致命的エラーが出てXorgが起動しないという問題。
シンプルすぎる設定ファイルに「Section "Monitor"」や「Section "Screen"」を追加したけど、てんでダメ→詰み(笑)

再度ネットを調べると「intelドライバーはKMS(Kernel Mode Setting)が有効にならないと動かない」という情報を見つけた。
「kernelの起動パラメータに"nomodeset"を指定するとKMS(Kernel Mode Setting)を無効に出来る」とも。

早速GRUB設定ファイル(/etc/grub.conf)を確認してみる。

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/mapper/VolGroup-lv_root
#          initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.32-504.8.1.el6.i686)
	root (hd0,0)
	kernel /vmlinuz-2.6.32-504.8.1.el6.i686 ro root=/dev/mapper/VolGroup-lv_root nomodeset rd_NO_LUKS rd_NO_MD rd_LVM_LV=VolGroup/lv_swap crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=jp106 rd_LVM_LV=VolGroup/lv_root LANG=ja_JP.UTF-8 rd_NO_DM rhgb quiet
	initrd /initramfs-2.6.32-504.8.1.el6.i686.img
title CentOS (2.6.32-279.el6.i686)
	root (hd0,0)
	kernel /vmlinuz-2.6.32-279.el6.i686 ro root=/dev/mapper/VolGroup-lv_root nomodeset rd_NO_LUKS rd_NO_MD rd_LVM_LV=VolGroup/lv_swap crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=jp106 rd_LVM_LV=VolGroup/lv_root LANG=ja_JP.UTF-8 rd_NO_DM rhgb quiet
	initrd /initramfs-2.6.32-279.el6.i686.img

ビンゴ!!!(笑)
テキストモードにてインストールしたからなのか、勝手に"nomodeset"が指定されてました。
以下のようにして修正して無事1280x800の解像度で表示できるようになりました。

Xorg設定ファイル(/etc/X11/xorg.conf)

Section "Device"
	Identifier "Videocard0"
	Driver "intel"
	BusID "PCI:0:2:0"
EndSection

Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
EndSection

Section "Screen"
        Identifier "Screen0"
        Device     "Videocard0"
        Monitor    "Monitor0"
        SubSection "Display"
                Viewport   0 0
        EndSubSection
EndSection

GRUB設定ファイル(/etc/grub.conf)

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/mapper/VolGroup-lv_root
#          initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.32-504.8.1.el6.i686)
	root (hd0,0)
	kernel /vmlinuz-2.6.32-504.8.1.el6.i686 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS rd_NO_MD rd_LVM_LV=VolGroup/lv_swap crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=jp106 rd_LVM_LV=VolGroup/lv_root LANG=ja_JP.UTF-8 rd_NO_DM rhgb quiet
	initrd /initramfs-2.6.32-504.8.1.el6.i686.img
title CentOS (2.6.32-279.el6.i686)
	root (hd0,0)
	kernel /vmlinuz-2.6.32-279.el6.i686 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS rd_NO_MD rd_LVM_LV=VolGroup/lv_swap crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=jp106 rd_LVM_LV=VolGroup/lv_root LANG=ja_JP.UTF-8 rd_NO_DM rhgb quiet
	initrd /initramfs-2.6.32-279.el6.i686.img

おまけでOS起動画面がスプラッシュで格好良くなりました。
ついでに要らぬ不具合も...ランレベル3で起動して"startx"でXorgを起動して、終了するとテキストスクリーンに戻ってこないでブラックアウトします。
シャットダウンや再起動は出来るのでハングアップしているわけではないようです。
こっちはまだ解決策を見つけられず...むむむ。

※2015/03/06 追記
解決方法を見つけた。Section "Device"にOptionを2行追加するだけです。
Xorgのセッションを終了するとバックライトがオフになって暫く元に戻らないみたい。
時間が経てばバックライトはオンになりますが...。

Xorg設定ファイル(/etc/X11/xorg.conf)

Section "Device"
	Identifier "Videocard0"
	Driver "intel"
	Option "AccelMethod" "sna"
	Option "Backlight" "intel_backlight"
	BusID "PCI:0:2:0"
EndSection

Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
EndSection

Section "Screen"
        Identifier "Screen0"
        Device     "Videocard0"
        Monitor    "Monitor0"
        SubSection "Display"
                Viewport   0 0
        EndSubSection
EndSection