2012/10/12

ubuntu その13  ubuntu 10.10 にアップグレードしたらテキストモードになってしまった

Ubuntu9.04 に LXDE を導入後、電源を交換してCPUを500MHzから1GHzに取り替えた
これで推奨最小システム要件を満たすようになったので,また Gnome, つまり Ubuntu を使うようになった。その後は 9.04 → 9.10 → 10.04 と順調にグレードアップして使っていた。

ところが、10.04 から 10.10 にグレードアップしたら、デスクトップが立ち上がらずにテキストモードの入力画面になってしまった。ネットで最新のカーネルをインストールする解決策を見つけたが,グラフィックが異なる。そこで、Ubuntuの日本語フォーラムに投稿した。

今回はそのフォーラムで教えていただきながら解決していった内容を整理しておきたいと思う。

症状

Ubuntu10.04 を 10.10 にアップグレードしたら入力画面がテキストモードになってしまった。
ctrl + alt + F7でも
*Checking battery state...
でカーソルが画面の右端で点滅してGnomeには戻らない。

システム要件

    CPU  1GHz
    memory 512MB
    HDD     40GB
    Motherboard   K7S5A
    Graphic Board   nVidia Corporation NV11DDR [GeForce2 MX200]
    モニタ Benq FP91G+


解決までの詳細

以下のコマンドを実行(Gnome を一度停止してから再度スタート)

$ sudo gdm stop
$ sudo gdm start

結果は

**(gmd-binary:1383):WARNING**:Failed to quire org.gnome.DisplayManager
**(gmd-binary:1383):WARNING**:Could not acuire name;builing out

次に以下のコマンドを実行(画面表示に関してのエラーをリストアップ)

$  grep '(EE)' /var/log/Xorg.0.log

結果は

     (WW) warning, (EE) error, (NI) not implemented, (??) unknown
[   20.393] (EE) NV: Kernel modesetting driver in uese, refusing to load
[   20.393] (EE) No devices deteched.

Gnome は動いているようだが,グラフィックドライバに問題がありそうだ。

ここで再起動と同時にEscキーを連打してgrubの起動メニューを表示させる。eを押して grubの編集画面に入り、linux行の最後の方にある

quiet splash

という部分に、nomodesetを追記して、

quiet splash nomodeset

とする。 これで再起動したが,入力画面はテキストモードのままだった。

もう一度再起動し, 同時にEscキーを連打してgrubの起動メニューを表示させる。 ここで古いカーネル(Kernel-2.6.31-21-generic)を選択してみると Gnome が正常に動き出した。しかし、これより新しいカーネルではやはり動かない。

再び再起動し、古いカーネルを選択する。端末から
gksudo gedit /etc/X11/xorg.conf
を実行して xorg.conf ファイルを以下のように編集する。
Section "Device"
        Identifier      "Configured Video Device"
        Driver          "nv"
EndSection

Section "Monitor"
        Identifier      "Configured Monitor"
EndSection

Section "Screen"
        Identifier      "Default Screen"
        Monitor         "Configured Monitor"
        Device          "Configured Video Device"
EndSection
しかし、状況に大きな変化なし。次にもう一度端末から
gksudo gedit /etc/X11/xorg.conf
を実行して xorg.conf ファイルを以下のように編集する。
Section "Device"
        Identifier      "Configured Video Device"
        Driver          "vesa"
EndSection

Section "Monitor"
        Identifier      "Configured Monitor"
EndSection

Section "Screen"
        Identifier      "Default Screen"
        Monitor         "Configured Monitor"
        Device          "Configured Video Device"
EndSection
それでも、状況に大きな変化なし。
正解は Driver を"nouveau"もしくは"fbdev"に指定する事だった。
つまり、端末から

gksudo gedit /etc/X11/xorg.conf

を実行して xorg.conf ファイルを以下のように編集する。

Section "Device"
        Identifier      "Configured Video Device"
        Driver          "nouveau"
EndSection

Section "Monitor"
        Identifier      "Configured Monitor"
EndSection

Section "Screen"
        Identifier      "Default Screen"
        Monitor         "Configured Monitor"
        Device          "Configured Video Device"
EndSection
または、
Section "Device"
        Identifier      "Configured Video Device"
        Driver          "fbdev"
EndSection

Section "Monitor"
        Identifier      "Configured Monitor"
EndSection

Section "Screen"
        Identifier      "Default Screen"
        Monitor         "Configured Monitor"
        Device          "Configured Video Device"
EndSection
これで Gnome が立ち上がって、GUI が使えるようになった。
 

原因

Ubuntu10.10 にグレードアップしたら Gnome が立ち上がらなくなったのには(テキストモードになってしまったのには)、Xorg と KMS が関係していた。

XorgX Window System)とはほとんどのLinux系のOS上で入出力を制御しているプログラムだ。Ubuntu系で使われているデスクトップ環境すなわち Gnome, Xfce, KDE のしたではこの Xorg が動いている。(参考:1)

KMSKernel mode-setting)とはカーネルがモニターの解像度、周波数と色深度を設定したり,変更したりする役割を担うという事を意味している。(参考:2)

KMS は Linux の機能として Kernel-2.6.29 から導入された。(参考:3)これは Ubuntu9.04 がリリースされたときのカーネルのバージョンは 2.6.28 で(参照:4)、Ubuntu9.10 がリリースされたときのカーネルのバージョンが 2.6.31 だから(参照:5)、Ubuntu では 9.10 で始めてKMSが導入されたことになる。しかし,この時はまだオプションとしての機能であり(参照:6),標準機能になったのは 10.04 からだ(参照:7)

Ubuntu10.04 ではKMSが標準で有効になっている。KMS が有効だと,それ以前のビデオドライバーの多くが作動しない。nVidia製のビデオカードに対応するドライバーでは、navidia(nVidia社純正), navidiafb, rivafb がこれにあたる。(参照:8)また、vesa, nv も動作しない。(参照:9)

Ubuntu10.04 ではKMSをサポートする nouveau が、nVidiaハードウェア向けの標準ビデオドライバととして採用された。同時に Xorg の方で nVidia純正のドライバーのうち、nvidia-current (190.53)、nvidia-173nvidia-96 の3つもサポートするようになった。(参照:10)

XorgがサポートするようになったnVidia純正のドライバー nvidia-96 があれば使用しているグラフィックボード GeForce2 MX200 を利用できる。(参照:11)この事から、 GeForce2 MX200 は nvidia-96 を使っては正常に機能していたようだ。

しかし、Ubuntu10.10 では採用している Xorg のバージョンが上がり,nvidia-173,nvidia-96とは互換性がなくなった。(参照:12)

そこでnVidia製のビデオカードを利用するには上記のように xorg.conf で、nVidiaハードウェア向けの標準ビデオドライバーである nouveau を指定する必要があったということだった。
  

参考

1. X Window System

 2. Kernel mode-setting
 
 3. http://wiki.debian.org/KernelModesetting

 4. https://wiki.ubuntulinux.jp/Develop/Jaunty/TechnicalOverview

 5. https://wiki.ubuntulinux.jp/Develop/Karmic/TechnicalOverview 

 6. https://wiki.ubuntu.com/KarmicKoala/ReleaseNotes/ja 

 7. https://wiki.ubuntu.com/LucidLynx/ReleaseNotes/ja

 8. http://nouveau.freedesktop.org/wiki/KernelModeSetting

 9. http://wiki.debian.org/KernelModesetting#nVidia_GfxCards

 10. https://wiki.ubuntulinux.jp/Develop/Lucid/TechnicalOverview  

 11. http://www.nvidia.com/object/IO_32667.html 

 12. https://wiki.ubuntu.com/MaverickMeerkat/ReleaseNotes/ja/

0 件のコメント :

コメントを投稿