「ATI」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(文字列「[[zh-CN:」を「[[zh-hans:」に置換)
(同期)
14行目: 14行目:
 
{{Related|AMDGPU}}
 
{{Related|AMDGPU}}
 
{{Related|Xorg}}
 
{{Related|Xorg}}
  +
{{Related|Vulkan}}
 
{{Related articles end}}
 
{{Related articles end}}
   
 
'''AMD''' (以前の '''ATI''') のビデオカードを使っている人は AMD の[[AMD Catalyst|プロプライエタリなドライバー]] ({{AUR|catalyst}}) かオープンソースドライバー ({{Pkg|xf86-video-ati}} あるいは {{Pkg|xf86-video-amdgpu}}) のどちらかを選ぶことができます。この記事ではオープンソースドライバーの '''ATI'''/[https://wiki.freedesktop.org/xorg/radeon/ Radeon] ドライバーについて記述します。
 
'''AMD''' (以前の '''ATI''') のビデオカードを使っている人は AMD の[[AMD Catalyst|プロプライエタリなドライバー]] ({{AUR|catalyst}}) かオープンソースドライバー ({{Pkg|xf86-video-ati}} あるいは {{Pkg|xf86-video-amdgpu}}) のどちらかを選ぶことができます。この記事ではオープンソースドライバーの '''ATI'''/[https://wiki.freedesktop.org/xorg/radeon/ Radeon] ドライバーについて記述します。
   
  +
大抵のカードでは、オープンソースドライバーはプロプライエタリドライバーと同等のパフォーマンスを発揮します ([http://www.phoronix.com/scan.php?page=article&item=radeonsi-cat-wow&num=1 ベンチマーク] を参照)。
今のところ、新しいカードでの 3D パフォーマンスや TV 出力サポートなどの点で、オープンソースドライバーはプロプライエタリのドライバーに''やや劣っています''。しかしながら、オープンソースドライバーにはより良いマルチモニターのサポートや、素晴らしい 2D アクセラレーション、[[Compiz]] や KWin などの OpenGL アクセラレーションを使う[[ウィンドウマネージャ]]のために十分な 3D アクセラレーションがあります。
 
   
よくわからない場合、最初にオープンソースドライバーを試して下さい。それでほとんどの用途に間に合い、問題も少ないはずです (詳は [http://www.x.org/wiki/RadeonFeature feature matrix] をさい)。
+
よくわからない場合、最初にオープンソースドライバーを試して下さい。それでほとんどの用途に間に合い、問題も少ないはずです。使用ている GPU がサポートされているかどうかは [http://www.x.org/wiki/RadeonFeature feature matrix] を参照しください。[https://www.x.org/wiki/RadeonFeature/#index5h2 decoder ring] を見ればブランド名 (例: Radeon HD4330) からチップの名前 (例: R700) を割り出すことができます
   
  +
== ドライバーの選択 ==
== 命名規則 ==
 
   
  +
使用しているカードにあわせて、[[Xorg#AMD]] を見て適切なドライバーを選択してください。このページでは '''ATI''' ドライバーについて説明します。
[[Wikipedia:ja:RADEON|Radeon]] ブランドはある命名規則に従っており、それによってそれぞれの製品をマーケットセグメントに関連付けています。この記事では、''製品名'' (例: HD 4850, X1900) と''コードネーム''もしくは''コアネーム'' (例: RV770, R580) の両方の名前を使っています。伝統的に、一つの''製品シリーズ''は一つの''コアシリーズ''に対応します (例えば "X1000" 製品シリーズ (X1300, X1600, X1800, X1900 など) は "R500" コアシリーズ (RV515, RV530, R520, R580 など) を使っています)。
 
 
製品シリーズとコアシリーズの表は [[Wikipedia:Comparison of AMD graphics processing units]] を見て下さい。
 
 
== 概要 ==
 
 
*最新の Fiji や Tonga が搭載されたグラフィックカード (Volcanic Islands/GCN 1.2) については新しい [[AMDGPU|amdgpu]] カーネルドライバーを利用してください。
 
*Rx 300 (R9 380 は除く), Rx 200, HD 7xxx (Sea/Southern Islands または GCN 1.1/1.0) シリーズ以降の Radeon (最新のシリーズは除く) はほぼ完璧に機能がサポートされており、性能を最大限引き出せます。
 
**X1xxx シリーズまでの Radeon は完全にサポートされおり、安定していて、完全な 2D・3D アクセラレーションが使えます。
 
**HD 2xxx から HD 6xxx までの Radeon には完全な 2D アクセラレーションと機能的な 3D アクセラレーションがありますが、プロプライエタリドライバによって提供されている機能の全てはサポートされていません。
 
*DRI1, RandR 1.2/1.3/1.4, Glamor, EXA アクセラレーション, [[Kernel Mode Setting|KMS]]/DRI2 をサポートしています。
 
 
詳しくは [http://www.x.org/wiki/RadeonFeature feature matrix] を参照してください。
 
 
一般的に、あなたがどの AMD/ATI カードを使っていようと、まず最初に '''xf86-video-ati''' を選ぶべきです。新しい AMD カードに対応したドライバーを使う必要がある場合、プロプライエタリの '''catalyst''' ドライバーを使うことを考えて下さい。
 
 
{{Note|カーネルや {{ic|xorg.conf}} では '''xf86-video-ati''' は '''''radeon''''' と表記されます。}}
 
   
 
== インストール ==
 
== インストール ==
48行目: 33行目:
 
[[公式リポジトリ]]から {{Pkg|xf86-video-ati}} を[[pacman|インストール]]してください。このパッケージには 2D アクセラレーションのための DDX ドライバーが入っており、依存パッケージとして {{Pkg|mesa}} もインストールされます。3D アクセラレーションのための DRI ドライバーが含まれています。
 
[[公式リポジトリ]]から {{Pkg|xf86-video-ati}} を[[pacman|インストール]]してください。このパッケージには 2D アクセラレーションのための DDX ドライバーが入っており、依存パッケージとして {{Pkg|mesa}} もインストールされます。3D アクセラレーションのための DRI ドライバーが含まれています。
   
OpenGL のサポートを有効にするには、{{Pkg|mesa-libgl}} もインストールしてください。x86_64 環境で32ビットの 3D サポートを得るには、[[multilib]] リポジトリから {{Pkg|lib32-mesa-libgl}} をインストールしてください。
+
x86_64 環境で32ビットの 3D サポートを得るには、[[multilib]] リポジトリから {{Pkg|lib32-mesa}} をインストールしてください。
   
 
[[#ビデオアクセラレーションを有効にする|動画デコードのアクセラレーション]]のサポートは {{Pkg|mesa-vdpau}} と {{Pkg|lib32-mesa-vdpau}} パッケージによって提供されています。
 
[[#ビデオアクセラレーションを有効にする|動画デコードのアクセラレーション]]のサポートは {{Pkg|mesa-vdpau}} と {{Pkg|lib32-mesa-vdpau}} パッケージによって提供されています。
 
== 設定 ==
 
 
Xorg は自動でドライバーをロードしてあなたのモニターの EDID を使って解像度を設定します。設定が必要なのはドライバーの調整だけです。
 
 
手動で設定したい場合、{{ic|/etc/X11/xorg.conf.d/20-radeon.conf}} を作成して、以下を追加して下さい:
 
 
Section "Device"
 
Identifier "Radeon"
 
Driver "radeon"
 
EndSection
 
 
このセクションを使って、機能を有効にしたりドライバー設定の調整ができます。
 
   
 
== Kernel mode-setting (KMS) ==
 
== Kernel mode-setting (KMS) ==
85行目: 57行目:
   
 
2. または、[[mkinitcpio|initramfs]] がロードされる時:
 
2. または、[[mkinitcpio|initramfs]] がロードされる時:
* 標準の {{ic|-ARCH}} カーネルではない特別なカーネル (例: linux-zen) を使っている場合、{{ic|/etc/mkinitcpio.conf}} ではなく他の ''mkinitcpio'' 設定ファイル (例: {{ic|/etc/mkinitcpio-zen.conf}}) を使うのを覚えておいて下さい。
+
* 標準の {{ic|-ARCH}} カーネルではない特別なカーネル (例: {{Pkg|linux-zen}}) を使っている場合、{{ic|/etc/mkinitcpio.conf}} ではなく他の ''mkinitcpio'' 設定ファイル (例: {{ic|/etc/mkinitcpio-zen.conf}}) を使うのを覚えておいて下さい。
 
* ''mkinitcpio'' ファイルからフレームバッファに関連するモジュールを全て削除してください。
 
* ''mkinitcpio'' ファイルからフレームバッファに関連するモジュールを全て削除してください。
* ''mkinitcpio'' ファイルの {{ic|MODULES}} 行に {{ic|radeon}} を追加してください。AGP を使うなら、{{ic|radeon}} モジュールの前にチップセットに合った AGP ドライバー (例: {{ic|intel_agp}}, {{ic|ali_agp}}, {{ic|ati_agp}}, {{ic|amd_agp}}, {{ic|amd64_agp}} など) を追加する必要があります
+
* ''mkinitcpio'' ファイルの {{ic|MODULES}} 行に {{ic|radeon}} を追加してください。
 
* [[mkinitcpio#イメージ作成とアクティベーション|initramfs]] を再生成してください。
 
* [[mkinitcpio#イメージ作成とアクティベーション|initramfs]] を再生成してください。
   
96行目: 68行目:
 
''これを選ぶと、[[Arch ブートプロセス|ブートプロセス]]中のモジュールがロードされた時に KMS が有効になります。''
 
''これを選ぶと、[[Arch ブートプロセス|ブートプロセス]]中のモジュールがロードされた時に KMS が有効になります。''
   
特別なカーネル (例: linux-zen) を使っている場合、適切な ''mkinitcpio'' 設定ファイル (例: {{ic|/etc/mkinitcpio-zen.conf}}) を使うのを覚えておいて下さい。以下の説明はデフォルトのカーネル ({{Pkg|linux}}) に向けて書かれています。
+
特別なカーネル (例: {{Pkg|linux-zen}}) を使っている場合、適切な ''mkinitcpio'' 設定ファイル (例: {{ic|/etc/mkinitcpio-zen.conf}}) を使うのを覚えておいて下さい。以下の説明はデフォルトのカーネル ({{Pkg|linux}}) に向けて書かれています。
 
{{Note|AGP を使うには、{{ic|/etc/modules-load.d}} 下の適切な .conf ファイルに {{ic|intel_agp}}, {{ic|ali_agp}}, {{ic|ati_agp}}, {{ic|amd_agp}}, {{ic|amd64_agp}} のどれかを追加する必要があります。}}
 
{{Note|AGP を使うには、{{ic|/etc/modules-load.d}} 下の適切な .conf ファイルに {{ic|intel_agp}}, {{ic|ali_agp}}, {{ic|ati_agp}}, {{ic|amd_agp}}, {{ic|amd64_agp}} のどれかを追加する必要があります。}}
   
 
# ブートローダーの[[ブートローダー|設定ファイル]]の ''kernel'' 行から {{ic|<nowiki>vga=</nowiki>}} オプションを全て削除してください。他のフレームバッファドライバー ({{ic|[[uvesafb]]}} や {{ic|radeonfb}}) を使っていると KMS と衝突します。また、{{ic|/etc/mkinitcpio.conf}} からフレームバッファに関連するモジュールを全て削除してください。{{ic|<nowiki>video=</nowiki>}} は KMS と一緒に使うことができます。
 
# ブートローダーの[[ブートローダー|設定ファイル]]の ''kernel'' 行から {{ic|<nowiki>vga=</nowiki>}} オプションを全て削除してください。他のフレームバッファドライバー ({{ic|[[uvesafb]]}} や {{ic|radeonfb}}) を使っていると KMS と衝突します。また、{{ic|/etc/mkinitcpio.conf}} からフレームバッファに関連するモジュールを全て削除してください。{{ic|<nowiki>video=</nowiki>}} は KMS と一緒に使うことができます。
 
# システムを'''再起動してください'''。
 
# システムを'''再起動してください'''。
  +
  +
== Xorg の設定 ==
  +
  +
Xorg は自動的にドライバーをロードしてモニターの EDID を使用してネイティブ解像度を設定します。設定が必要になるのはドライバーを調整するときだけです。
  +
  +
手動で設定したい場合 {{ic|/etc/X11/xorg.conf.d/20-radeon.conf}} を作成して以下を記述してください:
  +
  +
Section "Device"
  +
Identifier "Radeon"
  +
Driver "radeon"
  +
EndSection
  +
  +
上記のセクションを使って、ドライバーの設定を調整したり機能を有効化することができます。
   
 
== パフォーマンスチューニング ==
 
== パフォーマンスチューニング ==
以下のオプションは {{ic|/etc/X11/xorg.conf.d/'''20-radeon.conf'''}} に追加します。
 
   
  +
=== ビデオアクセラレーションを有効にする ===
ドライバーオプションを有効にする前に {{ic|man radeon}} と [http://www.x.org/wiki/RadeonFeature/#index4h2 RadeonFeature] を読んで下さい。
 
  +
  +
[[ハードウェアビデオアクセラレーション]]を見てください。
   
 
=== ドライバーオプション ===
 
=== ドライバーオプション ===
   
  +
以下のオプションは {{ic|/etc/X11/xorg.conf.d/'''20-radeon.conf'''}} に追加します。
'''ColorTiling''' と '''ColorTiling2D''' は安全に有効にすることができ、おそらくデフォルトで有効になっています。ほとんどの場合パフォーマンスが向上しますが、R200 以前のカードではサポートされていません。昔のカードでも有効にすることはできますが、処理は CPU に転嫁されます:
 
  +
  +
ドライバーオプションを有効にする前に {{ic|man radeon}} と [http://www.x.org/wiki/RadeonFeature/#index4h2 RadeonFeature] を読んで下さい。
  +
  +
'''ColorTiling''' と '''ColorTiling2D''' は安全に有効にすることができ、おそらくデフォルトで有効になっています。ほとんどの場合パフォーマンスが向上しますが、R200 以前のカードではサポートされていません。昔のカードでも有効にすることはできますが、処理は CPU に転嫁されます。KMS の ColorTiling2D は R600 (Radeon HD2000 シリーズ) 以降のチップでのみサポートされています:
   
 
Option "ColorTiling" "on"
 
Option "ColorTiling" "on"
 
Option "ColorTiling2D" "on"
 
Option "ColorTiling2D" "on"
   
デフォルトの '''DRI2''' の代わりに '''DRI3''' のサポー有効にすることができます。DRI2 と DRI3 のパフォーマンスについては [http://www.phoronix.com/scan.php?page=article&item=radeon-dri3-perf&num=1 Phoronix] にベンチマーク参考になるしょう:
+
xf86-video-ati 7.8.0 から '''DRI3''' はデフォル有効になります [http://www.phoronix.com/scan.php?page=news_item&px=Radeon-AMDGPU-1.19-Updates]。古いカードの場合、デフォルトでは DRI2 が使われます。以下のオプションで DRI3切り替えことができます:
   
 
Option "DRI" "3"
 
Option "DRI" "3"
122行目: 112行目:
 
Option "TearFree" "on"
 
Option "TearFree" "on"
   
'''アクセラレーションアーキテクチャ'''; Glamor は OpenGL を使用する 2D アクセラレーションメソッドです。R300 以降の新しいドライバーを使用するグラフィックカードで動作します。xf86-video-ati driver-1:7.2.0-1 から、radeonsi イバーでは自動的に有効になります (Southern Islands やそれ以上の GFX カード)。他のグラフィックカードでも設定ファイルに AccelMethod '''glamor''' を追加することで強制的に使用することができます:
+
'''アクセラレーションアーキテクチャ''': Glamor は OpenGL を使用する 2D アクセラレーションメソッドです。R300 以降の新しいドライバーを使用するグラフィックカードで動作します。R600 (Radeon HD2000 シリーズ) 以上のグフィックカでは自動的に有効になります [https://cgit.freedesktop.org/xorg/driver/xf86-video-ati/commit/?id=f11531c99fcd6473f58b4d10efaf3efd84304d8e]。他のグラフィックカードでも設定ファイルに以下を追加することで強制的に使用することができます:
   
 
Option "AccelMethod" "glamor"
 
Option "AccelMethod" "glamor"
140行目: 130行目:
 
Identifier "Radeon"
 
Identifier "Radeon"
 
Driver "radeon"
 
Driver "radeon"
Option "AccelMethod" "Glamor"
+
Option "AccelMethod" "glamor"
Option "DRI" "3"
+
Option "DRI" "3"
Option "TearFree" "on"
+
Option "TearFree" "on"
  +
Option "ColorTiling" "on"
  +
Option "ColorTiling2D" "on"
 
EndSection
 
EndSection
 
}}
 
}}
151行目: 143行目:
   
 
{{Tip|[[カーネルモジュール#情報を取得]]に書かれているように {{ic|systool}} を使うことでパラメータをデバッグすることができます。}}
 
{{Tip|[[カーネルモジュール#情報を取得]]に書かれているように {{ic|systool}} を使うことでパラメータをデバッグすることができます。}}
{{ic|1=radeon.bapm=1}} [https://www.phoronix.com/scan.php?page=news_item&px=MTczMzI], {{ic|1=radeon.disp_priority=2}} [http://lists.freedesktop.org/pipermail/xorg/2013-February/055477.html], {{ic|1=radeon.hw_i2c=1}} [https://superuser.com/questions/723760/does-radeon-hw-i2c-1-has-any-thing-to-do-with-temperature-readings], {{ic|1=radeon.mst=1}} [https://www.phoronix.com/scan.php?page=news_item&px=Linux-4.1-Radeon-DP-MST], {{ic|1=radeon.msi=1}} (MSI サポートの強制有効化), {{ic|1=radeon.audio=0}} (GPU オーディオの強制無効化), {{ic|1=radeon.tv=0}} (TV 出力の無効化) などの[[カーネルパラメータ]]が利用できます。
 
   
 
'''gartsize''' が自動検知されない場合、{{ic|1=radeon.gartsize=32}} を[[カーネルパラメータ]]に追加して手動で定義することができます。メガバイトでサイズを指定します。32 は RV280 カードのものです。
 
'''gartsize''' が自動検知されない場合、{{ic|1=radeon.gartsize=32}} を[[カーネルパラメータ]]に追加して手動で定義することができます。メガバイトでサイズを指定します。32 は RV280 カードのものです。
193行目: 184行目:
 
* radeon で [[bumblebee]] も使えます。[[AUR]] に {{AUR|bumblebee-amd-git}} パッケージが存在します。
 
* radeon で [[bumblebee]] も使えます。[[AUR]] に {{AUR|bumblebee-amd-git}} パッケージが存在します。
   
== 電力節減 ==
+
== 電力機能 ==
   
  +
電力管理は vbios に適切な電源状態テーブルがある全てのチップ (R1xx 以降) でサポートされています。DPM は R6xx 以降のチップでサポートされています。
radeon ドライバーでは、デフォルトではパワーセーブは無効になっており使うには手動で有効にする必要があります。
 
   
  +
詳しくは http://www.x.org/wiki/RadeonFeature/#index3h2 を見てください。
異なる3つの方法から選ぶことができます:
 
   
  +
=== 動的電源管理 ===
# [[#動的周波数切り替え|dynpm]]
 
# [[#プロファイルを使用する周波数切り替え|profile]]
 
# [[#動的電源管理|dpm]] (カーネル 3.13 からデフォルトで有効)
 
   
  +
カーネル 3.13 から、DPM (Dynamic power management) は [http://kernelnewbies.org/Linux_3.13#head-f95c198f6fdc7defe36f470dc8369cf0e16898df ほとんどの AMD Radeon ハードウェア] においてデフォルトで有効になっています。無効にするには、[[カーネルパラメータ]]に {{ic|1=radeon.dpm=0}} を追加してください。
'''どれがあなたにとって一番最適な方法なのかは、あなた自身で試してみてください!'''
 
   
  +
{{Tip|DPM は R6xx の GPU でも動作しますが、デフォルトではカーネルによって無効にされています (R7xx 以上でのみ有効になります)。{{ic|1=radeon.dpm=1}} カーネルパラメータを設定すると DPM が有効になります。}}
電力管理は vbios に適切な power state table がある全てのチップ (R1xx 以降) でサポートされています。"dpm" は R6xx 以降のチップでサポートされています。
 
   
  +
[[#動的周波数切り替え|dynpm]] とは違い、"dpm" は GPU 上のハードウェアを使って動的に GPU の使用率にあわせて周波数と電圧を変化させます。また、クロック・パワーゲーティングも有効になります。
詳しくは http://www.x.org/wiki/RadeonFeature/#index3h2 を見て下さい。
 
  +
  +
以下の3つの動作モードが存在します:
  +
  +
* {{ic|battery}} 省電力
  +
* {{ic|balanced}} デフォルト
  +
* {{ic|performance}} ハイパフォーマンス
  +
  +
sysfs を使ってモードを変更することが可能です:
  +
# echo battery > /sys/class/drm/card0/device/power_dpm_state
  +
  +
テストしたりデバッグするために、カードを強制的にパフォーマンスモードで動作させることが可能です:
  +
  +
* {{ic|auto}}: デフォルト。全ての電源状態のレベルを使用します。
  +
* {{ic|low}}: 一番低いパフォーマンスレベルを強制。
  +
* {{ic|high}}: 一番高いパフォーマンスレベルを強制。
  +
  +
# echo low > /sys/class/drm/card0/device/power_dpm_force_performance_level
  +
  +
==== コマンドラインツール ====
  +
  +
* [https://github.com/superjamie/snippets/blob/master/radcard radcard] - DPM の電源状態やレベルを取得・設定できるスクリプト。
   
 
=== 古い方法 ===
 
=== 古い方法 ===
  +
  +
radeon ドライバーには手動で省電力機能を使う方法が存在します。以下の3つの方法から選ぶことができます:
  +
  +
# [[#動的周波数切り替え|dynpm]]
  +
# [[#プロファイルを使用する周波数切り替え|profile]]
  +
# [[#動的電源管理|dpm]] (カーネル 3.13 からデフォルトで有効)
   
 
==== 動的周波数切り替え ====
 
==== 動的周波数切り替え ====
240行目: 256行目:
 
==== 永続的な設定 ====
 
==== 永続的な設定 ====
   
上述の設定は永続的なものではりません、コンピューターを再起動すると戻ってしまいます。設定を永続化させるために、[[systemd#一時ファイル|systemd-tmpfiles]] を使うことができます ([[#動的周波数切り替え]] の例):
+
上述の設定は永続的なものではりません、コンピューターを再起動すると戻ってしまいます。設定を永続化させるために、[[systemd#一時ファイル|systemd-tmpfiles]] を使うことができます ([[#動的周波数切り替え]]の例):
   
 
{{hc|/etc/tmpfiles.d/radeon-pm.conf|<nowiki>
 
{{hc|/etc/tmpfiles.d/radeon-pm.conf|<nowiki>
246行目: 262行目:
 
</nowiki>}}
 
</nowiki>}}
   
もしくは [[udev]] ルールを使うこともできます ([[#プロファイルを使用する周波数切り替え]] の例):
+
もしくは [[udev]] ルールを使うこともできます ([[#プロファイルを使用する周波数切り替え]]の例):
   
 
{{hc|/etc/udev/rules.d/30-radeon-pm.rules|<nowiki>
 
{{hc|/etc/udev/rules.d/30-radeon-pm.rules|<nowiki>
257行目: 273行目:
   
 
* {{App|Radeon-tray|システムトレイアイコンから Radeon カードの電源プロファイルを操作する小さなプログラム。PyQt4 で書かれており Gnome 以外のユーザーに適しています。|https://github.com/StuntsPT/Radeon-tray|{{AUR|radeon-tray}}}}
 
* {{App|Radeon-tray|システムトレイアイコンから Radeon カードの電源プロファイルを操作する小さなプログラム。PyQt4 で書かれており Gnome 以外のユーザーに適しています。|https://github.com/StuntsPT/Radeon-tray|{{AUR|radeon-tray}}}}
* {{App|power-play-switcher|ati radeon ビデオカードのオープンソースドライバーの powerplay 設定を変更する gui。|https://code.google.com/p/power-play-switcher/|{{AUR|power-play-switcher}}}}
 
* {{App|Gnome-shell-extension-Radeon-Power-Profile-Manager|オープンソースドライバーを使っている際に電源プロファイルを変更できる Gnome-shell の小さな拡張。|https://github.com/StuntsPT/shell-extension-radeon-power-profile-manager|{{AUR|gnome-shell-extension-radeon-ppm}} {{AUR|gnome-shell-extension-radeon-power-profile-manager-git}}}}
 
   
=== 動的電源管理 ===
+
=== ノート ===
   
  +
GPU が動作している速度を見るには、次のコマンドを実行することで以下のような出力が得られます:
カーネル 3.13 から、DPM (Dynamic power management) は [http://kernelnewbies.org/Linux_3.13#head-f95c198f6fdc7defe36f470dc8369cf0e16898df ほとんどの AMD Radeon ハードウェア] においてデフォルトで有効になっています。無効にするには、[[カーネルパラメータ]]に {{ic|1=radeon.dpm=0}} を追加してください。
 
   
  +
{{hc|# cat /sys/kernel/debug/dri/0/radeon_pm_info|<nowiki>
[[#動的周波数切り替え|dynpm]] とは違い、"dpm" は GPU 上のハードウェアを使って動的に GPU の使用率にあわせて周波数と電圧を変化させます。また、クロック・パワーゲーティングも有効になります。
 
  +
state: PM_STATE_ENABLED
  +
default engine clock: 300000 kHz
  +
current engine clock: 300720 kHz
  +
default memory clock: 200000 kHz
  +
</nowiki>}}
   
  +
ただし値は使用している GPU や radeon ドライバーのバージョン、カーネルのバージョンなどによって変わります。
以下の3つの動作モードが存在します:
 
   
  +
温度センサーは外部の i2c チップか内部の温度センサー (rv6xx-evergreen のみ) によって実装されています。i2c チップを使用する asics の温度を取得するには、あなたのボードで使われているセンサーの適切な hwmon ドライバーをロードする必要があります (lm63, lm64 など)。それで drm が適当な hwmon ドライバーをロードします。内部の温度センサーを使用するボードの場合、drm は hwmon インターフェイスを自動的に設定します。適当なドライバーがロードされていれば、[[lm_sensors|lm_sensors]] ツールや {{ic|/sys/class/hwmon}} の sysfs で温度を調べることができます。
* {{ic|battery}} 省電力
 
* {{ic|balanced}} デフォルト
 
* {{ic|performance}} ハイパフォーマンス
 
   
  +
== ファンの速度 ==
sysfs を使ってモードを変更することが可能です:
 
# echo battery > /sys/class/drm/card0/device/power_dpm_state
 
   
  +
上記の省電力機能によってファンの速度は上手く制御されるはずですが、一部のカードではアイドル状態でも五月蝿すぎる場合があります。そのような場合、カードがサポートしていれば、手動でファンの速度を変更できます。
テストしたりデバッグするために、カードを強制的にパフォーマンスモードで動作させることが可能です:
 
   
  +
{{Warning|
* {{ic|auto}}: デフォルト。全ての電源状態のレベルを使用します。
 
  +
* 以下の方法ではファンの速度が固定されるため、GPU の負担にあわせて調整できません。重い処理でオーバーヒートする可能性があります。
* {{ic|low}}: 一番低いパフォーマンスレベルを強制。
 
  +
* 標準の値よりも低い値を使うときは GPU の温度に注意してください。
* {{ic|high}}: 一番高いパフォーマンスレベルを強制。
 
  +
}}
  +
  +
以下のコマンドを実行することでグラフィックカードのファン速度の手動設定を有効にできます (あるいは GPU が複数刺さっている場合、1番目の GPU の手動設定が有効になります):
   
# echo low > /sys/class/drm/card0/device/power_dpm_force_performance_level
+
# echo 1 > /sys/class/drm/card0/device/hwmon/hwmon0/pwm1_enable
   
  +
ファンの速度は 0 から 255 までの値を設定でき、最大速度の 0% から 100% に対応します (以下のコマンドは 20% に設定します):
==== グラフィカルツール ====
 
   
  +
# echo 55 > /sys/class/drm/card0/device/hwmon/hwmon0/pwm1
* {{App|Gnome-shell-extension-Radeon-Power-Profile-Manager by lalmeras|dpm の設定を簡単に battery, balanced, performance に切り替えることができる GNOME シェル拡張 (StuntsPT からのフォーク)。この拡張では複数のカードのセットアップをサポートしています。|https://github.com/lalmeras/shell-extension-radeon-power-profile-manager|not packaged}}
 
   
  +
永続的に設定したい場合、上の電源プロファイルの例にある systemd-tmpfiles を使ってください。[[systemd#一時ファイル|systemd-tmpfiles]] のノートに書かれている理由によって機能しない場合、udev ルールを使うことでカードが有効になったときにコマンドを実行することができます。{{ic|/etc/udev/rules.d/99-gpupower}} の例:
=== ノート ===
 
  +
KERNEL=="card0", SUBSYSTEM=="drm", ENV{DISPLAY}=":0", ENV{XAUTHORITY}="$HOME/.Xauthority", RUN+="/sbin/sh /etc/conf.d/gpupower"
  +
実行するスクリプト {{ic|/etc/conf.d/gpupower}} は以下のようになります:
  +
echo battery > /sys/class/drm/card0/device/power_dpm_state
  +
echo low > /sys/class/drm/card0/device/power_dpm_force_performance_level
  +
echo 1 > /sys/class/drm/card0/device/hwmon/hwmon2/pwm1_enable
  +
echo 55 > /sys/class/drm/card0/device/hwmon/hwmon2/pwm1
   
  +
速度を固定したくない場合、温度にあわせてファンの速度を設定するスクリプトを書くなどして手動でファンの速度カーブを定義できます (現在の値は {{ic|/sys/class/drm/card0/device/hwmon/hwmon0/temp1_input}} で確認できます)。
GPU が動作している速度を見るには、次のコマンドを実行することで以下のような出力が得られます:
 
   
  +
GUI で設定したい場合は {{AUR|radeon-profile-git}} をインストールしてください。
{{hc|# cat /sys/kernel/debug/dri/0/radeon_pm_info|<nowiki>
 
state: PM_STATE_ENABLED
 
default engine clock: 300000 kHz
 
current engine clock: 300720 kHz
 
default memory clock: 200000 kHz
 
</nowiki>}}
 
 
It depends on which GPU line yours is, however. Along with the radeon driver versions, kernel versions, etc. So it may not have much/any voltage regulation at all.
 
 
温度センサーは外部の i2c チップか内部の温度センサー (rv6xx-evergreen のみ) によって実装されています。i2c チップを使用する asics の温度を取得するには、あなたのボードで使われているセンサーの適切な hwmon ドライバーをロードする必要があります (lm63, lm64 など)。それで drm が適当な hwmon ドライバーをロードします。内部の温度センサーを使用するボードの場合、drm は hwmon インターフェイスを自動的に設定します。適当なドライバーがロードされていれば、[[lm_sensors|lm_sensors]] ツールや {{ic|/sys/class/hwmon}} の sysfs で温度を調べることができます。
 
   
 
== TV 出力 ==
 
== TV 出力 ==
328行目: 344行目:
 
出力を無効化するには:
 
出力を無効化するには:
 
xrandr --output S-video --off
 
xrandr --output S-video --off
 
Also you may notice that the video is being played on monitor only and not on the TV. Where the Xv overlay is sent is controlled by XV_CRTC attribute.
 
 
出力を TV に送信するには:
 
xvattr -a XV_CRTC -v 1
 
 
{{Note|このコマンドを実行するには {{AUR|xvattr}} をインストールする必要があります。}}
 
 
To switch back to the monitor, I change this to {{ic|0}}. {{ic|-1}} is used for automatic switching in dualhead setups.
 
 
xorg の設定ファイルで TV 出力を有効化する方法は [http://www.x.org/wiki/radeonTV Enabling TV-Out Statically] を見て下さい。
 
   
 
=== KMS で TV 出力を強制する ===
 
=== KMS で TV 出力を強制する ===
358行目: 363行目:
 
root=/dev/disk/by-uuid/d950a14f-fc0c-451d-b0d4-f95c2adefee3 ro quiet radeon.modeset=1 security=none # video=DVI-I-1:1280x1024-24@60e "video=9-pin DIN-1:1024x768-24@60e"
 
root=/dev/disk/by-uuid/d950a14f-fc0c-451d-b0d4-f95c2adefee3 ro quiet radeon.modeset=1 security=none # video=DVI-I-1:1280x1024-24@60e "video=9-pin DIN-1:1024x768-24@60e"
   
* Grub はコマンドラインをそのまま渡すことができます。
+
* [[GRUB Legacy]] はコマンドラインをそのまま渡すことができます。
* Lilo ではダブルクォートにバックスラッシュが必要です ({{ic|1=# \"video=9-pin DIN-1:1024x768-24@60e\"}} を追加してください)
+
* [[LILO]] ではダブルクォートにバックスラッシュが必要です ({{ic|1=# \"video=9-pin DIN-1:1024x768-24@60e\"}} を追加してください)
* Grub2: TODO
 
   
 
次のコマンドでビデオ出力の一覧を取得できます:
 
次のコマンドでビデオ出力の一覧を取得できます:
368行目: 372行目:
 
== HDMI オーディオ ==
 
== HDMI オーディオ ==
   
HDMI オーディオは {{Pkg|xf86-video-ati}} ビデオドライバーでサポートされています。問題を起こすことがあるため、カーネルバージョン 3.0 以降では、デフォルトで HDMI オーディオは無効にされます。かし、あなの Radeon カードが [http://www.x.org/wiki/RadeonFeature Radeon Feature Matrix] に載って場合、HDMI オーディオはおそらく動作します。有効にするには、[[カーネルパラメータ]]に {{ic|radeon.audio&#61;1}} を追加してください。
+
HDMI オーディオは {{Pkg|xf86-video-ati}} ビデオドライバーでサポートされています。問題を起こすことがあるため、無効にしたい場合、[[カーネルパラメータ]]に {{ic|radeon.audio&#61;0}} を追加してください。
   
 
起動後画面が表示されない場合は、ドライバーオプションを無効にしてください。
 
起動後画面が表示されない場合は、ドライバーオプションを無効にしてください。
374行目: 378行目:
 
{{Note|
 
{{Note|
 
* ドライバーをインストールした後 HDMI オーディオが動作しないときは、[[Advanced Linux Sound Architecture/トラブルシューティング#HDMI から出力できない]] に書かれた方法でセットアップをテストしてください。
 
* ドライバーをインストールした後 HDMI オーディオが動作しないときは、[[Advanced Linux Sound Architecture/トラブルシューティング#HDMI から出力できない]] に書かれた方法でセットアップをテストしてください。
* PulseAudio で音が歪む場合は [[PulseAudio/トラブルシューティング#Glitches, skips or crackling|{{ic|1=tsched=0}} を設定]]して {{ic|rtkit}} デーモンが動いているか確認してください。
+
* PulseAudio で音が歪む場合は {{ic|1=tsched=0}} を設定して {{ic|rtkit}} デーモンが動いているか確認してください。詳しくは [[PulseAudio/トラブルシューティング#Glitches, skips or crackling]] を参照
 
}}
 
}}
   
398行目: 402行目:
   
 
ビデオカードに複数の出力端子が3つ以上存在する場合などに役に立ちます。例えば HDMI, DVI, VGA 端子が存在する場合 {{ic|"ZaphodHeads" "VGA-0"}} と明示的に指定しないかぎり、マルチモニター設定では HDMI+DVI 出力だけを選択・使用します。
 
ビデオカードに複数の出力端子が3つ以上存在する場合などに役に立ちます。例えば HDMI, DVI, VGA 端子が存在する場合 {{ic|"ZaphodHeads" "VGA-0"}} と明示的に指定しないかぎり、マルチモニター設定では HDMI+DVI 出力だけを選択・使用します。
 
== ビデオアクセラレーションを有効にする ==
 
 
{{Pkg|mesa-vdpau}} パッケージにはフリードライバー用に MPEG1/2 デコードのサポートが追加されており、{{Pkg|libvdpau}} によって自動で検出されます。ビデオアクセラレーションが自動で使用されない場合は、{{Ic|LIBVA_DRIVER_NAME}} 環境変数を {{Ic|vdpau}} に、{{Ic|VDPAU_DRIVER}} 環境変数をドライバーコアの名前に設定することで、強制的にドライバーを使用させることができます。例えば、r600 以上のカードの場合:
 
 
{{hc|1=~/.bashrc|2=
 
export LIBVA_DRIVER_NAME=vdpau
 
export VDPAU_DRIVER=r600
 
}}
 
 
利用可能な VDPAU ドライバーは {{Ic|/usr/lib/vdpau/}} に入っています。
 
 
[[wikipedia:Radeon_HD_7000_Series|Southern Islands]] (HD 7XXX) 以上のカードを使っている場合、{{ic|VDPAU_DRIVER}} 変数を {{ic|radeonsi}} に設定する必要があります:
 
 
{{hc|1=~/.bashrc|2=
 
export VDPAU_DRIVER=radeonsi
 
}}
 
 
{{ic|vainfo}} を実行して設定を確認してください:
 
{{hc|$ vainfo|<nowiki>
 
libva info: VA-API version 0.38.0
 
libva info: va_getDriverName() returns 0
 
libva info: User requested driver 'vdpau'
 
libva info: Trying to open /usr/lib/dri/vdpau_drv_video.so
 
libva info: Found init function __vaDriverInit_0_35
 
libva info: va_openDriver() returns 0
 
vainfo: VA-API version: 0.38 (libva 1.6.0)
 
vainfo: Driver version: Splitted-Desktop Systems VDPAU backend for VA-API - 0.7.4
 
vainfo: Supported profile and entrypoints
 
VAProfileMPEG2Simple : VAEntrypointVLD
 
VAProfileMPEG2Main : VAEntrypointVLD
 
VAProfileMPEG4Simple : VAEntrypointVLD
 
VAProfileMPEG4AdvancedSimple : VAEntrypointVLD
 
VAProfileH264Baseline : VAEntrypointVLD
 
VAProfileH264Main : VAEntrypointVLD
 
VAProfileH264High : VAEntrypointVLD
 
VAProfileVC1Advanced : VAEntrypointVLD</nowiki>}}
 
   
 
== vsync (垂直同期) をオフにする ==
 
== vsync (垂直同期) をオフにする ==
453行目: 420行目:
 
== トラブルシューティング ==
 
== トラブルシューティング ==
   
=== ログイン時に乱れが生じる ===
+
=== EXA を使用している場合パフォーマンスが出ない、あるいは乱れが生じる ===
  +
{{Note|以下は R600 (Radeon X1000 シリーズ) よりも古いカードにのみ当てはまります。新しいカードの場合は EXA ではなく Glamor を使ってください。}}
   
  +
ターミナルやウェブブラウザのスクロールが遅いなど、2D のパフォーマンスに問題が起こる場合、デバイスオプションに {{ic|Option "MigrationHeuristic" "greedy"}} を追加することで解決することがあります。
乱れが生じる場合、まず {{ic|/etc/X11/xorg.conf}} を使わずに X を起動してみてください。Xorg の最新バージョンは、ほとんどのユースケースに対応した信頼できる自動検知・自動設定を行います。時代遅れの・誤った設定がされている {{ic|xorg.conf}} ファイルは問題を起こす原因となります。
 
   
  +
さらに EXAPixmaps を無効果することで乱れがなくなることがあります。ただし、他の問題が引き起こされる可能性があるため一般的には推奨されていません。
設定ファイルを使わずに起動するために、{{ic|xorg-input-drivers}} パッケージグループをインストールするのを推奨します。
 
   
{{ic|/etc/X11/xorg.conf.d/20-radeon.conf}} で {{ic|EXAPixmaps}} を無効にすることも試すとよいでしょう:
+
{{hc|/etc/X11/xorg.conf.d/20-radeon.conf|<nowiki>
  +
Section "Device"
 
  +
Identifier "Radeon"
Section "Device"
 
Identifier "Radeon"
+
Driver "radeon"
Driver "radeon"
+
Option "AccelMethod" "exa"
Option "EXAPixmaps" "off"
+
Option "MigrationHeuristic" "greedy"
  +
#Option "EXAPixmaps" "off"
EndSection
 
  +
EndSection
 
  +
</nowiki>}}
さらに {{ic|AccelDFS}} を無効にすることもできます:
 
 
Option "AccelDFS" "off"
 
   
 
=== 検知されない解像度を追加する ===
 
=== 検知されない解像度を追加する ===
475行目: 441行目:
 
DisplayPort 接続などで EDID が認識されないことがあります。
 
DisplayPort 接続などで EDID が認識されないことがあります。
   
この問題については [[Xrandr#検出されない解像度を追加する|Xrandr]] のページに記述されています
+
この問題については [[Xrandr#検出されない解像度を追加する]]を参照しください。
   
  +
=== TV 画面の回りに黒枠が表示される ===
=== (KMS を使っていて) AGP が無効になる ===
 
   
  +
{{Note|以下の方法を試す前に TV が正しく設定されているか確認してください (マニュアルを参照)。}}
パフォーマンスが上手く発揮されず dmesg で以下のように表示される場合:
 
[drm:radeon_agp_init] *ERROR* Unable to acquire AGP: -19
 
マザーボードの agp ドライバー (例: {{ic|via_agp}}, {{ic|intel_agp}} など) が {{ic|radeon}} モジュールよりも前にロードされているか確認してください。[[#Kernel mode-setting (KMS)|KMS]] を参照。
 
 
=== TV が画面の回りに黒枠を表示する ===
 
   
 
xrandr を使うことでオーバースキャンの保護をオフにできます:
 
xrandr を使うことでオーバースキャンの保護をオフにできます:
 
xrandr --output HDMI-0 --set underscan off
 
xrandr --output HDMI-0 --set underscan off
 
=== X でサスペンドから復帰すると黒画面にマウスカーソルしか表示されない ===
 
 
メモリが 32MB 以下のカードでサスペンドから復帰すると X にマウスポインタしか表示されず黒画面になることがあります。マウスカーソルの下の部分だけ画面が再描画されることもあります。この問題は {{ic|/etc/X11/xorg.conf.d/20-radeon.conf}} で {{ic|EXAPixmaps}} を {{ic|"enabled"}} にすることで解決します。詳しくは[[#パフォーマンスチューニング|パフォーマンスチューニング]]を見て下さい。
 
 
=== X1300 と Radeon ドライバーで KDE4 のデスクトップ効果が使えない ===
 
 
KDE4 にはバグが存在しビデオハードウェアの正確なチェックができず、X1300 には十分な GPU パワーが存在するのにデスクトップ効果が無効になってしまうことがあります。対応策としては KDE4 設定ファイルの {{ic|/usr/share/kde-settings/kde-profile/default/share/config/kwinrc}} や {{ic|.kde/share/config/kwinrc}} でチェックを上書きすることができます。
 
 
[Compositing] セクションに以下を追加してください:
 
DisableChecks=true
 
 
コンポジットを有効にするには:
 
Enabled=true
 
   
 
=== 黒画面でコンソールが現れないが、KMS で X は動作する ===
 
=== 黒画面でコンソールが現れないが、KMS で X は動作する ===
508行目: 456行目:
 
上記の設定で問題が解決しない場合、以下の設定で起動してみてください:
 
上記の設定で問題が解決しない場合、以下の設定で起動してみてください:
 
fbcon=map:0
 
fbcon=map:0
 
=== テクスチャーが真っ黒になったりクラッシュする 3D アプリケーションがある ===
 
 
テクスチャー圧縮サポートが必要なのかもしれません、これはオープンソースドライバーには含まれていません。{{Pkg|libtxc_dxtn}} (multilib 環境では {{Pkg|lib32-libtxc_dxtn}}) をインストールしてください。
 
 
=== 2D パフォーマンス (例えばスクロール) が遅い ===
 
 
ターミナルやブラウザでのスクロールなど、2D パフォーマンスに問題がある場合、{{ic|xorg.conf}} ファイルの {{ic|"Device"}} セクションに {{ic|Option "MigrationHeuristic" "greedy"}} を追加すると改善するかもしれません。この設定は EXA にしか適用されません。
 
 
下はファイル {{ic|/etc/X11/xorg.conf.d/'''20-radeon.conf'''}} の設定サンプルです:
 
 
{{bc|
 
Section "Device"
 
Identifier "My Graphics Card"
 
Driver "radeon"
 
Option "MigrationHeuristic" "greedy"
 
EndSection
 
}}
 
 
=== モニターの回転がカーソルには動作するのにウィンドウやコンテンツには効かない ===
 
 
新しいグラフィックカードで glamor の代わりに EXA を有効化している場合、モニターを xrandr で回転させるとカーソルやモニターの向きは回転するのに、ウィンドウなどの向きが変わらないことがあります。さらに、その場合マウスを動かすとカーソルは通常の向きに従って移動します。xrandr の rotate コマンドを実行した後に {{ic|/var/log/Xorg.0.log}} に以下の行がないか確認してください:
 
{{bc|
 
(EE) RADEON(0): Rotation requires acceleration!
 
}}
 
新しいグラフィックカードでは EXA を使用するとアクセラレーションが無効化されます (ソース: [https://bugs.freedesktop.org/show_bug.cgi?id=73420#c17 comment 17])。EXA を有効化するかわりに回転機能は諦めるかどちらか選択する必要があります ([[#ドライバーオプション]]を参照)。
 
   
 
=== ATI X1600 (RV530 シリーズ) で 3D アプリケーションが黒いウィンドウを表示する ===
 
=== ATI X1600 (RV530 シリーズ) で 3D アプリケーションが黒いウィンドウを表示する ===
539行目: 461行目:
 
3つの解決方法が考えられます:
 
3つの解決方法が考えられます:
 
* {{ic|<nowiki>pci=nomsi</nowiki>}} をブートローダーの[[カーネルパラメータ]]に追加して見て下さい。
 
* {{ic|<nowiki>pci=nomsi</nowiki>}} をブートローダーの[[カーネルパラメータ]]に追加して見て下さい。
* 上のが機能しない場合、{{ic|<nowiki>pci=nomsi</nowiki>}} の代わりに {{ic|noapic}} を追加してさい。
+
* 上のカーネルパラメータが機能しない場合、{{ic|<nowiki>pci=nomsi</nowiki>}} の代わりに {{ic|noapic}} を追加してください。
 
* どちらも機能しないときは、{{ic|<nowiki>vblank_mode=0 glxgears</nowiki>}} と {{ic|<nowiki>vblank_mode=1 glxgears</nowiki>}} を実行してどちらが機能するかを確認し、{{pkg|driconf}} をインストールして {{ic|~/.drirc}} にオプションを設定してください。
 
* どちらも機能しないときは、{{ic|<nowiki>vblank_mode=0 glxgears</nowiki>}} と {{ic|<nowiki>vblank_mode=1 glxgears</nowiki>}} を実行してどちらが機能するかを確認し、{{pkg|driconf}} をインストールして {{ic|~/.drirc}} にオプションを設定してください。
   
550行目: 472行目:
 
{{ic|1=radeon.audio=0}} [[カーネルパラメータ]]を使って起動してみてください。
 
{{ic|1=radeon.audio=0}} [[カーネルパラメータ]]を使って起動してみてください。
   
=== コンソールや X で 2D のパフォーマンスが出ない ===
+
=== R9-390 のパフォーマンスが出ない、あるいは不安定 ===
  +
  +
R9-390 シリーズのカードのファームウェアには DPM 関連に問題があり、性能が発揮されなかったりクラッシュすることがあります (ゲームを遊んだり Google マップを使ったりすると発症します)。解決方法は [https://bugs.freedesktop.org/show_bug.cgi?id=91880 こちらの報告] を見てください。
  +
  +
=== 古い Radeon カードの HDMI 接続による QHD/UHD/4K のサポート ===
  +
  +
古いカードでは HDMI のピクセルクロックが 165MHz に制限されており、QHD や 4K を使うには HDMI ではなくデュアルリンク DVI を使う必要があります。
  +
  +
[https://www.elstel.org/software/hunt-for-4K-UHD-2160p.html.en 低いリフレッシュレートのカスタムモード] (例: 30Hz) を使うことで HDMI が使える場合があります。
  +
  +
また、ピクセルクロックの制限を取り払うカーネルパッチも存在しますが、カードにダメージを与える可能性があります。4.8 用のパッチの [https://bugzilla.kernel.org/show_bug.cgi?id=172421 公式カーネルバグチケット] を参照してください。パッチを適用すると新しいカーネルパラメータ {{ic|radeon.hdmimhz}} によってピクセルクロックの制限を変えることができるようになります。
   
  +
また、ハイスピード HDMI ケーブルを使うようにしてください。
カーネル 4.1.4 から、特定の R9 270X カードでは [[#動的電源管理|dpm]] が機能しません (lspci ではチップ製造番号 6810, サブシステム 174b:e271, Curacao XT, PC Partner Limited / Sapphire Technology Device e271 などと確認)。このリグレッションは同一の PCI id のカードの [https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/?id=ea039f927524e36c15b5905b4c9469d788591932 修正] が原因です。dpm を無効化することで問題は解決します ({{ic|1=radeon.dpm=0}} を[[カーネルパラメータ]]に追加)。
 

2017年3月14日 (火) 23:28時点における版

関連記事

AMD (以前の ATI) のビデオカードを使っている人は AMD のプロプライエタリなドライバー (catalystAUR) かオープンソースドライバー (xf86-video-ati あるいは xf86-video-amdgpu) のどちらかを選ぶことができます。この記事ではオープンソースドライバーの ATI/Radeon ドライバーについて記述します。

大抵のカードでは、オープンソースドライバーはプロプライエタリドライバーと同等のパフォーマンスを発揮します (ベンチマーク を参照)。

よくわからない場合、最初にオープンソースドライバーを試して下さい。それでほとんどの用途に間に合い、問題も少ないはずです。使用している GPU がサポートされているかどうかは feature matrix を参照してください。decoder ring を見ればブランド名 (例: Radeon HD4330) からチップの名前 (例: R700) を割り出すことができます。

目次

ドライバーの選択

使用しているカードにあわせて、Xorg#AMD を見て適切なドライバーを選択してください。このページでは ATI ドライバーについて説明します。

インストール

ノート: プロプライエタリの Catalyst ドライバーから移行する場合は、最初に AMD Catalyst#アンインストール を見て下さい。

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

x86_64 環境で32ビットの 3D サポートを得るには、multilib リポジトリから lib32-mesa をインストールしてください。

動画デコードのアクセラレーションのサポートは mesa-vdpaulib32-mesa-vdpau パッケージによって提供されています。

Kernel mode-setting (KMS)

ヒント: 解像度に問題が生じる場合、このページを確認してください。

KMS はフレームバッファで最大解像度を有効にして、高速なコンソール (tty) 切り替えを可能にします。また、KMS は乱れを減らしたり 3D パフォーマンスを改善したり、カーネル空間の電力節約をする (DRI2 などの) 新しい技術を有効にします。

ノート:
  • AMD/ATI カードは自動検知され KMS はデフォルトで有効になります。このセクションは標準から外れた設定のために残しています。
  • Linux 3.9 から、radeon ドライバーには kernel mode-setting が必須になりました (カーネルコンパイルオプションで古い user mode-setting も有効にはできますが、HDMI オーディオなどの機能は KMS に依存しています)。カーネルパラメータradeon.modeset=0nomodeset を設定している場合は、削除してください。/etc/modprobe.d/ 以下に options radeon modeset=0 の設定がある場合も、削除してください。

Early KMS start

以下の2つの方法はブートプロセスのできるだけ初めのほうで KMS を起動します。

1. カーネルコマンドラインから UMS ドライバーと衝突するものを全て削除してください:

  • ブートローダーの設定ファイルkernel 行にある全ての vga= オプションを削除してください。他のフレームバッファドライバー (uvesafbradeonfb など) は KMS と衝突します。
  • AGP の速度を radeon.agpmode=x カーネルオプションで設定できます、x は 1, 2, 4, 8 (AGP の速度) か -1 (PCI モード) に置き換えてください。

2. または、initramfs がロードされる時:

  • 標準の -ARCH カーネルではない特別なカーネル (例: linux-zen) を使っている場合、/etc/mkinitcpio.conf ではなく他の mkinitcpio 設定ファイル (例: /etc/mkinitcpio-zen.conf) を使うのを覚えておいて下さい。
  • mkinitcpio ファイルからフレームバッファに関連するモジュールを全て削除してください。
  • mkinitcpio ファイルの MODULES 行に radeon を追加してください。
  • initramfs を再生成してください。

最後に、システムを再起動してください

Late start

これを選ぶと、ブートプロセス中のモジュールがロードされた時に KMS が有効になります。

特別なカーネル (例: linux-zen) を使っている場合、適切な mkinitcpio 設定ファイル (例: /etc/mkinitcpio-zen.conf) を使うのを覚えておいて下さい。以下の説明はデフォルトのカーネル (linux) に向けて書かれています。

ノート: AGP を使うには、/etc/modules-load.d 下の適切な .conf ファイルに intel_agp, ali_agp, ati_agp, amd_agp, amd64_agp のどれかを追加する必要があります。
  1. ブートローダーの設定ファイルkernel 行から vga= オプションを全て削除してください。他のフレームバッファドライバー (uvesafbradeonfb) を使っていると KMS と衝突します。また、/etc/mkinitcpio.conf からフレームバッファに関連するモジュールを全て削除してください。video= は KMS と一緒に使うことができます。
  2. システムを再起動してください

Xorg の設定

Xorg は自動的にドライバーをロードしてモニターの EDID を使用してネイティブ解像度を設定します。設定が必要になるのはドライバーを調整するときだけです。

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

Section "Device"
    Identifier "Radeon"
    Driver "radeon"
EndSection

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

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

ビデオアクセラレーションを有効にする

ハードウェアビデオアクセラレーションを見てください。

ドライバーオプション

以下のオプションは /etc/X11/xorg.conf.d/20-radeon.conf に追加します。

ドライバーオプションを有効にする前に man radeonRadeonFeature を読んで下さい。

ColorTilingColorTiling2D は安全に有効にすることができ、おそらくデフォルトで有効になっています。ほとんどの場合パフォーマンスが向上しますが、R200 以前のカードではサポートされていません。昔のカードでも有効にすることはできますが、処理は CPU に転嫁されます。KMS の ColorTiling2D は R600 (Radeon HD2000 シリーズ) 以降のチップでのみサポートされています:

Option "ColorTiling" "on"
Option "ColorTiling2D" "on"

xf86-video-ati 7.8.0 から DRI3 はデフォルトで有効になります [1]。古いカードの場合、デフォルトでは DRI2 が使われます。以下のオプションで DRI3 に切り替えることができます:

Option "DRI" "3"

TearFree はハードウェアのページフリッピング機能を使ってチラツキを抑えます。このオプションを有効にすると "EnablePageFlip" オプションが無効になります:

Option "TearFree" "on"

アクセラレーションアーキテクチャ: Glamor は OpenGL を使用する 2D アクセラレーションメソッドです。R300 以降の新しいドライバーを使用するグラフィックカードで動作します。R600 (Radeon HD2000 シリーズ) 以上のグラフィックカードでは自動的に有効になります [2]。他のグラフィックカードでも設定ファイルに以下を追加することで強制的に使用することができます:

Option "AccelMethod" "glamor"

アクセラレーションアーキテクチャとして Glamor を使う場合、ShadowPrimary オプションを有効にすることができます。2D の性能が向上しますが、他の性能 (3D や動画) は落ちる可能性があります。このオプションを有効にすると "EnablePageFlip" オプションが無効になります:

Option "ShadowPrimary" "on"

EXAVSync オプションはディスプレイコントローラが出力先の領域を引き渡すまでエンジンを止めることでティアリングを減らそうとします。パフォーマンスを犠牲にティアリングを減らしますが、チップによっては不安定になることが知られています。3D アクセラレーションが効いたデスクトップで、ビデオの Xv オーバーレイを有効にしたときに有用です。KMS (つまり DRI2 アクセラレーション) が有効になっている時は必要ありません:

Option "EXAVSync" "yes"

下は設定ファイル /etc/X11/xorg.conf.d/20-radeon.conf のサンプルです:

Section "Device"
	Identifier  "Radeon"
	Driver "radeon"
	Option "AccelMethod" "glamor"
       Option "DRI" "3"
       Option "TearFree" "on"
       Option "ColorTiling" "on"
       Option "ColorTiling2D" "on"
EndSection
ヒント: 調整ツールとしては driconf が試せます。vsync, 異方性フィルタリング, テキスチャー圧縮などの設定を変更することが可能です。このツールを使うことでいくつかのプログラム (例: Google Earth) で必要な "Low Impact fallback の無効化" もできます。

カーネルパラメータ

ヒント: カーネルモジュール#情報を取得に書かれているように systool を使うことでパラメータをデバッグすることができます。

gartsize が自動検知されない場合、radeon.gartsize=32カーネルパラメータに追加して手動で定義することができます。メガバイトでサイズを指定します。32 は RV280 カードのものです。

もしくは、/etc/modprobe.d/radeon.conf の modprobe オプションを使っても設定できます:

options radeon gartsize=32

詳細や他のオプションについては、radeon の man ページやモジュールの info ページを読んで下さい: man radeon, modinfo radeon

PCI-E 2.0 の無効化

カーネル 3.6 から、radeon の PCI-E v2.0 はデフォルトで有効になっています。

マザーボードによっては不安定になることがあり、カーネルコマンドラインradeon.pcie_gen2=0 を追加することで無効にできます。

詳細は Phoronix の記事 を見て下さい。

Gallium ヘッドアップディスプレイ

radeonsi ドライバーはゲームなどのアプリケーションの上に透明な文字やテキストを描画できるヘッドアップディスプレイの有効化をサポートしています。現在のフレームレートや CPU の使用率 (各 CPU コアごとの使用率やその平均) などの情報が表示できます。HUD は GALLIUM_HUD 環境変数で制御し、以下のパラメータのリストを指定できます:

  • "fps" - 現在のフレームレートを表示
  • "cpu" - CPU の平均使用率を表示
  • "cpu0" - 1番目の CPU コアの CPU 使用率を表示
  • "cpu0+cpu1" - 最初の2つの CPU コアの CPU 使用率を表示
  • "draw-calls" - 画面上のオブジェクトのマテリアルの描画回数を表示
  • "requested-VRAM" - GPU の VRAM の使用量を表示
  • "pixels-rendered" - 描画されたピクセル数を表示

パラメータの完全なリストや GALLIUM_HUD の詳細は glxgears などのシンプルなアプリケーションで "help" パラメータを使うことで確認できます:

# GALLIUM_HUD="help" glxgears

詳しくは メーリングリストの投稿ブログの記事 を見て下さい。

ハイブリッドグラフィック/AMD Dynamic Switchable Graphics

電力効率の良い GPU (Intel 内蔵カード) とパワフルで電力消費が激しい GPU (Radeon や Nvidia) の、2つの GPU を搭載している最新のノートパソコンで使われている技術です。機能させるには3つの方法があります:

  • GPU の負担が重いアプリケーションを使う必要がないときは、ディスクリートカードを無効にすることができます: echo OFF > /sys/kernel/debug/vgaswitcheroo/switch。vgaswitcheroo を使えばもっと多くのことが出来ますが (詳しくは Ubuntu wiki を参照) どうやっても1つのカードは1つのグラフィックセッションに拘束されるので、1つのグラフィックセッションで両方のカードを使うことはできません。
  • PRIME を使用することができます。Linux でハイブリッドグラフィックを使うのに適当な方法と言えますが、ユーザーによる手動の操作が必要です。
  • radeon で bumblebee も使えます。AURbumblebee-amd-gitAUR パッケージが存在します。

省電力機能

電力管理は vbios に適切な電源状態テーブルがある全てのチップ (R1xx 以降) でサポートされています。DPM は R6xx 以降のチップでサポートされています。

詳しくは http://www.x.org/wiki/RadeonFeature/#index3h2 を見てください。

動的電源管理

カーネル 3.13 から、DPM (Dynamic power management) は ほとんどの AMD Radeon ハードウェア においてデフォルトで有効になっています。無効にするには、カーネルパラメータradeon.dpm=0 を追加してください。

ヒント: DPM は R6xx の GPU でも動作しますが、デフォルトではカーネルによって無効にされています (R7xx 以上でのみ有効になります)。radeon.dpm=1 カーネルパラメータを設定すると DPM が有効になります。

dynpm とは違い、"dpm" は GPU 上のハードウェアを使って動的に GPU の使用率にあわせて周波数と電圧を変化させます。また、クロック・パワーゲーティングも有効になります。

以下の3つの動作モードが存在します:

  • battery 省電力
  • balanced デフォルト
  • performance ハイパフォーマンス

sysfs を使ってモードを変更することが可能です:

# echo battery > /sys/class/drm/card0/device/power_dpm_state

テストしたりデバッグするために、カードを強制的にパフォーマンスモードで動作させることが可能です:

  • auto: デフォルト。全ての電源状態のレベルを使用します。
  • low: 一番低いパフォーマンスレベルを強制。
  • high: 一番高いパフォーマンスレベルを強制。
# echo low > /sys/class/drm/card0/device/power_dpm_force_performance_level

コマンドラインツール

  • radcard - DPM の電源状態やレベルを取得・設定できるスクリプト。

古い方法

radeon ドライバーには手動で省電力機能を使う方法が存在します。以下の3つの方法から選ぶことができます:

  1. dynpm
  2. profile
  3. dpm (カーネル 3.13 からデフォルトで有効)

動的周波数切り替え

この方法では GPU の負担にあわせて動的に周波数を変更します。GPU を酷使するアプリを実行したときはパフォーマンスが強化され、GPU がアイドル状態の時は周波数が下げられます。クロック変更は垂直帰線消去時に行われますが、クロック変更関数のタイミングのせいで、常に消去時に完了するわけではなく、ディスプレイにちらつきが生じてしまうこともあります。このため、dynpm はモニタが一つしか無いときに動作します。

次のコマンドを実行することで有効にできます:

# echo dynpm > /sys/class/drm/card0/device/power_method

プロファイルを使用する周波数切り替え

この方法では5つのプロファイル (下を参照) からどれか一つを選択することができます。プロファイルが異なると言っても、どれも、GPU の周波数や電圧の変更を行います。この方法はあまりアグレッシブではない代わりに、安定しておりちらつきも抑えられ、マルチモニタでも動作します。

この方法を有効にするには、次のコマンドを実行:

# echo profile > /sys/class/drm/card0/device/power_method

以下のプロファイルから選んで下さい:

  • default はデフォルトの周波数を使用し、電源の状態を変更しません。これはデフォルトの挙動です。
  • auto はシステムがバッテリー電源で動作しているのかそうでないのかによって電源状態を midhigh で切り替えます。
  • low はどんなときでも強制的に gpu の電源状態が low になるようにします。low ではノートパソコンのディスプレイに問題が起こることがあり、そのため auto ではモニタの電源がオフのときだけ low を使います。他のプロファイルではモニタの DPMS の状態がオフのときに選択されます。
  • mid はどんなときでも強制的に gpu の電源状態が mid になるようにします。
  • high はどんなときでも強制的に gpu の電源状態が high になるようにします。

例えば、low プロファイルを有効にするには (必要に応じて low を上記のプロファイルのどれかと置き換えて下さい):

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

永続的な設定

上述の設定は永続的なものではりません、コンピューターを再起動すると戻ってしまいます。設定を永続化させるために、systemd-tmpfiles を使うことができます (#動的周波数切り替えの例):

/etc/tmpfiles.d/radeon-pm.conf
w /sys/class/drm/card0/device/power_method - - - - dynpm

もしくは udev ルールを使うこともできます (#プロファイルを使用する周波数切り替えの例):

/etc/udev/rules.d/30-radeon-pm.rules
KERNEL=="dri/card0", SUBSYSTEM=="drm", DRIVERS=="radeon", ATTR{device/power_method}="profile", ATTR{device/power_profile}="low"
ノート: 上のルールが失敗する場合は、dri/ を削除してみてください。

グラフィカルツール

  • Radeon-tray — システムトレイアイコンから Radeon カードの電源プロファイルを操作する小さなプログラム。PyQt4 で書かれており Gnome 以外のユーザーに適しています。
https://github.com/StuntsPT/Radeon-tray || radeon-trayAUR

ノート

GPU が動作している速度を見るには、次のコマンドを実行することで以下のような出力が得られます:

# cat /sys/kernel/debug/dri/0/radeon_pm_info
  state: PM_STATE_ENABLED
  default engine clock: 300000 kHz
  current engine clock: 300720 kHz
  default memory clock: 200000 kHz

ただし値は使用している GPU や radeon ドライバーのバージョン、カーネルのバージョンなどによって変わります。

温度センサーは外部の i2c チップか内部の温度センサー (rv6xx-evergreen のみ) によって実装されています。i2c チップを使用する asics の温度を取得するには、あなたのボードで使われているセンサーの適切な hwmon ドライバーをロードする必要があります (lm63, lm64 など)。それで drm が適当な hwmon ドライバーをロードします。内部の温度センサーを使用するボードの場合、drm は hwmon インターフェイスを自動的に設定します。適当なドライバーがロードされていれば、lm_sensors ツールや /sys/class/hwmon の sysfs で温度を調べることができます。

ファンの速度

上記の省電力機能によってファンの速度は上手く制御されるはずですが、一部のカードではアイドル状態でも五月蝿すぎる場合があります。そのような場合、カードがサポートしていれば、手動でファンの速度を変更できます。

警告:
  • 以下の方法ではファンの速度が固定されるため、GPU の負担にあわせて調整できません。重い処理でオーバーヒートする可能性があります。
  • 標準の値よりも低い値を使うときは GPU の温度に注意してください。

以下のコマンドを実行することでグラフィックカードのファン速度の手動設定を有効にできます (あるいは GPU が複数刺さっている場合、1番目の GPU の手動設定が有効になります):

# echo 1 > /sys/class/drm/card0/device/hwmon/hwmon0/pwm1_enable

ファンの速度は 0 から 255 までの値を設定でき、最大速度の 0% から 100% に対応します (以下のコマンドは 20% に設定します):

# echo 55 > /sys/class/drm/card0/device/hwmon/hwmon0/pwm1

永続的に設定したい場合、上の電源プロファイルの例にある systemd-tmpfiles を使ってください。systemd-tmpfiles のノートに書かれている理由によって機能しない場合、udev ルールを使うことでカードが有効になったときにコマンドを実行することができます。/etc/udev/rules.d/99-gpupower の例:

KERNEL=="card0", SUBSYSTEM=="drm", ENV{DISPLAY}=":0", ENV{XAUTHORITY}="$HOME/.Xauthority", RUN+="/sbin/sh /etc/conf.d/gpupower"

実行するスクリプト /etc/conf.d/gpupower は以下のようになります:

echo battery > /sys/class/drm/card0/device/power_dpm_state
echo low > /sys/class/drm/card0/device/power_dpm_force_performance_level
echo 1 > /sys/class/drm/card0/device/hwmon/hwmon2/pwm1_enable
echo 55 > /sys/class/drm/card0/device/hwmon/hwmon2/pwm1

速度を固定したくない場合、温度にあわせてファンの速度を設定するスクリプトを書くなどして手動でファンの速度カーブを定義できます (現在の値は /sys/class/drm/card0/device/hwmon/hwmon0/temp1_input で確認できます)。

GUI で設定したい場合は radeon-profile-gitAUR をインストールしてください。

TV 出力

まず、S 端子があるかチェックしてください、xrandr で以下のように表示されるはずです:

Screen 0: minimum 320x200, current 1024x768, maximum 1280x1200
...
S-video disconnected (normal left inverted right x axis y axis)

そして Xorg に接続されていると伝えます:

xrandr --output S-video --set "load detection" 1

tv standard を使うように設定:

xrandr --output S-video --set "tv standard" ntsc

モードを追加 (現在は 800x600 しかサポートされていません):

xrandr --addmode S-video 800x600

モードを複製:

xrandr --output S-video --same-as VGA-0

試行:

xrandr --output S-video --mode 800x600

これで 800x600 のデスクトップがテレビに表示されるはずです。

出力を無効化するには:

xrandr --output S-video --off

KMS で TV 出力を強制する

カーネルは次の形式で video= パラメータを認識します (詳しくは KMS を参照):

video=<conn>:<xres>x<yres>[M][R][-<bpp>][@<refresh>][i][m][eDd]

サンプル:

video=DVI-I-1:1280x1024-24@60e

パラメータに空白を含む場合はクォートで囲って下さい:

"video=9-pin DIN-1:1024x768-24@60e"

現在の mkinitcpio の実装では前に # を必要とします。例えば:

root=/dev/disk/by-uuid/d950a14f-fc0c-451d-b0d4-f95c2adefee3 ro quiet radeon.modeset=1 security=none # video=DVI-I-1:1280x1024-24@60e "video=9-pin DIN-1:1024x768-24@60e"
  • GRUB Legacy はコマンドラインをそのまま渡すことができます。
  • LILO ではダブルクォートにバックスラッシュが必要です (# \"video=9-pin DIN-1:1024x768-24@60e\" を追加してください)。

次のコマンドでビデオ出力の一覧を取得できます:

$ ls -1 /sys/class/drm/ | grep -E '^card[[:digit:]]+-' | cut -d- -f2-

HDMI オーディオ

HDMI オーディオは xf86-video-ati ビデオドライバーでサポートされています。問題を起こすことがあるため、無効にしたい場合、カーネルパラメータradeon.audio=0 を追加してください。

起動後画面が表示されない場合は、ドライバーオプションを無効にしてください。

ノート:

マルチモニターの設定

RandR 拡張を使う

RandR を使ってマルチモニターをセットアップする方法はマルチディスプレイ#RandR を見てください。

X スクリーンを独立させる

独立したデュアルスクリーンの設定は通常通りで問題ありません。ただし radeon ドライバーには "ZaphodHeads" オプションが存在し、デバイスセクションを特定の出力端子に結びつけることができます:

/etc/X11/xorg.conf.d/20-radeon.conf
Section "Device"
  Identifier "Device0"
  Driver "radeon"
  Option "ZaphodHeads" "VGA-0"
  VendorName "ATI"
  BusID "PCI:1:0:0"
  Screen 0
EndSection

ビデオカードに複数の出力端子が3つ以上存在する場合などに役に立ちます。例えば HDMI, DVI, VGA 端子が存在する場合 "ZaphodHeads" "VGA-0" と明示的に指定しないかぎり、マルチモニター設定では HDMI+DVI 出力だけを選択・使用します。

vsync (垂直同期) をオフにする

radeon ドライバーはデフォルトで垂直同期を有効にします。ベンチマーク以外ではそれで全く問題がありません。垂直同期をオフにするには、~/.drirc を作成して (既に存在する場合は編集して) 以下のセクションを加えて下さい:

~/.drirc
<driconf>
    <device screen="0" driver="dri2">
        <application name="Default">
            <option name="vblank_mode" value="0" />
        </application>
    </device>
    <!-- Other devices ... -->
</driconf>

driver は dri2 です。ビデオカードのコード (r600 など) ではありません。

トラブルシューティング

EXA を使用している場合にパフォーマンスが出ない、あるいは乱れが生じる

ノート: 以下は R600 (Radeon X1000 シリーズ) よりも古いカードにのみ当てはまります。新しいカードの場合は EXA ではなく Glamor を使ってください。

ターミナルやウェブブラウザのスクロールが遅いなど、2D のパフォーマンスに問題が起こる場合、デバイスオプションに Option "MigrationHeuristic" "greedy" を追加することで解決することがあります。

さらに EXAPixmaps を無効果することで乱れがなくなることがあります。ただし、他の問題が引き起こされる可能性があるため一般的には推奨されていません。

/etc/X11/xorg.conf.d/20-radeon.conf
Section "Device"
    Identifier "Radeon"
    Driver "radeon"
    Option "AccelMethod" "exa"
    Option "MigrationHeuristic" "greedy"
    #Option "EXAPixmaps" "off"
EndSection

検知されない解像度を追加する

DisplayPort 接続などで EDID が認識されないことがあります。

この問題については Xrandr#検出されない解像度を追加するを参照してください。

TV 画面の回りに黒枠が表示される

ノート: 以下の方法を試す前に TV が正しく設定されているか確認してください (マニュアルを参照)。

xrandr を使うことでオーバースキャンの保護をオフにできます:

xrandr --output HDMI-0 --set underscan off

黒画面でコンソールが現れないが、KMS で X は動作する

一つの PC で複数の ATI カードを使用しているときに、コンソールが表示されないという問題が起こります。Fujitsu Siemens Amilo PA 3553 ノートパソコンなどがこの問題を抱えています。fbcon コンソールドライバーが間違ったフレームバッファデバイスにマッピングしているのが原因です。カーネルブートラインに以下を追加することで修正できます:

fbcon=map:1

上記の設定で問題が解決しない場合、以下の設定で起動してみてください:

fbcon=map:0

ATI X1600 (RV530 シリーズ) で 3D アプリケーションが黒いウィンドウを表示する

3つの解決方法が考えられます:

  • pci=nomsi をブートローダーのカーネルパラメータに追加して見て下さい。
  • 上のカーネルパラメータが機能しない場合、pci=nomsi の代わりに noapic を追加してみてください。
  • どちらも機能しないときは、vblank_mode=0 glxgearsvblank_mode=1 glxgears を実行してどちらが機能するかを確認し、driconf をインストールして ~/.drirc にオプションを設定してください。

スリープから復帰した後にカーソルがおかしくなる

モニターがスリープから復帰した後にカーソルが縦に重なるなどおかしな表示がされる場合、20-radeon.conf 設定ファイルの "Device" セクションで "SWCursor" "True" を設定してください。

マルチモニタモードで DisplayPort が出力されない

radeon.audio=0 カーネルパラメータを使って起動してみてください。

R9-390 のパフォーマンスが出ない、あるいは不安定

R9-390 シリーズのカードのファームウェアには DPM 関連に問題があり、性能が発揮されなかったりクラッシュすることがあります (ゲームを遊んだり Google マップを使ったりすると発症します)。解決方法は こちらの報告 を見てください。

古い Radeon カードの HDMI 接続による QHD/UHD/4K のサポート

古いカードでは HDMI のピクセルクロックが 165MHz に制限されており、QHD や 4K を使うには HDMI ではなくデュアルリンク DVI を使う必要があります。

低いリフレッシュレートのカスタムモード (例: 30Hz) を使うことで HDMI が使える場合があります。

また、ピクセルクロックの制限を取り払うカーネルパッチも存在しますが、カードにダメージを与える可能性があります。4.8 用のパッチの 公式カーネルバグチケット を参照してください。パッチを適用すると新しいカーネルパラメータ radeon.hdmimhz によってピクセルクロックの制限を変えることができるようになります。

また、ハイスピード HDMI ケーブルを使うようにしてください。