「AMDGPU」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(同期)
(同期)
16行目: 16行目:
   
 
== インストール ==
 
== インストール ==
  +
{{Note|
{{Note|プロプライエタリの Catalyst ドライバーから移行する場合、先に [[AMD Catalyst#アンインストール]] を読んでください。}}
 
  +
* プロプライエタリの Catalyst ドライバーから移行する場合、先に [[AMD Catalyst#アンインストール]] を読んでください。
  +
* {{Pkg|xf86-video-amdgpu}} パッケージは [[Xorg]] のアクセラレーションにしか使われないため、必ずしも必要というわけではありません。}}
   
 
{{Pkg|xf86-video-amdgpu}} パッケージを[[インストール]]してください。2D アクセラレーションのための DDX ドライバーが含まれており、依存パッケージとして {{Pkg|mesa}} もインストールされます。mesa には 3D アクセラレーションのための DRI ドライバーが含まれています。
 
{{Pkg|xf86-video-amdgpu}} パッケージを[[インストール]]してください。2D アクセラレーションのための DDX ドライバーが含まれており、依存パッケージとして {{Pkg|mesa}} もインストールされます。mesa には 3D アクセラレーションのための DRI ドライバーが含まれています。
   
x86_64 環境で32ビットのサポートが必要な場合、[[multilib]] リポジトリから {{Pkg|lib32-mesa-libgl}} もインストールしてください。
+
x86_64 環境で32ビットのサポートが必要な場合、[[multilib]] リポジトリから {{Pkg|lib32-mesa}} もインストールしてください。
   
 
[[#ビデオアクセラレーションの有効化|ビデオデコードのハードウェア支援]]機能は {{Pkg|mesa-vdpau}} と {{Pkg|lib32-mesa-vdpau}} パッケージをインストールすることで使えます。
 
[[#ビデオアクセラレーションの有効化|ビデオデコードのハードウェア支援]]機能は {{Pkg|mesa-vdpau}} と {{Pkg|lib32-mesa-vdpau}} パッケージをインストールすることで使えます。
   
  +
=== radeon のブラックリスト ===
{{Note|{{Pkg|xf86-video-amdgpu}} パッケージは Xorg のアクセラレーションにのみ使用され絶対に必要というわけではありません。}}
 
  +
{{Pkg|linux}} パッケージでは Southern Islands (SI) や Sea Islands (CIK) カードの AMDGPU サポートを有効になっています。[[カーネル]]を自分でビルド・コンパイルするときはコンフィグで {{ic|1=CONFIG_DRM_AMDGPU_SI=Y}} や {{ic|1=CONFIG_DRM_AMDGPU_CIK=Y}} を有効にしてください。
   
  +
カーネルによる SI/CIK の AMDGPU サポートが有効になっていても、依然として AMDGPU ドライバーの代わりに [[radeon]] ドライバーが使われることがあります。
=== AMDGPU PRO ===
 
{{Warning|Arch Linux は公式にはサポートされていません。}}
 
AMD はオープンソースの AMDGPU カーネルドライバーの上で動作するバイナリのユーザーランドドライバー ''AMDGPU PRO'' を提供しています。オープンソースとバイナリのハイブリッドということで、ユーザー空間のバイナリ部分は変えずに、(カーネルや Xorg のアップデート時など) 必要なときにカーネル内のコンポーネントを Arch Linux のメンテナが再コンパイルすることが可能となっています。これにより、新しいバージョンのカーネルや Xorg がリリースされたときに AMD が提供しているドライバーが使えなくなってしまうという問題にもう悩まされなくなります (昔の [[AMD Catalyst]] ドライバーではこの問題がどうしてもつきまとっていました)。ハイブリッドシステムの詳しい解説は、[http://www.phoronix.com/scan.php?page=news_item&px=MTgwODA この記事] を見てください。
 
   
  +
{{ic|amdgpu}} モジュールを強制的に使用するには {{ic|radeon}} モジュールを[[ブラックリスト]]に追加してください:
AMDGPU PRO ドライバーは OpenGL, [[OpenCL]], [[Vulkan]], [[VDPAU]] をサポートしており、オープンソースドライバーよりも高い性能を発揮します。
 
  +
{{hc|/etc/modprobe.d/radeon.conf|
  +
blacklist radeon
  +
}}
   
  +
=== AMDGPU PRO ===
詳しくは [http://support.amd.com/en-us/kb-articles/Pages/AMDGPU-PRO-Driver-for-Linux-Release-Notes.aspx 最初のリリースノート] と [https://www.phoronix.com/forums/forum/linux-graphics-x-org-drivers/amd-linux/855699-amd-representative-says-their-vulkan-linux-driver-will-be-here-soon/page6 Phoronix フォーラムでのアナウンス] を参照してください。
 
  +
{{Warning|Arch Linux は公式にはサポートされていません。}}
  +
{{Note|
  +
*プロプライエタリな OpenCL コンポーネントだけを使いたい場合は {{AUR|opencl-amd}} パッケージをインストールしてください。
  +
*AMDGPU PRO を使うには {{pkg|linux}} (4.8 または 4.9) と [[Xorg]] (1.18) パッケージの[[ダウングレード]]が必要になります。
  +
}}
   
  +
AMD はオープンソースの AMDGPU カーネルドライバーの上で動作するバイナリのユーザーランドドライバー ''AMDGPU PRO'' を提供しています。AMDGPU PRO ドライバーは OpenGL, [[OpenCL]], [[Vulkan]], [[VDPAU]] をサポートしており、オープンソースドライバーよりも高い性能を発揮します。詳しくは [http://support.amd.com/en-us/kb-articles/Pages/AMDGPU-PRO-Driver-for-Linux-Release-Notes.aspx 最初のリリースノート] と [https://www.phoronix.com/forums/forum/linux-graphics-x-org-drivers/amd-linux/855699-amd-representative-says-their-vulkan-linux-driver-will-be-here-soon/page6 Phoronix フォーラムでのアナウンス] を参照してください。
amdgpu-pro のパッケージは [[AUR]] に存在します ({{AUR|amdgpu-pro}})。問題の報告やプルリクエストは https://github.com/Corngood/archlinux-amdgpu を見てください。
 
   
オープンソースの AMDGPU ドライバーとプロプライエタリな OpenCL コンポトを使いたい場合は {{AUR|opencl-amd}} パッケージインストールしてください
+
公式の AMDGPU PRO ドライバーにパッチを適用したバジョ {{AUR|amdgpu-pro}} パッケージインストールできます
   
 
== ロード ==
 
== ロード ==
80行目: 89行目:
 
=== ビデオアクセラレーションの有効化 ===
 
=== ビデオアクセラレーションの有効化 ===
 
[[VA-API]] や [[VDPAU]] をインストールすることでハードウェアアクセラレーションによる動画のエンコード・デコードを行うことができます。
 
[[VA-API]] や [[VDPAU]] をインストールすることでハードウェアアクセラレーションによる動画のエンコード・デコードを行うことができます。
 
== Sea Islands や Southern Islands カードで amdgpu を使用する ==
 
Arch Linux の {{pkg|linux}} パッケージは (バージョン 4.9 から) デフォルトで Southern Islands と Sea Island のサポートが有効になっています ({{ic|1=CONFIG_DRM_AMDGPU_CIK=Y}} と {{ic|1=CONFIG_DRM_AMDGPU_SI=Y}} [https://git.archlinux.org/svntogit/packages.git/tree/trunk/config.x86_64?h=packages/linux#n4987])。
 
 
これらかのカードを使用する場合、デフォルトのドライバーでは旧式の radeon ドライバーが使われます。amdgpu ドライバーを使いたい場合は [[#radeon ドライバーの無効化|radeon ドライバーを無効化]]してください。
 
 
=== radeon ドライバーの無効化 ===
 
カーネルをビルドするときにカードの AMDGPU を手動で有効にしても CIK と SI カードはデフォルトでは [[radeon]] ドライバーを使用します。
 
 
{{ic|amdgpu}} モジュールを使うには {{ic|radeon}} モジュールがロードされないように[[ブラックリスト]]に追加してください:
 
{{hc|/etc/modprobe.d/radeon.conf|
 
blacklist radeon}}
 
   
 
== トラブルシューティング ==
 
== トラブルシューティング ==
98行目: 95行目:
   
 
オープンソースの AMDGPU ドライバーは [https://cgit.freedesktop.org/~agd5f/linux/log/?h=drm-next-4.7-wip-dal 開発途上] の DAL のコードに依存しています。HDMI や DisplayPort から音声を出力するには現在のところ AMDGPU-PRO ドライバーをインストールする他ありません。
 
オープンソースの AMDGPU ドライバーは [https://cgit.freedesktop.org/~agd5f/linux/log/?h=drm-next-4.7-wip-dal 開発途上] の DAL のコードに依存しています。HDMI や DisplayPort から音声を出力するには現在のところ AMDGPU-PRO ドライバーをインストールする他ありません。
  +
  +
=== Southern Islands (SI) や Sea Islands (CIK) GPU で Xorg が起動できない ===
  +
  +
{{ic|radeon}} と {{ic|amdgpu}} 両方のモジュールが起動時にロードされていることが原因かもしれません。[[#radeon のブラックリスト|radeon のブラックリスト]]を試してみてください。
   
 
=== Xorg やアプリケーションが起動しない ===
 
=== Xorg やアプリケーションが起動しない ===
114行目: 115行目:
 
EndSubSection
 
EndSubSection
 
EndSection
 
EndSection
  +
  +
=== 周波数を上げたときに画面が崩れる問題が起こる ===
  +
  +
ディスプレイの周波数を 120Hz 以上に設定したときにディスプレイに乱れが発生する場合、メモリクロックや GPU クロックが低すぎてディスプレイに応答できていません。
  +
  +
以下を実行することで解決できます [https://bugs.freedesktop.org/show_bug.cgi?id=96868#c13]:
  +
  +
# echo high > /sys/class/drm/card0/device/power_dpm_force_performance_level
  +
  +
または:
  +
  +
# echo low > /sys/class/drm/card0/device/power_dpm_force_performance_level
  +
  +
{{aur|radeon-profile-git}} や {{aur|radeon-profile-daemon-git}} を使うことで GUI で "power_dpm" を管理することもできます [https://github.com/marazmista/radeon-profile]。

2017年3月21日 (火) 22:40時点における版

関連記事

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

現在のところ、amdgpu がサポートしているのは Volcanic IslandsSea IslandsSouthern Islands ファミリーのカードだけです。Southern Islands は実験的にサポートしています。GCN 以前の GPU をサポートする計画はありません。

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

インストール

ノート:
  • プロプライエタリの Catalyst ドライバーから移行する場合、先に AMD Catalyst#アンインストール を読んでください。
  • xf86-video-amdgpu パッケージは Xorg のアクセラレーションにしか使われないため、必ずしも必要というわけではありません。

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

x86_64 環境で32ビットのサポートが必要な場合、multilib リポジトリから lib32-mesa もインストールしてください。

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

radeon のブラックリスト

linux パッケージでは Southern Islands (SI) や Sea Islands (CIK) カードの AMDGPU サポートを有効になっています。カーネルを自分でビルド・コンパイルするときはコンフィグで CONFIG_DRM_AMDGPU_SI=YCONFIG_DRM_AMDGPU_CIK=Y を有効にしてください。

カーネルによる SI/CIK の AMDGPU サポートが有効になっていても、依然として AMDGPU ドライバーの代わりに radeon ドライバーが使われることがあります。

amdgpu モジュールを強制的に使用するには radeon モジュールをブラックリストに追加してください:

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

AMDGPU PRO

警告: Arch Linux は公式にはサポートされていません。
ノート:
  • プロプライエタリな OpenCL コンポーネントだけを使いたい場合は opencl-amdAUR パッケージをインストールしてください。
  • AMDGPU PRO を使うには linux (4.8 または 4.9) と Xorg (1.18) パッケージのダウングレードが必要になります。

AMD はオープンソースの AMDGPU カーネルドライバーの上で動作するバイナリのユーザーランドドライバー AMDGPU PRO を提供しています。AMDGPU PRO ドライバーは OpenGL, OpenCL, Vulkan, VDPAU をサポートしており、オープンソースドライバーよりも高い性能を発揮します。詳しくは 最初のリリースノートPhoronix フォーラムでのアナウンス を参照してください。

公式の AMDGPU PRO ドライバーにパッチを適用したバージョンが amdgpu-proAUR パッケージでインストールできます。

ロード

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

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

Xorg の設定

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

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

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

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

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

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

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

トラブルシューティング

HDMI/DP の音声が出力されない

オープンソースの AMDGPU ドライバーは 開発途上 の DAL のコードに依存しています。HDMI や DisplayPort から音声を出力するには現在のところ AMDGPU-PRO ドライバーをインストールする他ありません。

Southern Islands (SI) や Sea Islands (CIK) GPU で Xorg が起動できない

radeonamdgpu 両方のモジュールが起動時にロードされていることが原因かもしれません。radeon のブラックリストを試してみてください。

Xorg やアプリケーションが起動しない

Xorg の色深度を 16 や 32 に設定すると以下のような問題が発生します:

  • (EE) AMDGPU(0): [DRI2] DRI2SwapBuffers: drawable has no back or front?" error after opening glxgears で OpenGL アプリがクラッシュする。
  • (EE) AMDGPU(0): Given depth (32) is not supported by amdgpu driver エラーで Xorg が起動しない。

(/etc/X11/xorg.conf.d/10-screen.conf ファイルの) "screen" セクションに以下を追加して標準的な色深度である 24 を使うようにしてください:

Section "Screen"
       DefaultDepth    24
       SubSection      "Display"
               Depth   24
       EndSubSection
EndSection

周波数を上げたときに画面が崩れる問題が起こる

ディスプレイの周波数を 120Hz 以上に設定したときにディスプレイに乱れが発生する場合、メモリクロックや GPU クロックが低すぎてディスプレイに応答できていません。

以下を実行することで解決できます [1]:

# echo high > /sys/class/drm/card0/device/power_dpm_force_performance_level

または:

# echo low > /sys/class/drm/card0/device/power_dpm_force_performance_level

radeon-profile-gitAURradeon-profile-daemon-gitAUR を使うことで GUI で "power_dpm" を管理することもできます [2]