AMDGPU

提供: ArchWiki
2016年2月17日 (水) 13:06時点におけるKusakata (トーク | 投稿記録)による版 (ページの作成:「Category:グラフィック Category:X サーバー en:AMDGPU {{Related articles start}} {{Related|AMD Catalyst}} {{Related|ATI}} {{Related|Xorg}} {{Related a...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

関連記事

amdgpu は最新の AMD Radeon グラフィックカードのオープンソースグラフィックドライバーです。

現在のところ、amdgpu がサポートしているのは Volcanic IslandsSea Islands ファミリーのカードだけですが、近い将来に古いカードもサポートすることを AMD は約束しています。

サポートされていない AMD/ATI のビデオカードを利用している場合は Radeon オープンソースドライバーAMD のプロプライエタリドライバーを使ってください。

インストール

ノート: プロプライエタリの Catalyst ドライバーから移行する場合、先に AMD Catalyst#アンインストール を読んでください。

xf86-video-amdgpu パッケージをインストールしてください。2D アクセラレーションのための DDX ドライバーが含まれており、依存パッケージとして mesa もインストールされます。mesa には 3D アクセラレーションのための DRI ドライバーが含まれています。

OpenGL のサポートを有効にするには、mesa-libgl もインストールする必要があります。x86_64 環境で32ビットのサポートが必要な場合、multilib リポジトリから lib32-mesa-libgl もインストールしてください。

ビデオデコードのハードウェア支援機能は mesa-vdpaulib32-mesa-vdpau パッケージをインストールすることで使えます。

設定

Xorg は自動的にドライバーをロードしてモニターの EDID を認識して最大解像度を設定します。必要な設定はドライバーのチューニングだけです。

手動で設定したい場合、/etc/X11/xorg.conf.d/20-amdgpu.conf を作成して、以下を記述してください:

Section "Device"
    Identifier "AMD"
    Driver "amdgpu"
EndSection

上記のセクションを使って、ドライバーの設定を変更したり機能を有効にすることができます。

ロード

amdgpu カーネルモジュールはシステムの起動時に自動的にロードされます。

ロードされない場合:

  • 最新の linux-firmware パッケージがインストールされていることを確認してください。AMDGPU ドライバーは各モデルの最新ファームウェアがないと起動できません。
  • カーネルパラメータnomodesetvga= を指定していないことを確認してください。amdgpuKMS を必要とします。
  • カーネルモジュールのブラックリストamdgpu が無効になっていないか確認してください。

Early KMS の有効化

ヒント: 解像度に問題が発生する場合、Kernel Mode Setting#モードの強制と EDID を読んでください。

Kernel Mode Setting (KMS) は radeon ドライバーによってサポートされており、必須であり、デフォルトで有効になっています。

普通 KMS は initramfs の後に初期化されます。ただし、initramfs の段階で KMS を有効化することも可能です。/etc/mkinitcpio.confMODULES 行に amdgpu モジュールを追加してください:

MODULES="... amdgpu ..."

そして、initramfs を再生成してください:

# mkinitcpio -p linux

変更は再起動後に適用されます。

パフォーマンスチューニング

ビデオアクセラレーションの有効化

VA-APIVDPAU をインストールすることでハードウェアアクセラレーションによる動画のエンコード・デコードを行うことができます。

Sea Islands カードで amdgpu を使用する

amdgpu は Sea Islands (CI) のカードを実験的にサポートしていますが、デフォルトでは無効になっています。AMD はユーザー空間の Vulkan ドライバーは新しい amdgpu スタックしかサポートしないと公言しているため [1]、Vulkan を使うには radeon から amdgpu に切り替える必要があります。また、XDC のプレゼンテーション で触れられている新しい OpenCL ドライバーを使いたい場合も amdgpu が必須です。amdgpu で Sea Islands のサポートを有効にして使用したい場合、カーネルを再コンパイルしなくてはなりません。カスタムカーネルを作成する一番簡単な方法はおそらく ABS でしょう。カーネル/コンパイル/Arch Build System を見てください。"Enable amdgpu support for CIK parts" を "yes" に設定してから、カーネルをコンパイル・インストールしてください:

CONFIG_DRM_AMDGPU_CIK=Y

radeon がロードされないように、Kconfig でモジュールを無効化するか radeon モジュールをブラックリストに入れてください:

/etc/modprobe.d/amdgpu.conf
blacklist radeon