つい先日、いつものように自分の端末を立ち上げたら画面が表示されなくなってしまった。
最初はOSのロード画面まで表示されていて、解像度が切り替わるタイミングで、モニタが自動でオフになっていたんだけど、画面が見えない状態で再起動したら、今度はBIOSの起動画面から表示されなくなってしまっていた。
CMOSリセットだとか、グラボの抜き差しとか、色々試してみたけど、なかなか画面が表示されない。
背面のコネクタを抜き差ししようとしたところ、デュアルモニタ対応用に、DVI端子が2つ付いていることを発見。
念の為、元々使っていた端子と反対側の端子に差し込んでPCを起動したところ、なんとかBIOS画面が表示されたので、まずはリセットしたBIOSの設定項目を戻すところから開始。
これならいけるかと、設定完了後にOSを再起動してみたところ、Xが立ち上がる所で、再び画面が非表示に。
試しにコンソールに切り替えたところ、画面が表示されたので、なんとなくnvidiaのプロプライエタリドライバに問題があるのかなーって気がしたので、ドライバをアンインストールして再起動してみたら、案の定画面が表示された・・・けど、なんだか解像度が荒い。
今度は、管理画面から設定を確認してみたら、どうやら接続しているコネクタは、拡張モニタ用で固定だったらしく、クローン状態で表示されているために、低解像度になっていたらしい。
クローン状態のまま、拡張モニタとメインモニタを入れ替えて、メインモニタを無効化したら、なんとか表示を正常に戻すことが出来た。
だけどここで、また問題発生。
最近のウェブサイトでは、ブラウザ上で動作しているくせに、グラボのリソースをガンガン使っているものが多く、表示させるだけでフリーズ状態に。
更には、gnomeもエフェクトが正しく動作しないわ、ちらつくわで、非常にストレスフルな状態になっている。
nvidiaのプロプライエタリドライバが問題、と言うよりも、モニタのメインと拡張を入れ替えれば何とかなりそう、という事に気がついたので、
コンソール上でxorg.confを直接編集して、モニタの主従を入れ替える
まず、以前の設定が記録されているxorg.confが残っていたので、ざっとソースに目を通してみると、TwinViewなるパラメタが存在していることに気がついた。
という事で、TwinViewをどうやって有効化させるか、(国内のサイトにナレッジが無いので)海外のサイトを漁って、ようやく、TwinViewを有効化する方法が判明。
単純にTwinViewの値を1にすればいいんじゃなく、metamodesの値も拡張モニタ側のプロパティを入れてあげないとダメらしい。
ってことで、いじる重要なSectionはScreenだけなんだけど、
MetaModeOrientationはCloneに
metamodesは解像度設定値の前に"DFP:"を追記
と、まぁ、環境にもよるかもしれないけど、大概はこれでいける。
でも、そろそろメインマシンもアップグレードしたいなぁ・・・