aswww log

エンジニアの技術録。アプリとかウェブとか

Ubuntuマルチディスプレイで高解像度の設定

Ubuntu 12.04STでマルチディスプレイしようとしたら思わぬところでつまずいたのでその対処とかを作業録も含めて綴ります。

ビデオカードのDVIとHDMIにそれぞれディスプレイをつなぎUbuntuの[設定]→[ディスプレイ]を開き灰色になっている方のディスプレイを選択して

 ・一番上のスイッチを[オン]
 ・解像度を1680×1050(16:10)に変更

して[適用]を押すと以下のエラーがそれぞれ表示された。 

要求した CRTC 148 の位置やサイズが許容範囲を超えました: 位置 (1280, 230)、サイズ (1680, 1050) / 許容範囲 (2560, 2560)
GDBus.Error:org.gtk.GDBus.UnmappedGError.Quark._gnome_2drr_2derror_2dquark.Code3

原因を調べてみたところXの設定が絡んでいるとのこと。早速/etc/X11/xorg.confの以下のVirtualを修正する。

Section "Screen"
        Identifier "amdcccle-Screen[1]-0"
        Device     "amdcccle-Device[1]-0"
        DefaultDepth     24
        SubSection "Display"
                Viewport   0 0
                Virtual   2960 2560 ※1
                Depth     24
        EndSubSection
EndSection


※1 Virtualの設定値は左側に「全てのディスプレイ横解像度合計値」以上、右側に「全てのディスプレイ縦解像度合計」以上を設定する必要がある。
例えば解像度1680×1050のディスプレイ2つでマルチディスプレイする場合、少なくとも以下の数値以上を設定する

Virtual 3360 2100


修正したら保存して再起動。ちょっと時間かかったけど起動に問題は無し。(ただしシングルディスプレイ状態に戻ってた)
そのまま[設定]→[ディスプレイ]でさっきと同様の設定をして適用を押すと、しばらく反応無し。
数秒後に以下のエラーメッセージが表示された。

設定の適用に失敗しました: %s タイムアウトエラー

それと同時に以下の正常に設定が行えた時のメッセージも表示された

ディスプレイの設定に問題はありませんか?

ここで[この設定のままにする]を選択すると、問題なくマルチディスプレイが有効になりました。

起動が遅いのとタイムアウトエラーの発生は気になるものの、一旦操作とかに問題無いようなので、作業はこのくらいまでにしようかと思います。
調べるのに大分時間使っちゃったし...。もしもっとナイスは解決方法あったら教えてエロい人(・ω・)/


参考:
Ubuntuでマルチディスプレイ http://watermans-linuxtips.blogspot.jp/2009/03/ubuntu.html