Xorg/Hardware 3D acceleration guide/ja

この文書はArticle description::GentooのXorgでDRMを使用して3Dアクセラレーションを動作させるためのガイドです.

ハードウェア3Dアクセラレーションとは何ですか、またどうしてそれが必要なのですか？
ハードウェア3Dアクセラレーションにより、3Dレンダリングは、3D画像を描画する貴重なCPUリソースを使用する代わりに、ビデオカードのグラフィックプロセッサを使用します. この3Dアクセラレーションがなければ、CPUはMesaソフトウェアレンダリングライブラリを使用してすべてを描画する必要があり、かなりの処理能力を消費するため、「ソフトウェアアクセラレーション」ではなく「ハードウェアアクセラレーション」とも呼ばれます.

Xorgは、大抵は2Dハードウェアアクセラレーションに対応していますが、しばしばハードウェア3Dアクセラレーションを欠いています. 3次元のハードウェアアクセラレーションは、ゲームや3D CAD、そしてモデリングのような、3Dのオブジェクトのレンダリングが必要になる状況において役に立ちます.

ハードウェア3Dアクセラレーションを動作させる
多くの場合、バイナリとオープンソースの両方のドライバーが存在します. 我々はLinuxを使用しており、オープンソースはその基本原理の1つであるため、オープンソースドライバーが望ましいです. 場合によっては、特にグラフィックカードが新しく、その機能をサポートするオープンソースドライバーがまだ作成されていない場合は、バイナリドライバーが唯一のオプションです. バイナリドライバーには、nVidiaカード用のと、古いAMD/ATIカードの場合は（以前はでした）、新しいAMDカードの場合、が含まれています.

DRIとは何ですか？
ダイレクト・レンダリング・インフラストラクチャはDRIとして知られる、グラフィックハードウェアに安全、効率的に直接アクセスすることが出来るフレームワークです. それはXサーバ、いくつかのクライアントライブラリ、カーネルへの変更を含みます. DRIの一番主要な利用法は高速なOpenGLの実装の作成です.

DRMとは何ですか？通常のXorgとどのように関連しますか？
DRM (ダイレクト・レンダリング・マネージャ)は、ダイレクトレンダリングに必要なカーネルモジュールを追加することにより、グラフィックカードのための3Dアクセラレーションを追加するXorgの付加機能です.

目的
このガイドはXorgのみでダイレクトレンダリングが動作しない人々のためのものです. DRMは以下のドライバで動作します.


 * 3dfx
 * amdgpu
 * amdgpu-pro (closed source)
 * fglrx (closed source; deprecated)
 * intel
 * matrox
 * nouveau
 * nvidia-drivers (closed source)
 * rage128
 * radeon
 * radeonhd (deprecated)
 * mach64
 * sis300
 * via

より詳細な情報とドキュメントについてはDRI ホームページを見てください.

Xorgのインストール
Xorgを動作させるためにはXorg 設定ガイドを見てください.

カーネルの設定
あなたのチップセットを調査して、有効にしてください.

ハードウェアが異なることにより、上記の出力は実際の出力と一致するとは限りません.

Certain kernel options will be required, others may cause problems. Hardware specific resources concerning which kernel option for which hardware exist within this wiki and elsewhere.

もしチップセットがカーネルによって対応されていない場合、カーネルのパラメータとして を渡すと何らかの成功が得られるかもしれません. これはAGPへの対応にIntelの一般的なルーチンを使用します. このパラメータを追加するには、ブートローダの設定ファイルを編集してください.

全てではないとしても、ほとんどのカーネルはこれらのオプションを持っているはずです. 以下の例は、通常ののカーネルを使用して設定しました.

が最近のカーネルにリンクするを確認してください.

または

Most, if not all, kernels should have these options set. In any case, options labeled  are compiled as modules and loaded-as-necessary, thus being very unlikely to break anything if not required.

This was configured using a standard kernel.

カーネルのコンパイルとインストール
か 　かの設定してください.

LILOを使用する場合は、次のコマンドを発行します:

もしGRUB2を使用している場合、実行してください：

videoグループへ適切なユーザを追加する
次に、適切なユーザをvideoグループに追加します：

Xorgの設定
幸運にも、単に適切なユーザを グループに追加するだけで、ダイレクトレンダリングを有効にするには十分です. しかしながら、Xorgはディレクトリを通していくつか追加の設定が必要になるかもしれません. このディレクトリ内に作られる新しい設定ファイルは、最後がで終わるのなら、名前は英数字を使ったどのような名前でも構いません. お好きなテキストエディタを開き、中にこれらを含むファイルを作成してください：

を適切なドライバ名で書き換えてください.

自動的にモジュールを読み込むように変更する
システムが起動したときにモジュールが確実に自動的に読み込まれるよう、にグラフィックカードが使用しているモジュールの名前を追加する必要があるでしょう.

新しいカーネルでリブート
コンピュータを新しいカーネルで再起動して、通常のユーザとしてログインしてください. ダイレクトレンダリングがどんなにいいかを確認するときです. や はパッケージの一部ですので、これらのコマンドを実行する前に必ずインストールしてください.

たとえモジュールとしてコンパイルしたとしても、ドライバやagpgart用にモジュールを読み込む必要はありません. これらは自動的に読み込まれます.

もし出力が"No"なら、3Dアクセラレーションが有効になっていません.

デフォルトの大きさでフレーム毎秒（frames per second, FPS）を試してください. DRMを設定する前よりもかなり大きな数値になっているはずです. CPUがなるべくアイドル状態の時に行なってください.

ダイレクトレンダリングを最大限に活用する
もしパフォーマンスや他の理由でもっと多くの機能を設定したい場合、DRIのウェブサイトにある機能表、あるいはSourceforgeにある機能一覧を確認してください.

レンダリングに関する問題
Xサーバを開始する前に、 （ をあなたのドライバ名に置き換えてください）を実行してみてください. また、agpgartをモジュールとしてではなく、カーネルの一部分としてビルドしてみてください.

startxを実行中の"Failed to load kernel module agpgart"
`startx`を実行後にerror: "[drm] failed to load kernel module agpgart"が出るのは、agpgartがモジュールとしてではなく、カーネルの一部分としてビルドされているためです. 問題が発生しない限り無視してください.

Radeon GPU上でのテレビ出力
元々GATOSプロジェクトによって開発されたドライバはXorgのコードベースに統合されました. テレビ出力に関して特別なことをする必要はありません. で上手く行きます.

新しくリリースされたGPUとの互換性
バイナリドライバを試してください. AMDカードに関しては、 を使用してください. もしバイナリドライバがこれをサポートしていない場合、fbdevを使用してください. 遅いですが、それでも動作します.

PCIカードが適切に動作しない
に設定ファイルを作成し、で終わる任意の名前にしてください. 以下の内容を追加してください：

外部の情報

 * Direct rendering (DRI) using X11-DRM HOWTO（Gentooのフォーラム）
 * Radeon 7000-9700 DRI CVS Install Guide（Gentooのフォーラム）
 * https://dri.freedesktop.org/