X Window Systemの覚書


本家はhttp://www.x.orgです。
Debian etchでx.orgの場合, /etc/X11/xorg.confがそれである。
/var/log/Xorg.?.logがそれである。?には数字が入る。
$ su # X -configure
でできる。ただし, Xが立ち上がっていないことが前提。 何がしかの調子が悪くて再設定を行いたい場合はsingle usermodeで 立ち上げるなどする。/root/xorg.conf.newというファイルに結果が 出力される。これを/etc/X11/xorg.confに上書きすればいい。
また, 各ディストリビューションで用意されていることも多い。 Debian etcの場合,
$ sudo dpkg re-configure -phigh xserver-xorg
や
$ sudo dexconf
が使える。dexconfは現在の設定を上書きするので注意。
はるか以前のXFree86の時代はXF86ConfigやXconfigureといった コマンドを使用していた。
設定ファイルのテストは
# X -config ./xorg.conf.new
-configで新しい設定ファイルを指定することでできる。
Xが起動されれば成功。Xからコンソールに戻るときは CtrlとAltとBackspaceを同時に押せばよい。
libretto L3のディスプレイは1280x600と特殊な大きさのため, フレームバッファというものを使用する。 Debian etchの場合2つ設定ファイルを編集するだけだが, linux kernel2.2など 旧いものの場合カーネル構築が必要になることもある。
改めて対象のディスプレイのサイズだが, 1280x600, 16bitカラーでの リフレッシュレートは60Hzだと説明書に書いてある。
以下はDebian etchをLibretto L3にインストールしたときの X.orgの設定である。2つの設定ファイルを編集する。
一つ目の設定ファイルの編集は/etc/X11/xorg.conf。Deviceセクション, Monitorセクション, Screenセクションの3つを編集する。
DeviceセクションではDriverをfbdevにする。完成は下記のとおり。
Section "Device" Identifier "S3 Inc. 86C270-294 Savage/IX-MV" # Driver "savage" Driver "fbdev" BusID "PCI:0:4:0" EndSection
Monitorセクションでは1280x600に対応する周波数などを指定する。 Modelineを追加するのだが, 一体これをどうやって計算するのかは わからない。完成は以下のとおり。
Section "Monitor"
Identifier "LibrettoL3"
Option "DPMS"
HorizSync 31.5-50.0
VertRefresh 50-61
Modeline "1280x600" 60 1280 1328 1512 1712
600 601 603 625
EndSection
最後にScreenセクションを編集。Monitorを編集し, DisplayのModesを編集する。 必要なところだけ抽出した最小の記述は以下のとおり。
Section "Screen"
Identifier "Default Screen"
Device "S3 Inc. 86C270-294 Savage/IX-MV"
Monitor "LibrettoL3"
DefaultDepth 16
SubSection "Display"
Depth 16
Modes "1280x600"
EndSubSection
EndSection
全体についてはxorg_conf.html をご参照ください。試行錯誤も入っております。
フレームバッファを用いる場合, 起動時にカーネルにオプションが必要に なる。ここではブートローダーはgrubを使用しているものとする。 単純にmenu.lstのkernel listのkernelオプションにvga=0x405を追加すれば よい。vga=0x405は1280x600で16bitカラーを使うという指定である。 指定したkernel listの例は以下のとおり
title Debian GNU/Linux, kernel 2.6.18-4-486 fbdev root (hd0,0) kernel /boot/vmlinuz-2.6.18-4-486 root=/dev/hda1 ro vga=0x405 initrd /boot/initrd.img-2.6.18-4-486 savedefault
最後に再起動して試せばよい。失敗した場合はsingle usermodeで 起動しなおして再設定を行う。
ここの設定については以下のページを参考にさせていただきました。 感謝いたします。