実習室Sの生徒用コンピュータを近く更新するが、その前にディスプレイが到着したので交換した。ブラウン管17インチのPVCRT17B を液晶式19インチのLCD-AD198GE と交換。グラフィックメモリの問題で1280で使用するにはBIOSの設定とxorg.confを変える必要があったこと、フレームバッファvesafbのリフレッシュレートの問題で周波数を指定できず、指定解像度を必要以上に増やして回避したことの記録。
グラフィックチップが新しいもので、接続がデジタルケーブルであれば問題はない様なので情報としての価値はあまりないかもしれない。
作業はこの解決の後、梱包を解き組み立てて梱包材の分別処理、旧ディスプレイとスピーカの取り外しなど思ったより手間が多く、平日授業をしながら4日を要した。
起動するとハードウェアのチェック
GRUBの表示
vga=794 がいけないらしく、対応外の信号だと言われる(1)
拡大します
ログイン画面は正常になる
ログイン後もOK。ただし1024の画面を1280にディスプレイ側で拡大しているので汚い(2)
画面の解像度で変更を試みる
現在は1024x768
でも1280x1024が選択肢にない。
/etc/X11/xorg.conf
# xorg.conf (xorg X Window System server configuration file) # # This file was generated by dexconf, the Debian X Configuration tool, using # values from the debconf database. # # Edit this file with caution, and see the xorg.conf manual page. # (Type "man xorg.conf" at the shell prompt.) # # This file is automatically updated on xserver-xorg package upgrades *only* # if it has not been modified since the last upgrade of the xserver-xorg # package. # # If you have edited this file but would like it to be automatically updated # again, run the following command: # sudo dpkg-reconfigure -phigh xserver-xorg Section "Files" EndSection Section "InputDevice" Identifier "Generic Keyboard" Driver "kbd" Option "CoreKeyboard" Option "XkbRules" "xorg" Option "XkbModel" "jp106" Option "XkbLayout" "jp" EndSection Section "InputDevice" Identifier "Configured Mouse" Driver "mouse" Option "CorePointer" Option "Device" "/dev/input/mice" Option "Protocol" "ImPS/2" Option "Emulate3Buttons" "true" EndSection Section "Device" Identifier "Silicon Integrated Systems [SiS] 630/730 PCI/AGP VGA Display Adapter" Driver "sis" BusID "PCI:1:0:0" EndSection Section "Monitor" Identifier "PVCRT17B" Option "DPMS" EndSection Section "Screen" Identifier "Default Screen" Device "Silicon Integrated Systems [SiS] 630/730 PCI/AGP VGA Display Adapter" Monitor "PVCRT17B" DefaultDepth 24 SubSection "Display" # Modes "1280x1024" "1152x864" "1024x768" "832x624" "800x600" "720x400" "640x480" "640x350" Modes "1024x768" "832x624" "800x600" "720x400" "640x480" "640x350" EndSubSection EndSection Section "ServerLayout" Identifier "Default Layout" Screen "Default Screen" InputDevice "Generic Keyboard" InputDevice "Configured Mouse" EndSection
問題部分はここ。17インチCRTだが1280x1024では文字が小さすぎることから1024x768に設定してあったのだ。
Modes "1024x768" "832x624" "800x600" "720x400" "640x480" "640x350"
1280x1024を使えるようにする。
Modes "1280x1024" "1152x864" "1024x768" "832x624" "800x600" "720x400" "640x480" "640x350"
すると珍しくXserverが起動しない
エラーを確認すると
(EE) SIS(0): ************************************************** (EE) SIS(0): ERROR: (EE) SIS(0): Virtual screen too big for memory; 5120K needed, 4096K available (EE) SIS(0): END OF MESSAGE (EE) SIS(0): ************************************************** (II) UnloadModule: "sis" (EE) Screen(s) found, but none have a usable configuration.
Virtual screenというので、もう少しソフトウェア的なものに感ずるけれど、グラフィックに割り当てられるメモリといえば思いつくのは一つ。BIOSで該当項目を探す
VGA Shared Memory が現在8MB
5120K=5.12Mなんだけど、足りないのですね。2MB~32MBまで選択できる。
16MBにしてみる
これで1280x1024で使える様になった。ログイン画面も変わった。
最近のDebianではxorg.confそのものがなくなっている。そこで、xorg.conf中にかかれている、
sudo dpkg-reconfigure -phigh xserver-xorg
を使って、新たにxorg.confを生成してみた。解像度など一切入っていないものが出来上がった。
fish01:/home/c1a09# dpkg-reconfigure -phigh xserver-xorg xserver-xorg postinst warning: overwriting possibly-customised configuration file; backup in /etc/X11/xorg.conf.20100706103357
出来上がったのがこれ。
# xorg.conf (X.Org X Window System server configuration file) # # This file was generated by dexconf, the Debian X Configuration tool, using # values from the debconf database. # # Edit this file with caution, and see the xorg.conf manual page. # (Type "man xorg.conf" at the shell prompt.) # # This file is automatically updated on xserver-xorg package upgrades *only* # if it has not been modified since the last upgrade of the xserver-xorg # package. # # If you have edited this file but would like it to be automatically updated # again, run the following command: # sudo dpkg-reconfigure -phigh xserver-xorg Section "InputDevice" Identifier "Generic Keyboard" Driver "kbd" Option "XkbRules" "xorg" Option "XkbModel" "jp106" Option "XkbLayout" "jp" EndSection Section "InputDevice" Identifier "Configured Mouse" Driver "mouse" EndSection Section "Device" Identifier "Configured Video Device" EndSection Section "Monitor" Identifier "Configured Monitor" EndSection Section "Screen" Identifier "Default Screen" Monitor "Configured Monitor" EndSection
これでもまったく問題がない。
/boot/grub/menu.lst のカーネルオプションとして書かれる、vga=794。起動中の進捗状況の表記が794で1280x1024, 791で1024x768 に設定される。
title Debian GNU/Linux, kernel 2.6.26-2-486 uvesa root (hd0,1) kernel /boot/vmlinuz-2.6.26-2-486 root=/dev/hda2 ro quiet vga=794 initrd /boot/initrd.img-2.6.26-2-486
これが out of range になるという問題。
リフレッシュレートが上がって追随できないということだろう。このような表示が出るのはありがたい。ログイン画面はまた異なる解像度になるので問題は引きずられない。
色々調べたが、
ということらしい。
ディスプレイのセッティングメニューで現在の周波数がわかるようになっているので、調査。(ここのstage1-4はこの説明のために仮に名づけたものでGRUBのstageではない)
model | PVCRT17B | LCD-AD198GE | |
stage | ╲対応範囲 | H30〜70kHz / V50〜160Hz | H24.8〜80.0KHz / V56.3〜75.0 |
1 | GRUBまで | 720x400 31K/70Hz | 720x400 31K/70Hz |
2 | login以前 | new mode 36K/87Hz | -Out of Range- |
3 | login | 1024x768 69K/85Hz | 1280x1024 80K/75Hz |
4 | desktop | 1024x768 48K/60Hz (1280x1024 60K/60Hz) |
1280x1024 80K/75Hz (63K/60Hz) |
desktopのリフレッシュレートは個人設定で変更できる。上記では60Hzになっているが75Hzで使うのがデフォルトだったはず。LCDでは60Hzで充分だが、CATでは60Hzはチラつきが分かってしまう。
ところがフレームバッファが働くステージ2では解像度を指定できても周波数は指定できない。1280xのシリーズではどれにしても OutOfRange になる。
いろいろな値を試すうちに Undefined video Mode の表示がでた。Enterで指定できるモードの一覧を出した。いままではVGAタイプしか一覧になかったが、今回はVESAタイプも並んでいる。
メッセージに「推奨設定:1600x900 60Hz」とあるが上の表には1600x1200しかない。だめでもともとと、vga=0x331 1600x1200x16 を試すとうまくいった。ただし字はとても小さい。
しかし、75K/60Hzと水平周波数は高いので、逆に今度はPVCRT17BでOutOfRangeになる。ディスプレイを換えてしまうので問題ないものの、ディスプレイを換える度に気にかけなければならないのも煩わしい。
この周波数の値はビデオチップに依存するので、マザーボードが異なれば違う値になる。
ちなみにもう一つの実習室にあるvine機ではvga=794の設定で、1280x1024 64K/60Hzである。
廊下に出された旧ディスプレイ。40台は場所をとる。
旧ディスプレイ PVCRT17B
新ディスプレイ LCD-AD198GE