Ubuntu8.10をデュアルディスプレイにしようとして苦労する(未解決)

Ubuntuにも大分慣れて来たのでデュアルディスプレイに挑戦してみました。

WindowsではM2A-VM HDMIのオンボードVGAとUSB-RGBを使ってデュアルディスプレイを構築してたけど、UbuntuでUSG-RGBは使えなさそうなので新しくグラフィックボードを購入しました(WindowsとUbuntuはデュアルブート)。選んだのはRH3450-LE256H/HS。ローエンドだけどゲームとか興味ないので出力すればそれでよし。

■ここからありのままに起こったことだけを書くと…

1.まずはWindowsで認識させる。

RH3450-LE256H/HSを挿してWindowsを起動したところオンボードVGA側からの出力がされずハードウェアとしても認識されない。ここでBIOSを調べたところPCIExpressが優先させる設定となっていた。今までになにも挿さってなかったPCIExpressスロットにRH3450-LE256H/HSを挿したことで、オンボードVGAデバイスが無視されるようになったと推測。オンボードVGAを優先させるよう変更したところ、VGAデバイス、PCIExpressの両方から出力され、2つのVGAデバイスが認識されるようになった。成功。

2.Ubuntuで認識させる。

これで起動したところ、Xが起動せずCUIモードのログイン画面が出力された。startxと入力しても"デバイスが見つからない"と表示される。ここで、元のBIOS設定(PCIExpressを優先)に戻して起動したところ、PCIExpressから出力され、オンボードVGAからは出力されなかった。

  1. RH3450-LE256H/HSを挿す前はオンボードVGAから出力されていた
  2. RH3450-LE256H/HSを挿した後はRH3450-LE256H/HSから出力された

以上より、ハードウェア側に問題はないと判断し、Ubuntuの設定を見ていく事にした。

■Xorg.confを設定

Xが起動しない、ということはXorg.confの設定に問題があると踏み調査。といっても知識がなくxorg.confをデフォルトに戻したりするだけで全然解決しない。こうなったら!で別パーティションにもう一つUbuntu8.10をインストールしてそこから設定ファイルを取り出す事にした。オンボードVGAが優先されるBIOSでOSインストールを行えば、その状態にあった設定ファイルが生成されるはず。

ちなみに以下はUbuntuでデュアルディスプレイに成功しているリンク集。

■Ubuntu8.10インストール

パーティションを切ってUbuntu8.10インストール→起動したところ、オンボードVGAが優先されるBIOSでXが正常起動しました。ほーら!思った通りじゃん!早速xorg.confを確認したところ…ん?さっきの設定と同じだぞ…。

ここで、制限付きグラフィックドライバ(※1)を導入するか問うアラートが上がったので見てみると…お!2つのVGAデバイスが認識されてる!(※2)ここでドライバをインストールして再起動するとデュアルディスプレイになるかな!?⇒残念ながらXが起動しなくなりました。

その後、BIOSをPCIExpress優先にするとXが起動するあたり最初にインストールしていたUbuntuと全く同じ症状。制限付きドライバを使わないよう設定を戻しても症状は治りません。今は3つ目のUbuntuをインストールして、次に行う検証を考えてます。

※1 UbuntuではデフォルトでOS提供のドライバを使うが、NVIDIAやATIが提供する非オープンソース(=制限付き)のドライバを使うことも出来る。後者の方が性能は上だが、オープンソース信奉者の中には嫌がる人もいる。

※2 これは制限付きドライバのインストール選択画面でドライバの選択肢が2つ上がったため、2つのVGAデバイスに別々のドライバを適用する=2つのVGAデバイスが認識できているものと思った。しかし、3つ目のUbuntuではこの画面で1つしかドライバが表示されず、詳細は不明。

■まとめ

BIOSでPCIExpress優先にした場合

_オンボードVGARH3450-LE256H/HS
WindowsXP×
Ubuntu(制限付きドライバ導入前)×
Ubuntu(制限付きドライバ導入後)×

これはハードウェアレベルでオンボードVGAが無視されている。OSの設定で解消するのは難しい。

・BIOSでオンボードVGA優先にした場合

_オンボードVGARH3450-LE256H/HS
WindowsXP
Ubuntu(制限付きドライバ導入前)×
Ubuntu(制限付きドライバ導入後)△(X起動せず)×

制限付きグラフィックドライバを一度導入しただけで、Xが起動しなくなる。

  • 制限付きグラフィックドライバ導入前、OS側で2つのVGAデバイスが存在することは認識している…と思う。
  • 制限付きドライバを導入すると、なんらかの動作(競合とか?)が働いてXが起動しなくなる。ログには"デバイスが見つからない"と表示されるが詳しいことは追えてない。
  • 「制限付きドライバを使用しない」に設定してもXが起動しないのは、一度制限付きドライバをダウンロード→保存してしまっているためX起動時にチェックを行いエラーとなっている?
  • あるいは設定ミスで、まだ制限付きドライバが使われているのかも?

以上の事が推測される。次に行う検証項目は以下の通り。

1.ドライバ導入前OS・後OSの差分を取得するためのfind,diff書式

現在、制限付きドライバ導入前のUbuntuと導入後のUbuntuが存在するので、それらの差異を確認する。そのためにfindで全ファイルを出力しdiffで差異を出力したい。

2.ドライバ保存場所特定

Ubuntuが一般的にダウンロードしたドライバをどこに保存するのか調べる。そのファイルを消せば「制限付きドライバ導入後」⇒「制限付きドライバ導入前」の状態に戻せるかもしれない。今後の検証を考えると"何かあったときに戻せる"というのは重要である。

3.制限付きドライバ導入前状態で、xorg.confをデュアルディスプレイ稼動するよう書き換えてみる。

制限付きドライバ導入前の状態ではオンボードVGAが表示できる。ということは、xorg.confの設定次第でデュアルディスプレイ設定が可能!?aticonfigというコマンドでATIチップに合ったxorg.confを生成してくれるみたいなので試してみる。ATIのドライバ導入してないと無理かなぁ…。

4.KDE試してみる

GNOMEでテストしてるけどKDEはどうなんだろう?

5.RH3450-LE256H/HSを抜いてオンボードVGA優先BIOSで起動してみる

Xが起動しないのがBIOS設定のせいではない事を確認。

6.grub.confの設定方法

今回の問題とは別件だが、たくさんUbuntuをインストールしたらGRUBの画面に選択肢が増えてしまったので削除したい。あと、最後にインストールしたUbuntuを消去したときGRUBがどうなるのか動きを確認しないと。

マルチブートの仕方(プロローグ)

とにかく、ちょっとトライ&エラーで足元がおぼつかないので腰すえてログ見ようかな、と思います。

勉強LINUX

Posted by tera