Linux技術情報
X.orgでモニターの設定が 1024x768迄しか選択できない場合の変更方法
X.orgでモニターの設定が 1024x768迄しか選択できない場合の変更方法
本ページに記載してある内容は限られた評価環境に於ける検証結果に基づいたものです。本ページの情報を利用する前に予め技術情報、ディストリビュータが提供する WEBサイト等をご覧ください。
対象環境
- Red Hat Enterprise Linux 6
- Red Hat Enterprise Linux 7
- SUSE Linux Enterprise Server 11
- SUSE Linux Enterprise Server 12
発生する問題について
昨今 X.orgはビデオコントローラや接続しているディスプレイモニタ情報を全て自動で取得し最適に設定します。この機能をあてにした Red Hat Enterprise Linux 6の gnome-display-properties(システム⇒設定⇒ディスプレイ)には、ディスプレイモニタの手動選択機能がなくなり、X.orgの自動認識機能だけではディスプレイモニタや解像度設定の変更が行えないケースがあります。この問題が発生する要因としては下記があげられます。
- ユーザ毎の解像度設定が保存されてしまっている
- ビデオ出力端子を複数装備している場合にミラー画面が作成されている
本ページではこれらを原因とした問題が発生した環境に対し、1024x768を越えた解像度が利用できる様にするための回避方法について説明致します。
RHEL6.0(以降)の場合 - ログイン後に解像度が低くなる場合
本項が対象とするのは下記の環境についてです。
- runlevel 5のログイン画面では 1024x768を越える解像度になっているのに、ログイン後に 1024x768迄の解像度に変更されてしまう。
本現象では、システムのディスプレイモニタと解像度設定は正常に行われていますが、ログイン後に gnome-display-propertiesが個々のユーザ毎に保存している monitor.xmlファイルに記載された解像度をログイン後に設定しなおしているために発生します。gnome-display-propertiesを利用しても目的の解像度に変更できない場合には、一度 ~/.config/monitors.xmlを削除してください。
RHEL6.0(以降)の場合 - ディスプレイモニタの情報取得は成功するが、ミラー画面が作成されている場合
本項が対象とするのは下記の環境についてです。
- gnome-disaplay-propertiesを起動し `複数の画面をミラーする`がチェックされており、このチェックを外した場合に別途オリジナルなサブディスプレイモニタが表示され、そのディスプレイの解像度が 1024x768を越える値を有しているのに、メインディスプレイが 1024x768迄しか設定できない場合。
本現象が発生するのは主に G5p以降の ProLiantの内、筐体の背面と正面あわせて 2ヶのモニタ出力端子が装備されている機種となります(必ずこの現象が発生するとは限りません。例、ML370 G6)。このハードウェア環境ではモニタ出力端子の個数分だけディスプレイモニタが存在すると X.orgに誤認識される場合があります。この問題が発生した場合、オリジナルのディスプレイモニタは正常認識されていますが、誤認識したメインディスプレイの低い解像度に引っ張られて、1024x768を越えた解像度を利用する事ができない状況となります。
問題が発生する環境で #xrandrを起動すると下記の様に、VGA-0と VGA-1が認識され、VGA-1の解像度が 1024x768迄しか利用できない状況となっています。
#xrandr
Screen 0: minimum 320 x 200, current 1024 x 768, maximum 3200 x 1280
VGA-1 connected 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
1024x768 60.0*
800x600 60.3
640x480 59.9
VGA-0 connected 1024x768+0+0 (normal left inverted right x axis y axis) 338mm x 270mm
1280x1024 60.0 +
1152x864 75.0
1024x768 75.0 70.1 60.0*
832x624 74.6
800x600 72.2 75.0 60.3
640x480 75.0 72.8 59.9
720x400 70.1
問題が発生しない環境での #xrandrでは下記の様に表示され、VGA-1は disconnectedと正常認識されています。
#xrandr
Screen 0: minimum 320 x 200, current 1024 x 768, maximum 3200 x 1280
VGA-0 connected 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
1280x1024 60.0 +
1152x864 75.0
1024x768 75.0 70.1 60.0*
832x624 74.6
800x600 72.2 75.0 60.3
640x480 75.0 72.8 59.9
720x400 70.1
VGA-1 disconnected (normal left inverted right x axis y axis)
本現象を回避するには、grub.confでの解像度指定では回避できません。xrandrで手動の解像度設定追加でも可能ですが、本書ではより簡単な xorg.confを作成し手動で解像度を設定する方法を説明します。
下記は 1280x1024の解像度を利用する場合の例です。但し、この設定以降も gnome-display-propertiesのメインディスプレイは 1024x768の解像度設定を示します。
#init 3
#X -configure
#mv xorg.conf.new /etc/X11/xorg.conf
#vi /etc/X11/xorg.conf
・ ・ ・
SubSection "Display"
ViewPort 0 0
Depth 24
Modes "1280x1024" ⇒⇒ この行を追加
EndSubSection
・ ・ ・
#init 5
Red Hat Enterprise Linux 6.1の場合について
Red Hat Enterprise Linux 6.1でもミラーディスプレイの誤認識は発生します。但し、機種によっては問題が発生しなくなっているものもあります(DL380G7)。ミラーディスプレイの誤認識が発生した場合、前述の RHEL6.0に於ける xorg.confを作成する方法での回避は可能です。
Red Hat Enterprise Linux 6.2~6.3の場合について
#X -configureで作成した xorg.conf.newの内容が Red Hat Enterprise Linux 6.1迄とは異なり、Screenが 0, 1, 2と 3ヶ作成されますので、前述した `Modes "1280x1024"`の追加位置を Screen 0ブロックに追加する必要があります。
#init 3
#X -configure
#mv xorg.conf.new /etc/X11/xorg.conf
#vi /etc/X11/xorg.conf
Section "ServerLayout"
Identifier "X.org Configured"
Screen 0 "Screen0" 0 0
Screen 1 "Screen1" RightOf "Screen0
Screen 2 "Screen1" RightOf "Screen1
・・・
・・・
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
・・・
・・・
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1280x1024" ⇒⇒ ここに追加
EndSubSection
EndSection
Section "Screen"
Identifier "Screen1"
Device "Card1"
Monitor "Monitor1"
・・・
・・・
EndSubSection
EndSection
Section "Screen"
Identifier "Screen2"
Device "Card2"
Monitor "Monitor2"
・・・
・・・
EndSubSection
EndSection
#
その他の注意点となる ~/.config/monitors.xml等は従来の Red Hat Enterprise Linux 6.1迄と同様に存在しますので、解像度が変わらない場合にはファイルを削除してください。
Red Hat Enterprise Linux 6.4の場合について
Red Hat Enterprise Linux 6.4を導入した場合、ミラー画面が作成されている訳でないにも関わらず解像度が 1024x768を越えられない場合があります。この場合 #xrandrでは VGA-0が認識されず VGA-1のみが認識されています。本現象が発生した場合、Screen0, Screen1, Screen2, Screen3配下の Display全てに Modes "1280x1024"を追加してください。
#init 3
#X -configure
#mv xorg.conf.new /etc/X11/xorg.conf
#vi /etc/X11/xorg.conf
Section "ServerLayout"
Identifier "X.org Configured"
Screen 0 "Screen0" 0 0
Screen 1 "Screen1" RightOf "Screen0
Screen 2 "Screen1" RightOf "Screen1
Screen 3 "Screen1" RightOf "Screen2
・・・
・・・
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
・・・
・・・
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1280x1024" ⇒⇒ ここに追加
EndSubSection
EndSection
Section "Screen"
Identifier "Screen1"
Device "Card1"
Monitor "Monitor1"
・・・
・・・
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1280x1024" ⇒⇒ ここに追加
EndSubSection
EndSection
Section "Screen"
Identifier "Screen2"
Device "Card2"
Monitor "Monitor2"
・・・
・・・
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1280x1024" ⇒⇒ ここに追加
EndSubSection
EndSection
Section "Screen"
Identifier "Screen3"
Device "Card3"
Monitor "Monitor3"
・・・
・・・
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1280x1024" ⇒⇒ ここに追加
EndSubSection
EndSection
#
その他の注意点となる ~/.config/monitors.xml等は従来の Red Hat Enterprise Linux 6.3迄と同様に存在しますので、解像度が変わらない場合にはファイルを削除してください。
Red Hat Enterprise Linux 6.5の場合について
Red Hat Enterprise Linux 6.5を導入した場合、#X -configureを実行すると Xがクラッシュし xorg.conf.newが modesettingドライバを利用したものが作成される構成があります。本現象が発生する環境でこのファイルを利用した場合、Xの起動が失敗したり #gnome-property-displayで画面の変更を行うと GDMのログイン画面に引き戻される等の事象が発生します。本現象は xorg-x11-server-Xorg-1.13.0-23.1と ProLiant Gen8の MGAビデオを搭載した DL360p Gen8で発生する事を確認しています。現時点での回避策は下記となります。
- RHEL6.4で作成したxorg.conf.new(DL360p Gen8で採取したもの)を利用する。
- xorg-x11-server-Xorgを RHEL6.4のものにダウングレードする(他のパッケージに依存関係が発生します)。
上記の現象が発生しない環境での対象方法は、従来の Red Hat Enterprise Linux 6.4と同様となります。
その他の注意点となる ~/.config/monitors.xml等は従来の Red Hat Enterprise Linux 6.4迄と同様に存在しますので、解像度が変わらない場合にはファイルを削除してください。
UEFI機の場合には、モニターの設定取得に失敗する可能性があります。設定方法は後述する Red Hat Enterprise Linux 6.6のものを参考にしてください。
Red Hat Enterprise Linux 6.6, 6.7の場合について
BIOS機の場合 - Red Hat Enterprise Linux 6.6, 6.7を導入した場合、モニター画面の誤認識問題は発生しません。#xrandrでは VGA-1のみ認識されます。#gnome-display-propertiesで 1024x768超の解像度への変更が可能です。ProLiant DL360p Gen8, ML350p Gen8, DL360 Gen9で確認しました。
UEFI機の場合 - Red Hat Enterprise Linux 6.6, 6.7を導入した場合、モニター画面の謝認識問題は発生しません。#xrandrでは VGA-1のみ認識されます。但し、モニターの設定取得に失敗しているため #gnome-display-propertiesでの 1024x768超への解像度変更はできません。下記の方法を参考に設定を行ってください。本現象は ProLiant DL360p Gen9の UEFIモードで確認しました。
#init 3
#X -configure
#mv xorg.conf.new /etc/X11/xorg.conf
#vi /etc/X11/xorg.conf
・・・
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
HorizSync 30.0 - 75.0 ←← 追記する
VertRefresh 60.0 - 75.0 ←← 追記する
EndSection
・・・
#
[19-JUN-2015] DL385 G7ではミラーディスプレイの誤認識が発生しました。本認識状況は RHEL6.4の場合と同等で、当該回避方法が有効でした。
Red Hat Enterprise Linux 7.0~7.2の場合について
BIOS機、UEFI機共通 - Red Hat Enterprise Linux 7.0~7.2を導入した場合、モニター画面の誤認識問題は発生しません。#xrandrでは VGA-0のみ認識されます。#gnome-control-center displayで 1024x768超の解像度への変更が可能です。
[19-JUN-2015] DL385 G7ではミラーディスプレイの誤認識が発生しました。RHEL7のディスプレイ設定では、VGA-0と VGA-1のディスプレイを個別に on/offが可能となっています。`複数のディスプレイをミラーする`のチェックを外し `不明なディスプレイ`のみを off設定する事で、本来のディスプレイ側での解像度変更が有効になります。
SLES11/SP0~SP2の場合について
SUSE Linux Enterprise Server 11でもミラーディスプレイの誤認識は発生します。現状確認しているのは SP2ですが、ハードウェア構成、ソフトウェアのアップデート状況によっては SP2未満でも発生する可能性があります。
本現象はインストーラのセカンドステージでは 1280x1024等の自動認識ができていても、インストール完了後には 1024x768迄の解像度しか利用できないものとなります。1024x768ではなく 800x600迄しか利用できない現象が発生する場合もあります。
SLESの場合、ログイン前だけ解像度が低くなる現象は見受けられません。
YaSTのディスプレイでは、ディスプレイモニタの情報取得は成功しますが、存在しないミラー画面が作成されます。技術的詳細については前述の `RHEL6.0(以降)の場合 - ディスプレイモニタの情報取得は成功するが、ミラー画面が作成されている場合`をご覧ください。但し、ハードウェア構成によってはミラー画面は `ディスプレイ`(gnome-dispaly-properties)では表示されない場合があります。また、`グラフィックカードとモニタ`(SaX2)の設定変更等では回避できません。詳細については下記となります。限定的に確認した機種としては記載の 2機種となります。
- ML370G6、DL385G7共に、対処後の`ディスプレイの設定`(gnome-dispaly-properties)では、解像度が 1280x1024として設定表示される。`グラフィックカードとモニタ`(SaX2)では、1280x1024としては表示されない。
- ML370G6は、ディスプレイの設定(gnome-dispaly-properties)では、`複数の画面をミラーする`のチェックボックスが ONにはなっていないが、DL385G7では、チェックボックスが ONとなっている。
- ML370G6は、#xrandrの結果として VGA-1のみに解像度設定が表示され、VGA-0は disconnectedと表示される。DL385G7は、xrandrの結果として VGA-0、VGA-1共に解像度設定が表示される。
下記は 1280x1024の解像度を利用する場合の例です。ちなみに、 SLES11/SP2では Displayセクションは 1ヶ所しか作成されません。
#init 3
#X -configure
#mv xorg.conf.new /etc/X11/xorg.conf
#vi /etc/X11/xorg.conf
・・・
SubSection "Display"
ViewPort 0 0
Depth 24
Modes "1280x1024" ⇒⇒ この行を追加
EndSubSection
・・・
#init 5
SLES11/SP3, SP4の場合について
SUSE Linux Enterprise Server 11/SP3, SP4でミラーディスプレイの誤認識が発生した場合、YaSTの`ディスプレイの設定`からミラーモニタを個別に offにする事で解像度の変更が可能になっており、xorg.confを作成してから修正し適用する必要がなくなりました。従来の SP2ではモニタの個別の on/offトグルは利用できませんでしたが、SP3では`複数の画面をミラーする`のチェックを外した後で `不明`のモニタを選択すると offに変更する事が可能ですので、実際のモニタに割り当てた 1280x1024等の解像度が利用可能になります。
SUSE Linux Enterprise Server 12の場合について
BIOS機、UEFI機共通 - SUSE Linux Enterprise Server 12を導入した場合、モニター画面の誤認識問題は発生しません。#xrandrでは VGA-0のみ認識されます。#gnome-control-center displayで 1024x768超の解像度への変更が可能です。
備考
本現象は、一般のノートPC(液晶ディスプレイの他に外部接続コネクタが装備されている機種)でも同様の現象が発生する場合があります。
Open Source & Linux
2015年11月1日付でHewlett-Packard CompanyをHewlett Packard Enterprise Company とHP Inc.に分社する以前に販売された製品については、現在のモデルと異なる、古い製品名およびモデル番号である場合があります。