デフォルトでは、X Windowシステムは8.2項 「グラフィックカードとモニタの設定」に説明されているSaX2インタフェースを使って設定されます。代わりに環境設定ファイルを編集して、手動設定することもできます。
警告: X環境設定ファイルに不適切な設定を行うとハードウェアが損傷する可能性があります
X Window Systemの設定は慎重に行う必要があります。設定が完了するまでは、X Window Systemを起動しないでください。システムが正しく設定されていないと、ハードウェアが復元不能な損傷を受ける可能性があります(特に固定周波数モニタの場合)。本書およびSUSE Linux Enterprise Serverの作成者は、このような原因による損傷や損害に対していかなる責任も負いません。この情報は慎重に調査されたものですが、ここで説明する方法がすべて正しく、ハードウェアが損傷を受けないという保証はありません。
コマンドsax2で/etc/X11/xorg.confファイルが作成されます。これはX Window Systemの基本設定ファイルです。このファイルには、グラフィックカード、マウス、およびモニタに関する設定がすべて含まれています。
重要: X -configureの使用
SUSE Linux Enterprise ServerのSaX2で失敗した場合は、X -configureを使ってXセットアップの設定を行ってください。 セットアップ 専有(ソフトウェア)
ここでは、設定ファイル/etc/X11/xorg.confの構造について説明します。xorg.confは複数のセクションで構成され、各セクションは設定の特定の側面を取り扱います。各セクションは、キーワードSection <designation>で始まってキーワードEndSectionで終わります。すべてのセクションで、以下の表記規則を使用します。
Section "designation" entry 1 entry 2 entry n EndSection
使用可能なセクションのタイプのリストは表 12-1にあります。
表 12-1 /etc/X11/xorg.confのセクション
|
タイプ |
意味 |
|---|---|
|
ファイル |
フォントとRGBカラーテーブルで使用するパス。 |
|
ServerFlags |
サーバ動作の汎用スイッチ。 |
|
モジュール |
サーバがロードする必要があるモジュールリスト |
|
InputDevice |
キーボードや特殊入力デバイス(タッチパッド、ジョイスティックなど)といった入力デバイスを設定します。このセクションで重要なパラメータはDriverと、ProtocolおよびDeviceを定義するオプションです。通常、コンピュータに接続した1つのデバイスごとに1つのInputDeviceがあります。 |
|
Monitor |
使用するモニタ。このセクションの重要な要素は、後でScreenの定義で参照するID、リフレッシュレートのVertRefresh、および同期周波数の制限(HorizSyncおよびVertRefresh)です。設定値はMHz、kHz、およびHz単位です。通常、サーバはモニタ仕様に対応しないmodelineを拒否します。このため、意図せずに高すぎる周波数がモニタに送信されるのを防止できます。 |
|
Modes |
特定の画面解像度のmodelineパラメータ。これらのパラメータは、ユーザ指定の値に基づいてSaX2で計算でき、通常は変更不要です。固定周波数モニタに接続する場合などは、この時点で手動で介入します。個々の数値の意味の詳細については、HOWTOファイル/usr/share/doc/howto/en/html/XFree86-Video-Timings-HOWTOを参照してください(howtoenhパッケージ内)。VESAモードを手動で計算する場合は、ツールcvtを使用できます。たとえば、1680x1050@60Hzモニタのmodelineを計算する場合は、コマンドcvt 1680 1050 60を使用します。 |
|
Device |
特定のグラフィックカード。グラフィックカードは記述名で参照されます。このセクションで利用可能なオプションは、使用するドライバに大きく依存します。たとえば、i810ドライバを使用する場合では、マニュアルページman 4 i810に使用可能なオプションの詳細が記載されています。 |
|
画面 |
MonitorとDeviceを組み合わせて、X.Orgに必要な設定を形成します。Displayサブセクションでは、仮想画面のサイズ(Virtual)、ViewPort、およびこの画面で使用するModesを指定します。 一部のドライバでは、いずれかの場所にあるDisplayセクションにすべての使用設定が存在しなければならないことに注意してください。たとえば、ラップトップを使用している場合で、内部LCDより大きい外部モニタを使用するときは、内部LCDによりサポートされる以上の分解能をModes行の最後に追加することが必要になる場合があります。 |
|
ServerLayout |
シングルまたはマルチヘッド設定のレイアウト。このセクションにより、入力デバイスInputDeviceと表示デバイスScreenがバインドされます。 |
|
DRI |
DRI(Direct Rendering Infrastructure)の情報を提供します。 |
ここでは、Monitor、Device、およびScreenについて詳しく説明します。他のセクションの詳細については、X.Orgおよびxorg.confのマニュアルページを参照してください。
xorg.confには、複数の異なるMonitorおよびDeviceセクションを記述できます。複数のScreenセクションを記述することも可能です。ServerLayoutセクションでは、このセクションのうち使用するものを判定します。
Screenセクションでは、MonitorセクションとDeviceセクションを組み合わせて、どの解像度とカラー設定を使用するかを決定します。Screenセクションは例 12-1のようになります。
例 12-1 ファイル/etc/X11/xorg.confのScreenセクション
Section "Screen"DefaultDepth 16
SubSection "Display"
Depth 16
Modes "1152x864" "1024x768" "800x600"
Virtual 1152x864
EndSubSection SubSection "Display" Depth 24 Modes "1280x1024" EndSubSection SubSection "Display" Depth 32 Modes "640x480" EndSubSection SubSection "Display" Depth 8 Modes "1280x1024" EndSubSection Device "Device[0]" Identifier "Screen[0]"
Monitor "Monitor[0]" EndSection
|
Sectionはセクションタイプを判定し、この場合はScreenになります。 |
|
DefaultDepthは、色深度が明示的に指定されていない場合にデフォルトで使用する色深度を示します。 |
|
各色深度に対して、異なるDisplayサブセクションが指定されます。 |
|
Depthは、このセットのDisplay設定とともに使用する色深度を示します。8、15、16、24、および32を指定できますが、すべてのXサーバモジュールまたは解像度がこれらの値をすべてサポートしている訳ではありません。 |
|
Modesセクションは、可能な画面解像度のリストから成り立っています。Xサーバは、このリストを左から右に検査します。解像度ごとに、XサーバはModesセクション内で適切なModelineを検索します。Modelineは、モニタとグラフィックカード両方の機能に応じて異なります。Monitor設定により、Modelineが決まります。 最初に検出される解像度はDefault modeです。Ctrl+Alt++(数字パッド上のキー)を使用すると、リスト内で右隣の解像度に切り替えることができます。以前の値に切り替えるには、Ctrl+Alt+–(数字パッド上のキー)を使用します。これにより、Xの実行中に解像度を変更できます。 |
|
Depth 16が指定されているDisplayサブセクションの最終行は、仮想画面のサイズを指します。仮想画面の最大許容サイズは、モニタの最大解像度ではなく、グラフィックカードにインストールされているメモリの容量と必要なカラー設定に応じて異なります。この行を省略すると、仮想解像度は物理解像度と同じになります。最近のグラフィックカードはビデオメモリ容量が大きくなってきているため、きわめて大型の仮想デスクトップを作成できます。ただし、ビデオメモリのほとんどが仮想デスクトップを占めると、3D機能を使用できなくなる場合があります。たとえば、カードのビデオRAMが16MBであれば、仮想画面には8ビットカラー深度で最大4096x4096ピクセルのサイズを設定できます。ただし、特にアクセラレータカードの場合は、仮想画面にメモリすべてを使用しないことをお勧めします。この種のカードのメモリは、複数のフォントやグラフィックキャッシュにも使用されるからです。 |
|
Identifier行(ここではScreen[0])では、このセクションに以降のServerLayoutセクションで一意に参照できる定義済みの名前を割り当てています。Device行とMonitor行では、この定義に属しているグラフィックカードとモニタを指定しています。これらは、対応する名前または識別子を持つDeviceおよびMonitorセクションにリンクされます。これらのセクションの詳細については、以下を参照してください。 |
Deviceセクションでは、特定のグラフィックカードを記述します。名前が異なっていれば、キーワードIdentifierを使用してxorg.conf内で必要な数だけデバイスエントリを指定できます。複数のグラフィックカードをインストールしている場合、セクションには順番に番号が付けられます。最初のセクションはDevice[0]、2 番目のセクションはDevice[[1]となります。次のファイルは、Matrox Millennium PCIグラフィックカードが搭載されているコンピュータのDeviceセクションから抜粋したものです(SaX2が設定)。
Section "Device" BoardName "MGA2064W" BusID "0:19:0"Driver "mga"
Identifier "Device[0]" VendorName "Matrox" Option "sw_cursor" EndSection
|
BusIDは、グラフィックカードがインストールされているPCIスロットまたはAGPスロットの定義です。これは、lspciコマンドで表示されるIDと一致します。Xサーバは10進形式による詳細を必要としますが、lspciではこれらが16進形式で表示されます。BusIDの値は、SaX2が自動検出します。 |
|
Driverの値はSaX2が自動的に検出し、グラフィックカードで使用するドライバを指定します。カードがMatrox Millenniumである場合は、ドライバモジュールはmgaと呼ばれます。Xサーバは、driversサブディレクトリのFilesセクションで定義されているModulePathを検索します。標準インストールでは、これは/usr/lib/xorg/modules/driversディレクトリ、または64ビットオペレーティングシステムディレクトリでは/usr/lib64/xorg/modules/driversディレクトリです。名前には_drv.oが追加されるので、mgaドライバの場合は、ドライバファイルmga_drv.oがロードされます。 |
Xサーバやドライバの動作は、その他のオプションを使用して変更することもできます。その一例がDeviceセクションで設定するオプションsw_cursorです。このオプションは、ハードウェアのマウスカーソルを無効にし、ソフトウェアを使用してマウスカーソルを示します。ドライバモジュールによっては、さまざまなオプションを使用できます。各オプションは、ディレクトリ/usr/share/doc/package_name内のドライバモジュール記述ファイル内にあります。通常、有効なオプションについてはマニュアルページ(man xorg.conf, man 4 <ドライバモジュール>およびman 4 chips)でも確認できます。
グラフィックカードに複数のビデオコネクタがある場合、この1枚のカードの異なるデバイスを単一ビューとして設定できます。SaX2を使用してグラフィックインタフェースをこのように設定します。
Deviceセクションと同様に、MonitorセクションとModesセクションでもモニタを1つずつ記述します。設定ファイル/etc/X11/xorg.confでは、Monitorセクションを必要な数だけ指定できます。Monitorセクションはそれぞれ、UseModes行があるModesセクションを参照します。MonitorセクションにModesセクションがない場合、Xサーバは該当する値を一般的な同期の値から計算します。サーバレイアウトセクションでは、どのMonitorセクションが関係するかを指定します。
熟練者以外は、モニタ定義を設定しないでください。modelineは、Monitorセクションで重要な役割を果たします。modelineでは、関連解像度の水平と垂直のタイミングを設定します。モニタ特性、特に許容周波数は、Monitorセクションに格納されます。標準VESAモードは、ユーティリィティcvtにより生成できます。詳細については、マニュアルページcvt man cvtを参照してください。
警告: モニタおよびグラフィックカード機能の詳細な知識がない場合は、modelineを変更しないでください。モニタに重大な損傷が生じることがあります。
独自のモニタ記述を作成する場合は、/usr/share/X11/doc内のドキュメントを熟読する必要があります。PDFおよびHTMLページを参照するために、パッケージxorg-x11-docをインストールします。
modelineの手動指定が必要になることはほとんどありません。最新のマルチシンクモニタを使用している場合、許容周波数と最適解像度は、SaX2 設定のセクションで説明したように、原則としてXサーバがDDCを介してモニタから直接読み込みます。何らかの原因で直接読み込めない場合は、Xサーバに付属するVESAモードの1つを使用してください。このモードは、実際にはグラフィックカードとモニタの大半の組み合わせに機能します。