5.4. Xorg の設定
戻る〓 | 第5章 X Window System | 〓次へ

## 5.4. Xorg の設定

寄稿: Block Warren [FAMILY Given].

### 5.4.1. クィックスタート

Xorg は、 標準的なほとんどのビデオカード、 キーボード、ポインティングデバイスに対応しています。

### ヒント:

ビデオカード、キーボード、入力デバイスは、 自動的に検出されるので、手動の設定は必要ありません。 自動認識に失敗したとき以外は、`xorg.conf` を作成したり、`-configure` プロセスの実行は行わないでください。

1. もし、使用しているコンピュータですでに Xorg が使われているのであれば、 コンフィグレーションファイルを移動するか、削除してください。

       # mv /etc/X11/xorg.conf ~/xorg.conf.etc
       # mv /usr/local/etc/X11/xorg.conf ~/xorg.conf.localetc

2. 3D アクセラレータを利用できるシステムでは、 Xorg を実行するユーザを `video` または `wheel` グループに追加して、使用できるようにしてください。 ユーザ `jru` をどちらのグループでも利用できるようにするには以下のように実行してください。

       # pw groupmod video -m jru || pw groupmod wheel -m jru

3. デフォルトでは twm ウィンドウマネージャがインストールされています。 Xorg が起動すると、 このウィンドウマネージャが立ち上がります。

       % startx

4. 古いバージョンの FreeBSD では、 テキストコンソールに戻れるようにするために、 システムコンソールは vt(4) に設定する必要があります。 「Kernel Mode Setting (KMS)」 を参照してください。

### 5.4.2. Accelerated Video のためのユーザグループ

ビデオカードの 3D アクセラレータを有効にするには、 `/dev/dri` へのアクセスが必要となります。 通常は、X を実行するユーザを `video` または `wheel` グループに追加するするだけです。 ここでは、pw(8) を使ってユーザ `slurms` を `video` グループ、または `video` グループが存在しない時に、 `wheel` グループに追加しています。

    # pw groupmod video -m slurms || pw groupmod wheel -m slurms

### 5.4.3. Kernel Mode Setting (KMS)

コンピュータが、コンソールの表示から、 X 用の高解像度の表示へと切り替える時には、 ビデオの出力 mode が設定されている必要があります。 最近の Xorg では、 カーネル内部のシステムを使って効率的にこれらのモードの変換をしています。 古いバージョンの FreeBSD では、 KMS システムを用いない sc(4) が使用されています。 X を閉じた後、システムコンソールは動作をしていても、 表示に黒になります。 新しい vt(4) コンソールではこの問題は起こりません。

以下の行を `/boot/loader.conf` に追加して vt(4) を有効にしてください。

    kern.vty=vt

### 5.4.4. コンフィグレーションファイル

通常、この節で説明する手動の設定は必要ありません。 自動認識に失敗したとき以外は、 手動で設定ファイルを作成しないでください。

#### 5.4.4.1. ディレクトリ

Xorg は、 複数のディレクトリから設定ファイルを探します。 FreeBSD において、設定ファイルのディレクトリは、 `/usr/local/etc/X11/` が推奨されます。 このディレクトリを使うことで、 アプリケーションのファイルをオペレーティングシステムとは区別する事になります。

昔のコンフィグレーションファイルの置き場である `/etc/X11/` も機能します。 しかしながら、この場所に置くと、アプリケーションファイルと FreeBSD システムのファイルが混ざってしまうため、推奨されません。

#### 5.4.4.2. 単一または複数ファイル

複数のファイルを用いて、 各ファイルが特定の部分を設定するようにすると、 古い単一の `xorg.conf` を用いるよりも設定が簡単になります。 これらのファイルは、 メインのコンフィグレーションファイルのディレクトリの `xorg.conf.d/` サブディレクトリに置かれます。 フルパスは、一般的に `/usr/local/etc/X11/xorg.conf.d/` となります。

これらのファイルの例は、この節の後半で説明します。

古い単一の `xorg.conf` も機能しますが、 `xorg.conf.d/` サブディレクトリに複数のファイルで設定する形式に比べると、 柔軟ではなく、わかりにくいものとなります。

### 5.4.5. ビデオカード

最近の FreeBSD では、Ports または packages 形式で提供されるグラフィックドライバを利用できるようになりました。 そのようなものとして、ユーザは graphics/drm-kmod で提供される以下のドライバを利用できます。

Intel KMS ドライバ, Radeon KMS ドライバ, AMD KMS ドライバ

  Intel® が提供しているほとんどの Intel KMS ドライバ グラフィックカードは、2D および 3D アクセラレーションに対応しています。

  ドライバ名: `i915kms`

  AMD® が提供している古い Radeon KMS ドライバ グラフィックカードのほとんどは、2D および 3D アクセラレーションに対応しています。

  ドライバ名: `radeonkms`

  AMD® が提供している新しい Radeon KMS ドライバ グラフィックカードのほとんどは、2D および 3D アクセラレーションに対応しています。

  ドライバ名: `amdgpu`

  参考として、対応している GPU 一覧を https://en.wikipedia.org/wiki/List_of_Intel_graphics_processing_units または https://en.wikipedia.org/wiki/List_of_AMD_graphics_processing_units でご覧ください。

Intel®

  Iron Lake (HD Graphics) および Sandy Bridge (HD Graphics 2000) を含む Ivy Bridge (HD Graphics 2500, 4000, および P4000) までのほとんどの Intel® グラフィックスは、3D acceleration に対応しています。

  ドライバ名: `intel`

  参考情報については https://en.wikipedia.org/wiki/List_of_Intel_graphics_processing_units をご覧ください。

AMD® Radeon

  ATI/Radeon: 2D および 3D acceleration は、 HD6000 シリーズまでのほとんどの Radeon カードで対応しています。

  ドライバ名: `radeon`

  参考情報については https://en.wikipedia.org/wiki/List_of_AMD_graphics_processing_units をご覧ください。

NVIDIA

  NVIDIA: いくつかの NVIDIA ドライバが Ports Collection の `x11` カテゴリから利用できます。 ビデオカードのモデルに対応するドライバをインストールしてください。

  参考情報については https://en.wikipedia.org/wiki/List_of_Nvidia_graphics_processing_units をご覧ください。

ハイブリッドグラフィックス

  ノートブックコンピュータによっては、 チップセットまたはプロセッサに組み込まれているグラフィックプロセッサユニットの他に、 追加でそれらを持つものがあります。 Optimus は、 Intel® と NVIDIA ハードウェアを組み合わせています。 Switchable Graphics または、 Hybrid Graphics は、 Intel® または AMD® プロセッサと AMD® Radeon GPU を組み合わせています。

  これらのハイブリッドなグラフィックシステムの実装は、 システムごとに異なるので、 FreeBSD の Xorg は、 これらのすべてのバージョンについて対応しているわけではありません。

  コンピュータによっては、 片方のグラフィックアダプタを無効にしたり、 標準のビデオカードドライバの一つとともに使われる discrete モードを選択できるような BIOS オプションを提供しています。 たとえば、Optimus システムでは、NVIDIA GPU を無効にできるものがあります。 その後、Intel® ビデオカードは、 Intel® ドライバで利用できます。

  BIOS の設定は、 コンピュータのモデルに依存します。 システムによっては、両方の GPU を有効にできますが、 そのようなシステムの機能を利用するには、 `Device` セッションにおいて、 メインの GPU のみを使用するようなコンフィグレーションファイルを作成ことで十分です。

他のビデオカード

  Ports Collection の `x11-drivers` ディレクトリには、 あまり使用されないようなドライバも用意されています。

  特定のドライバによりサポートされていないようなカードでも、 x11-drivers/xf86-video-vesa で使用できるかもしれません。 このドライバは、x11/xorg によりインストールされます。 手動でインストールするには、 x11-drivers/xf86-video-vesa としてインストールしてください。 ビデオカードに対して、特定のドライバが見つからない場合には、 Xorg はこのドライバを使うことを試みます。

  x11-drivers/xf86-video-scfb も同様に、多くの UEFI および ARM® コンピュータで動くような、 使用するカードを特定していないビデオドライバです。

ファイルでビデオドライバを設定する。

  コンフィグレーションファイルにおいて Intel® ドライバを設定するには、以下のようにしてください。

  例5.1 ファイルにおいて Intel® ビデオドライバを選択する。

  `/usr/local/etc/X11/xorg.conf.d/driver-intel.conf`

      Section "Device"
      	Identifier "Card0"
      	Driver     "intel"
      	# BusID    "PCI:1:0:0"
      EndSection

  １つ以上のビデオカードが存在する場合には、 `BusID` 行のコメントを外し、 希望するカードを選択するように設定できます。 ビデオカードバス ID は、 `pciconf -lv | grep -B3 display` で表示できます。

  コンフィグレーションファイルで、Radeon ドライバを設定するには以下のようにしてください。

  例5.2 ファイルにおいて Radeon ビデオドライバを設定する。

  `/usr/local/etc/X11/xorg.conf.d/driver-radeon.conf`

      Section "Device"
      	Identifier "Card0"
      	Driver     "radeon"
      EndSection

  コンフィグレーションファイルで VESA ドライバを設定するには、以下のようにしてください。

  例5.3 ファイルで VESA ビデオドライバを設定する。

  `/usr/local/etc/X11/xorg.conf.d/driver-vesa.conf`

      Section "Device"
      	Identifier "Card0"
      	Driver     "vesa"
      EndSection

  UEFI または ARM® コンピュータを使うために `scfb` ドライバを設定するには、以下のように設定してください。

  例5.4 ファイルの中で `scfb` ビデオドライバを選択する。

  `/usr/local/etc/X11/xorg.conf.d/driver-scfb.conf`

      Section "Device"
      	Identifier "Card0"
      	Driver     "scfb"
      EndSection

### 5.4.6. モニタ

ほとんどすべてのモニタは、Extended Display Identification Data standard (EDID) に対応しています。 Xorg は EDID を使ってモニタと通信し、 対応している解像度とリフレッシュレートを検出します。 そのため、モニタを使用するのに最も適切な設定が選択されます。

モニタにより対応している他の解像度は、 コンフィグレーションファイルに希望する解像度を設定する、 または X サーバを起動後、xrandr(1) により選択が可能となります。

xrandr(1) の使用

  パラメータを与えずに xrandr(1) を実行すると、 ビデオ出力と検出されているモニタのモードを確認できます。

      % xrandr
      Screen 0: minimum 320 x 200, current 3000 x 1920, maximum 8192 x 8192
      DVI-0 connected primary 1920x1200+1080+0 (normal left inverted right x axis y axis) 495mm x 310mm
         1920x1200     59.95*+
         1600x1200     60.00
         1280x1024     85.02    75.02    60.02
         1280x960      60.00
         1152x864      75.00
         1024x768      85.00    75.08    70.07    60.00
         832x624       74.55
         800x600       75.00    60.32
         640x480       75.00    60.00
         720x400       70.08
      DisplayPort-0 disconnected (normal left inverted right x axis y axis)
      HDMI-0 disconnected (normal left inverted right x axis y axis)

  この出力からは、リフレッシュレート約 60 Hz で、 スクリーン解像度 1920x1200 ピクセルの表示に `DVI-0` 出力が使用されていることが分かります。 また、`DisplayPort-0` および `HDMI-0` インタフェースには、 モニタは接続されていません。

  xrandr(1) を使用して、 他のディスプレイモードを選択できます。 たとえば、60 Hz で、1280x1024 の表示に変更するには、 以下のように実行してください。

      % xrandr --mode 1280x1024 --rate 60

  ノートブックコンピュータの外部出力を使用して、 ビデオプロジェクタに接続することがよく行われます。

  出力端子のタイプおよび番号は、デバイスごとに異なります。 また、各端子の名前もドライバごとに異なります。 あるドライバが `HDMI-1` と呼ぶ出力が、 別のドライバでは `HDMI1` と呼ばれることもあります。 そのため、最初に xrandr(1) を実行して、 利用可能な出力のすべての一覧を表示してください。

      % xrandr
      Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192
      LVDS1 connected 1366x768+0+0 (normal left inverted right x axis y axis) 344mm x 193mm
         1366x768      60.04*+
         1024x768      60.00
         800x600       60.32    56.25
         640x480       59.94
      VGA1 connected (normal left inverted right x axis y axis)
         1280x1024     60.02 +  75.02
         1280x960      60.00
         1152x864      75.00
         1024x768      75.08    70.07    60.00
         832x624       74.55
         800x600       72.19    75.00    60.32    56.25
         640x480       75.00    72.81    66.67    60.00
         720x400       70.08
      HDMI1 disconnected (normal left inverted right x axis y axis)
      DP1 disconnected (normal left inverted right x axis y axis)

  この出力からは、組み込みパネルの `LVDS1`, 外部出力の `VGA1`, `HDMI1`, そして `DP1` 端子の 4 つの出力を確認できます。

  プロジェクタは `VGA1` 出力に接続されています。 情報を得られたので、xrandr(1) を使ってプロジェクタの標準の解像度に設定し、 デスクトップの右側にスペースを追加できます。

      % xrandr --output VGA1 --auto --right-of LVDS1

  この設定において、`--auto` は、 EDID により検出された解像度とリフレッシュレートを選択します。 解像度を正しく検出できていない場合には、 `--auto` のかわりに、 `--mode` を使うことで、 解像度を固定値を与えることにより設定できます。 たとえば、ほとんどのプロジェクタでは 1024x768 の解像度で使用できるので、 この場合には、`--mode 1024x768` のように設定できます。

  xrandr(1) は、X を起動する際に、 適切なモードを設定するように、しばしば `.xinitrc` から実行されます。

モニタ解像度をファイルで設定する。

  コンフィグレーションファイルでスクリーンの解像度を 1024x768 と設定するには以下のようにしてください。

  例5.5 スクリーンの解像度をファイルで設定する。

  `/usr/local/etc/X11/xorg.conf.d/screen-resolution.conf`

      Section "Screen"
      	Identifier "Screen0"
      	Device     "Card0"
      	SubSection "Display"
      	Modes      "1024x768"
      	EndSubSection
      EndSection

  EDID を持っていないモニタもあります。その場合には、 モニタが対応している周波数の範囲を、 `HorizSync` および `VertRefresh` で、指定することで設定できます。

  例5.6 手動でモニタの周波数を設定する。

  `/usr/local/etc/X11/xorg.conf.d/monitor0-freq.conf`

      Section "Monitor"
      	Identifier   "Monitor0"
      	HorizSync    30-83   # kHz
      	VertRefresh  50-76   # Hz
      EndSection

### 5.4.7. 入力デバイス

#### 5.4.7.1. キーボード

キーボードレイアウト

  キーボード上の標準化されたキーの位置を レイアウト と呼びます。 レイアウトと他の調整可能なパラメータについては、 xkeyboard-config(7) にまとめられています。

  アメリカ合衆国のレイアウトがデフォルトです。 他のレイアウトを選択するには、 `InputClass` で、 `XkbLayout` および `XkbVariant` オプションを設定してください。 クラスに対応するすべての入力デバイスに適用できます。

  以下の例では、 フランス語のキーボードレイアウトを選択しています。

  例5.7 キーボードレイアウトを選択する。

  `/usr/local/etc/X11/xorg.conf.d/keyboard-fr.conf`

      Section	"InputClass"
      	Identifier	"KeyboardDefaults"
      	MatchIsKeyboard	"on"
      	Option		"XkbLayout" "fr"
      EndSection

  例5.8 複数のキーボードレイアウトを選択する。

  アメリカ合衆国、スペイン、 ウクライナのキーボードレイアウトを、 Alt+Shift によって切り替えるようにするには以下のように設定します。 レイアウトスイッチングコントロールや現在のレイアウトインディケータを改良するには、 x11/xxkb または、 x11/sbxkb を使ってください。

  `/usr/local/etc/X11/xorg.conf.d/kbd-layout-multi.conf`

      Section	"InputClass"
      	Identifier	"All Keyboards"
      	MatchIsKeyboard	"yes"
      	Option		"XkbLayout" "us, es, ua"
      EndSection

キーボードから Xorg を終了する。

  X をキーの組み合わせで終了できるように設定できます。 デフォルトでは、幾つかのアプリケーションで、 キーボードコマンドと衝突してしまう可能性があるため、 このキーの組み合わせは設定されていません。 このオプションを有効にするには、 キーボードの `InputDevice` セクションを変更してください。

  例5.9 キーボードからの X の終了を有効にする。

  `/usr/local/etc/X11/xorg.conf.d/keyboard-zap.conf`

      Section	"InputClass"
      	Identifier	"KeyboardDefaults"
      	MatchIsKeyboard	"on"
      	Option		"XkbOptions" "terminate:ctrl_alt_bksp"
      EndSection

#### 5.4.7.2. マウスおよびポインティングデバイス

### 重要:

もし FreeBSD 12.1 において、 moused(8) を使わず、 xorg-server 1.20.8 以降を使用しているのであれば、 `/etc/sysctl.conf` に、 `kern.evdev.rcpt_mask=12` を追加してください。

コンフィグレーションオプションにより、 多くのマウスパラメータを調整できます。 すべての一覧については、mousedrv(4) をご覧ください。

マウスボタン

  `xorg.conf` のマウス `InputDevice` セクションで、 マウスのボタンの数を設定できます。 ボタンの数を 7 に設定するには、 以下のように設定してください。

  例5.10 マウスボタンの数を設定する。

  `/usr/local/etc/X11/xorg.conf.d/mouse0-buttons.conf`

      Section "InputDevice"
      	Identifier  "Mouse0"
      	Option      "Buttons" "7"
      EndSection

### 5.4.8. 手動による設定

ハードウェアによっては、Xorg の自動設定で適切な設定が行われなかったり、 自動設定とは別の設定にしたいときがあります。 そのような場合のため、 カスタムコンフィグレーションファイルを作成できます。

### 警告:

自動認識に失敗したとき以外は、 手動で設定ファイルを作成しないでください。 不必要な手動の設定を行った結果、 適切に動作しなくなるということがあります。

検出されたハードウェアをベースとした、 Xorg のコンフィグレーションファイルを作成できます。 このファイルは、 カスタムコンフィグレーションファイルの最初の出発点として有用です。

以下のようにすると `xorg.conf` が生成されます。

    # Xorg -configure

このコンフィグレーションファイルは、 `/root/xorg.conf.new` として保存されます。 必要となる変更を行った後、このファイルを (バックグラウンドが表示されるように `-retro` を使って) テストしてください。

    # Xorg -retro -config /root/xorg.conf.new

新しい設定を調整してテストしたら、 ファイルに分割して、標準の場所である、 `/usr/local/etc/X11/xorg.conf.d/` に置いてください。

戻る〓 | 上に戻る | 〓次へ
5.3. Xorg のインストール〓 | ホーム | 〓5.5. Xorg でのフォントの使用

本文書、および他の文書は https://download.freebsd.org/ftp/doc/ からダウンロードできます。

FreeBSD に関する質問がある場合には、 ドキュメント を読んだ上で <questions@FreeBSD.org> まで (英語で) 連絡してください。
本文書に関する質問については、 <doc@FreeBSD.org> まで電子メールを (英語で) 送ってください。