jumble

アクセスカウンタ

zoom RSS X Window Systemと格闘 その3

<<   作成日時 : 2012/04/05 09:48   >>

ブログ気持玉 0 / トラックバック 0 / コメント 0

X Window Systemと格闘 その3


前の記事

前々回の記事で書いたエラーメッセージの中に、"EDID checksum is invalid"とある。
EDIDとは何だ?
だいたいの予想はつくが一応調べてみる。
このページあたりが参考になる。
要するに、不正なEDIDがビデオ分配器から送られてくることが原因で安定しない、ということだろう。
よって、EDIDを無視したい。
そもそも、自分の席でもWindowsは動いている。
Linuxでも、分配器を介さなければ、同じモニタとパソコン本体の組み合わせで動いている。
なので下手にモニタから情報を採ろうとせずに、動くと分かっている設定で強制的に動かせばいいだけの話のはずだ。
実はxorg.confでEDIDを無視するための設定は、探すと結構いろいろなページが見つかる。
例えば、ここここなど他にもいろいろ。
で、/etc/X11/xorg.confのDeviceセクションに次のようなオプションを追加してみた。

Option "ignoreEDID" "True"

これが、全く効果がなかった。
次も効果なし。

Option "DDCMode" "False"

そもそも、この時のXorg.0.logには、次のような出力が残っている。

[...] (WW) intel(0): Option "ignoreEDID" is not used

DDCModeも同じ。
よく分からないが、とにかく使えないことは確かだ。

でもよく考えると、EDIDのエラーはstartxを打つ前から出ている。
テキストログインにしているので、startxまではXの設定ファイルなんて関係ないはずだ。
とすると、いくらxorg.confをいじくっても解決しそうにない。
そもそも、何故、Xが起動する前にモニターから情報を取得しようとするんだ?
根本的な問題はそこにありそうだ。
で、調べるとこんなページを見つけた。
このページの最後の方に、/etc/default/grubのquietの部分をnomodesetに変えると解決した、とある。
で、そのファイルを見てみると、こんな感じ。

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Fedora"
GRUB_DEFAULT=saved
GRUB_CMDLINE_LINUX="rd.md=0 rd.lvm=0 rd.dm=0 quiet rhgb rd.luks=0 LANG=ja_JP.UTF-8 KEYTABLE=jp106"

早速、よく調べもせずに上のquietをnomodesetに変えて、再起動♪。
あれ?、変化なし。
そもそも、nomodesetって何?
今回はこれが大きな鍵になった。

最新のLinuxは、モニターの情報などを取得する機能がカーネルの中にあるらしい。
で、OS起動時にはそれが動作する。
これを"Kernel-based Mode Setting"(KMS)というらしい。
このページなどが参考になる。
ただ、今回のようにそれが正しくない場合、その機能を無効にすることができる。
それが、nomodesetの指定だ。
と思う。
なるほど、問題はKMSか。
それだとstartxを実行する前に、モニターの情報を取得しようとしていることとも辻褄が合う。
でも、単に/etc/default/grubを変更するだけだと、反映されないらしい。
このページなど。
反映するには次のコマンドを実行する必要があるようだ。

# grub2-mkconfig -o /boot/grub2/grub.cfg

で、再起動してみる。
すると、起動画面が変わった。
左下に角がある円が埋まっていくものじゃなく、下にある白・水色・青のバーが左から右に動いて行くものだ。
なつかしい。
確かFedora 10のときまでの画面じゃないかな。
かつ起動時のメッセージも、画面の大きさを意識していない、かなり大きな字で出力される。
いかにも、モニターの情報など一切ない状態での画面っぽい。
nomodesetが効いてそうだ。
これは期待できそうだ。
ログイン時に入力できない現象がたまに起きる。
だが、EDIDのエラーは発生しなくなった。
ただし、startxを叩くとエラーで終了。
/var/log/Xorg.0.orgを見るまでもなく、画面には次のようなメッセージが出ている。

[...] (EE) No devices detected.
[...]
Fatal server error:
[...] no screens found
[...]
Please consult the Fedora Project support
     at http://wiki.x.org
for help.
[...] Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[...]

Xが起動すらしなくなった。
自分の席だけではなく、正常に動いていた他の席でも起動しない状態だ。
うーん、だめか。
ここで手詰まりになり、もう諦めようかと思ったのだが、気を取り直し、とりあえずもう少し続けることにした。
ちなみに、上ではquietの替わりにnomodesetを指定している。
要するに、quietの指定を消していることになるのだが、 そうすると起動時にメッセージが出力される。
それはそれでいいのだが、ログイン時にそのメッセージが邪魔になることがある。
よって、quietの指定は残した方がよさそうだ。

次の記事

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
X Window Systemと格闘 その3 jumble/BIGLOBEウェブリブログ
文字サイズ:       閉じる