「ATI」の版間の差分
29行目: | 29行目: | ||
== 概要 == |
== 概要 == |
||
+ | *最新の Fiji や Tonga が搭載されたグラフィックカード (Volcanic Islands/GCN 1.2) は新しい amdgpu カーネルドライバーを利用しますが、今のところクロック変更のサポートが欠けており、パフォーマンスを最大限発揮することができません。カーネル 4.4 以降でサポートされるようになる予定です。 |
||
− | {{ic|xf86-video-ati}} (radeon) ドライバーは: |
||
+ | *Rx 300 (R9 380 は除く), Rx 200, HD 7xxx (Sea/Southern Islands または GCN 1.1/1.0) シリーズ以降の Radeon (最新のシリーズは除く) はほぼ完璧に機能がサポートされており、性能を最大限引き出せます。 |
||
− | *HD 6xxx と 7xxxM (最新の Northern Islands チップセット) までの Radeon チップセットで動作します。 |
||
− | **HD 77xx (Southern Islands) シリーズの Radeon は部分的にサポートしています。サポートされていない機能は [http://www.x.org/wiki/RadeonFeature feature matrix] で確認してください。 |
||
**X1xxx シリーズまでの Radeon は完全にサポートされおり、安定していて、完全な 2D・3D アクセラレーションが使えます。 |
**X1xxx シリーズまでの Radeon は完全にサポートされおり、安定していて、完全な 2D・3D アクセラレーションが使えます。 |
||
**HD 2xxx から HD 6xxx までの 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 をサポートしています。 |
*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''' ドライバーを使うことを考えて下さい。 |
一般的に、あなたがどの AMD/ATI カードを使っていようと、まず最初に '''xf86-video-ati''' を選ぶべきです。新しい AMD カードに対応したドライバーを使う必要がある場合、プロプライエタリの '''catalyst''' ドライバーを使うことを考えて下さい。 |
||
42行目: | 43行目: | ||
== インストール == |
== インストール == |
||
− | {{Note|プロプライエタリの Catalyst ドライバーから移行する場合は、最初に [[ |
+ | {{Note|プロプライエタリの Catalyst ドライバーから移行する場合は、最初に [[AMD Catalyst#アンインストール]] を見て下さい。}} |
+ | |||
+ | [[公式リポジトリ]]から {{Pkg|xf86-video-ati}} を[[pacman|インストール]]してください。このパッケージには 2D アクセラレーションのための DDX ドライバーが入っており、依存パッケージとして {{Pkg|mesa}} もインストールされます。3D アクセラレーションのための DRI ドライバーが含まれています。 |
||
− | + | OpenGL のサポートを有効にするには、{{Pkg|mesa-libgl}} もインストールしてください。x86_64 環境で32ビットの 3D サポートを得るには、[[multilib]] リポジトリから {{Pkg|lib32-mesa-libgl}} をインストールしてください。 |
|
− | + | [[#ビデオアクセラレーションを有効にする|動画デコードのアクセラレーション]]のサポートは {{Pkg|mesa-vdpau}} と {{Pkg|lib32-mesa-vdpau}} パッケージによって提供されています。 |
|
== 設定 == |
== 設定 == |
||
101行目: | 104行目: | ||
以下のオプションは {{ic|/etc/X11/xorg.conf.d/'''20-radeon.conf'''}} に追加します。 |
以下のオプションは {{ic|/etc/X11/xorg.conf.d/'''20-radeon.conf'''}} に追加します。 |
||
+ | ドライバーオプションを有効にする前に {{ic|man radeon}} と [http://www.x.org/wiki/RadeonFeature/#index4h2 RadeonFeature] を読んで下さい。 |
||
− | '''ColorTiling''' は安全に有効にすることができ、おそらくデフォルトで有効になっています。ほとんどの場合パフォーマンスが向上しますが、R200 以前のカードではサポートされていません。昔のカードでも有効にすることはできますが、処理は CPU に転嫁されます |
||
+ | |||
+ | === ドライバーオプション === |
||
+ | |||
+ | '''ColorTiling''' と '''ColorTiling2D''' は安全に有効にすることができ、おそらくデフォルトで有効になっています。ほとんどの場合パフォーマンスが向上しますが、R200 以前のカードではサポートされていません。昔のカードでも有効にすることはできますが、処理は CPU に転嫁されます: |
||
Option "ColorTiling" "on" |
Option "ColorTiling" "on" |
||
+ | Option "ColorTiling2D" "on" |
||
+ | デフォルトの '''DRI2''' の代わりに '''DRI3''' のサポートを有効にすることができます。DRI2 と DRI3 のパフォーマンスについては [http://www.phoronix.com/scan.php?page=article&item=radeon-dri3-perf&num=1 Phoronix] によるベンチマークが参考になるでしょう: |
||
− | '''アクセラレーションアーキテクチャ'''; これは'''新しい'''カードでだけ動作します。有効にして X に戻れなくなった時は、削除してください。 |
||
− | Option " |
+ | Option "DRI" "3" |
+ | '''TearFree''' はハードウェアのページフリッピング機能を使ってチラツキを抑えます。このオプションを有効にすると "EnablePageFlip" オプションが無効になります: |
||
− | '''Page Flip''' は通常安全に有効にできます。使うと EXA が無効になってしまうので、たいてい古いカードで使われます。最新のドライバーでは EXA と一緒に使うことができます。 |
||
− | Option " |
+ | Option "TearFree" "on" |
+ | '''アクセラレーションアーキテクチャ'''; Glamor は OpenGL を使用する 2D アクセラレーションメソッドです。R300 以降の新しいドライバーを使用するグラフィックカードで動作します。xf86-video-ati driver-1:7.2.0-1 から、radeonsi ドライバーでは自動的に有効になります (Southern Islands やそれ以上の GFX カード)。他のグラフィックカードでも設定ファイルに AccelMethod '''glamor''' を追加することで強制的に使用することができます: |
||
− | '''EXAVSync''' オプションはディスプレイコントローラが出力先の領域を引き渡すまでエンジンを止めることでティアリングを減らそうとします。パフォーマンスを犠牲にティアリングを減らしますが、チップによっては不安定になることが知られています。 |
||
+ | |||
− | 3D アクセラレーションが効いたデスクトップで、ビデオの Xv オーバーレイを有効にしたときに有用です。KMS (つまり DRI2 アクセラレーション) が有効になっている時は必要ありません。 |
||
+ | Option "AccelMethod" "glamor" |
||
+ | |||
+ | アクセラレーションアーキテクチャとして Glamor を使う場合、'''ShadowPrimary''' オプションを有効にすることができます。2D の性能が向上しますが、他の性能 (3D や動画) は落ちる可能性があります。このオプションを有効にすると "EnablePageFlip" オプションが無効になります: |
||
+ | |||
+ | Option "ShadowPrimary" "on" |
||
+ | |||
+ | '''EXAVSync''' オプションはディスプレイコントローラが出力先の領域を引き渡すまでエンジンを止めることでティアリングを減らそうとします。パフォーマンスを犠牲にティアリングを減らしますが、チップによっては不安定になることが知られています。3D アクセラレーションが効いたデスクトップで、ビデオの Xv オーバーレイを有効にしたときに有用です。KMS (つまり DRI2 アクセラレーション) が有効になっている時は必要ありません: |
||
Option "EXAVSync" "yes" |
Option "EXAVSync" "yes" |
||
122行目: | 137行目: | ||
{{bc| |
{{bc| |
||
Section "Device" |
Section "Device" |
||
− | Identifier " |
+ | Identifier "Radeon" |
− | Driver |
+ | Driver "radeon" |
+ | Option "AccelMethod" "Glamor" |
||
− | Option "SWcursor" "off" #software cursor might be necessary on some rare occasions, hence set off by default |
||
+ | Option "DRI" "3" |
||
− | Option "EnablePageFlip" "on" #supported on all R/RV/RS4xx and older hardware, and set on by default |
||
+ | Option "TearFree" "on" |
||
− | Option "AccelMethod" "EXA" #valid options are XAA, EXA and Glamor. Default value varies per-GPU |
||
− | Option "RenderAccel" "on" #enabled by default on all radeon hardware |
||
− | Option "ColorTiling" "on" #enabled by default on RV300 and later radeon cards |
||
− | Option "EXAVSync" "off" #default is off, otherwise on. Only works '''if EXA activated''' |
||
− | Option "EXAPixmaps" "on" #when on icreases 2D performance, but may also cause artifacts on some old cards. Only works '''if EXA activated''' |
||
− | Option "AccelDFS" "on" #default is off, read the radeon manpage for more information |
||
EndSection |
EndSection |
||
}} |
}} |
||
+ | |||
+ | {{Tip|調整ツールとしては {{Pkg|driconf}} が試せます。vsync, 異方性フィルタリング, テキスチャー圧縮などの設定を変更することが可能です。このツールを使うことでいくつかのプログラム (例: Google Earth) で必要な "Low Impact fallback の無効化" もできます。}} |
||
+ | |||
+ | === カーネルパラメータ === |
||
+ | |||
+ | {{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 カードのものです。 |
||
141行目: | 158行目: | ||
options radeon gartsize=32 |
options radeon gartsize=32 |
||
− | + | 詳細や他のオプションについては、radeon の man ページやモジュールの info ページを読んで下さい: {{ic|man radeon}}, {{ic|modinfo radeon}}。 |
|
+ | ==== PCI-E 2.0 の無効化 ==== |
||
− | 調整ツールとしては {{Pkg|driconf}} が試せます。vsync, 異方性フィルタリング, テキスチャー圧縮などの設定を変更することが可能です。このツールを使うことでいくつかのプログラム (例: Google Earth) で必要な "Low Impact fallback の無効化" もできます。 |
||
− | |||
− | === PCI-E 2.0 の無効化 === |
||
カーネル 3.6 から、'''radeon''' の PCI-E v2.0 はデフォルトで有効になっています。 |
カーネル 3.6 から、'''radeon''' の PCI-E v2.0 はデフォルトで有効になっています。 |
||
153行目: | 168行目: | ||
詳細は [http://www.phoronix.com/scan.php?page=article&item=amd_pcie_gen2&num=1 Phoronix の記事] を見て下さい。 |
詳細は [http://www.phoronix.com/scan.php?page=article&item=amd_pcie_gen2&num=1 Phoronix の記事] を見て下さい。 |
||
+ | === Gallium ヘッドアップディスプレイ === |
||
− | === Glamor === |
||
+ | radeon ドライバーはゲームなどのアプリケーションの上に透明な文字やテキストを描画できるヘッドアップディスプレイの有効化をサポートしています。現在のフレームレートや CPU の使用率 (各 CPU コアごとの使用率やその平均) などの情報が表示できます。HUD は GALLIUM_HUD 環境変数で制御し、以下のパラメータのリストを指定できます: |
||
− | Glamor は OpenGL を使って実装された 2D アクセラレーションで、ドライバーが R300 以降のグラフィックカードで動作するはずです。 |
||
+ | *"fps" - 現在のフレームレートを表示 |
||
+ | *"cpu" - CPU の平均使用率を表示 |
||
+ | *"cpu0" - 1番目の CPU コアの CPU 使用率を表示 |
||
+ | *"cpu0+cpu1" - 最初の2つの CPU コアの CPU 使用率を表示 |
||
+ | *"draw-calls" - 画面上のオブジェクトのマテリアルの描画回数を表示 |
||
+ | *"requested-VRAM" - GPU の VRAM の使用量を表示 |
||
+ | *"pixels-rendered" - 描画されたピクセル数を表示 |
||
+ | パラメータの完全なリストや GALLIUM_HUD の詳細は glxgears などのシンプルなアプリケーションで "help" パラメータを使うことで確認できます: |
||
− | xf86-video-ati driver-1:7.2.0-1 から、glamor は radeonsi ドライバー (Southern Island と GFX カード以降) によって自動的に有効になります。他のグラフィックカードでは、AccelMethod glamor を xorg.conf ファイルの Device セクションに追加することで使うことができます: |
||
+ | {{bc|1=# GALLIUM_HUD="help" glxgears }} |
||
+ | 詳しくは [http://lists.freedesktop.org/archives/mesa-dev/2013-March/036586.html メーリングリストの投稿] や [https://kparal.wordpress.com/2014/03/03/fraps-like-fps-overlay-for-linux/ ブログの記事] を見て下さい。 |
||
− | Option "AccelMethod" "glamor" |
||
− | |||
− | (上記のバグが修正されるまで glamor の代わりとして) EXA を有効にしたいときは、以下の設定をすることがバグレポートで[https://bugs.freedesktop.org/show_bug.cgi?id=68524#c14 提案]されています: |
||
− | {{bc| |
||
− | Section "Device" |
||
− | Identifier "hd_7970" |
||
− | Driver "radeon" |
||
− | Option "AccelMethod" "EXA" |
||
− | Option "EXAVSync" "off" |
||
− | Option "EXAPixmaps" "on" |
||
− | Option "AccelDFS" "on" |
||
− | EndSection |
||
− | }} |
||
== ハイブリッドグラフィック/AMD Dynamic Switchable Graphics == |
== ハイブリッドグラフィック/AMD Dynamic Switchable Graphics == |
||
179行目: | 190行目: | ||
* GPU の負担が重いアプリケーションを使う必要がないときは、ディスクリートカードを無効にすることができます: {{ic|echo OFF > /sys/kernel/debug/vgaswitcheroo/switch}}。vgaswitcheroo を使えばもっと多くのことが出来ますが (詳しくは [https://help.ubuntu.com/community/HybridGraphics#Using_vga_switcheroo Ubuntu wiki] を参照) どうやっても1つのカードは1つのグラフィックセッションに拘束されるので、1つのグラフィックセッションで両方のカードを使うことはできません。 |
* GPU の負担が重いアプリケーションを使う必要がないときは、ディスクリートカードを無効にすることができます: {{ic|echo OFF > /sys/kernel/debug/vgaswitcheroo/switch}}。vgaswitcheroo を使えばもっと多くのことが出来ますが (詳しくは [https://help.ubuntu.com/community/HybridGraphics#Using_vga_switcheroo Ubuntu wiki] を参照) どうやっても1つのカードは1つのグラフィックセッションに拘束されるので、1つのグラフィックセッションで両方のカードを使うことはできません。 |
||
* [[PRIME]] を使用することができます。Linux でハイブリッドグラフィックを使うのに適当な方法と言えますが、ユーザーによる手動の操作が必要です。 |
* [[PRIME]] を使用することができます。Linux でハイブリッドグラフィックを使うのに適当な方法と言えますが、ユーザーによる手動の操作が必要です。 |
||
− | * radeon で [[ |
+ | * radeon で [[bumblebee]] も使えます。[[AUR]] に {{AUR|bumblebee-amd-git}} パッケージが存在します。 |
== 電力節減 == |
== 電力節減 == |
||
218行目: | 229行目: | ||
* {{ic|default}} はデフォルトの周波数を使用し、電源の状態を変更しません。これはデフォルトの挙動です。 |
* {{ic|default}} はデフォルトの周波数を使用し、電源の状態を変更しません。これはデフォルトの挙動です。 |
||
* {{ic|auto}} はシステムがバッテリー電源で動作しているのかそうでないのかによって電源状態を {{ic|mid}} と {{ic|high}} で切り替えます。 |
* {{ic|auto}} はシステムがバッテリー電源で動作しているのかそうでないのかによって電源状態を {{ic|mid}} と {{ic|high}} で切り替えます。 |
||
− | * {{ic|low}} はどんなときでも強制的に gpu の電源状態が {{ic|low}} になるようにします。{{ic|low}} ではノートパソコンのディスプレイに問題が起こることがあり、そのため {{ic|auto}} ではモニタの電源がオフのときだけ {{ic|low}} を使います。他のプロファイルではモニタの [[ |
+ | * {{ic|low}} はどんなときでも強制的に gpu の電源状態が {{ic|low}} になるようにします。{{ic|low}} ではノートパソコンのディスプレイに問題が起こることがあり、そのため {{ic|auto}} ではモニタの電源がオフのときだけ {{ic|low}} を使います。他のプロファイルではモニタの [[DPMS]] の状態がオフのときに選択されます。 |
* {{ic|mid}} はどんなときでも強制的に gpu の電源状態が {{ic|mid}} になるようにします。 |
* {{ic|mid}} はどんなときでも強制的に gpu の電源状態が {{ic|mid}} になるようにします。 |
||
* {{ic|high}} はどんなときでも強制的に gpu の電源状態が {{ic|high}} になるようにします。 |
* {{ic|high}} はどんなときでも強制的に gpu の電源状態が {{ic|high}} になるようにします。 |
||
234行目: | 245行目: | ||
</nowiki>}} |
</nowiki>}} |
||
− | もしくは [[ |
+ | もしくは [[udev]] ルールを使うこともできます ([[#プロファイルを使用する周波数切り替え]] の例): |
{{hc|/etc/udev/rules.d/30-radeon-pm.rules|<nowiki> |
{{hc|/etc/udev/rules.d/30-radeon-pm.rules|<nowiki> |
||
279行目: | 290行目: | ||
GPU が動作している速度を見るには、次のコマンドを実行することで以下のような出力が得られます: |
GPU が動作している速度を見るには、次のコマンドを実行することで以下のような出力が得られます: |
||
− | {{hc| |
+ | {{hc|# cat /sys/kernel/debug/dri/0/radeon_pm_info|<nowiki> |
state: PM_STATE_ENABLED |
state: PM_STATE_ENABLED |
||
default engine clock: 300000 kHz |
default engine clock: 300000 kHz |
||
288行目: | 299行目: | ||
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. |
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 で温度を調べることができます。 |
||
− | Thermal sensors are implemented via external i2c chips or via the internal thermal sensor (rv6xx-evergreen only). To get the temperature on asics that use i2c chips, you need to load the appropriate hwmon driver for the sensor used on your board (lm63, lm64, etc.). The drm will attempt to load the appropriate hwmon driver. On boards that use the internal thermal sensor, the drm will set up the hwmon interface automatically. When the appropriate driver is loaded, the temperatures can be accessed via [[lm_sensors|lm_sensors]] tools or via sysfs in {{ic|/sys/class/hwmon}}. |
||
== TV 出力 == |
== TV 出力 == |
||
356行目: | 367行目: | ||
== HDMI オーディオ == |
== HDMI オーディオ == |
||
− | HDMI オーディオは {{Pkg|xf86-video-ati}} ビデオドライバーでサポートされています。問題を起こすことがあるため、カーネルバージョン 3.0 以降では、デフォルトで HDMI オーディオは無効にされます。しかし、あなたの Radeon カードが [http://www.x.org/wiki/RadeonFeature Radeon Feature Matrix] に載っている場合、HDMI オーディオはおそらく動作します。有効にするには、[[ |
+ | HDMI オーディオは {{Pkg|xf86-video-ati}} ビデオドライバーでサポートされています。問題を起こすことがあるため、カーネルバージョン 3.0 以降では、デフォルトで HDMI オーディオは無効にされます。しかし、あなたの Radeon カードが [http://www.x.org/wiki/RadeonFeature Radeon Feature Matrix] に載っている場合、HDMI オーディオはおそらく動作します。有効にするには、[[カーネルパラメータ]]に {{ic|radeon.audio=1}} を追加してください。 |
起動後画面が表示されない場合は、ドライバーオプションを無効にしてください。 |
起動後画面が表示されない場合は、ドライバーオプションを無効にしてください。 |
||
{{Note| |
{{Note| |
||
− | * ドライバーをインストールした後 HDMI オーディオが動作しないときは、[[ |
+ | * ドライバーをインストールした後 HDMI オーディオが動作しないときは、[[Advanced Linux Sound Architecture/トラブルシューティング#HDMI から出力できない]] に書かれた方法でセットアップをテストしてください。 |
− | * PulseAudio で音が歪む場合は [[PulseAudio#Glitches, skips or crackling|{{ic|1=tsched=0}} を設定]]して {{ic|rtkit}} デーモンが動いているか確認してください。 |
+ | * PulseAudio で音が歪む場合は [[PulseAudio/トラブルシューティング#Glitches, skips or crackling|{{ic|1=tsched=0}} を設定]]して {{ic|rtkit}} デーモンが動いているか確認してください。 |
}} |
}} |
||
383行目: | 394行目: | ||
== ビデオアクセラレーションを有効にする == |
== ビデオアクセラレーションを有効にする == |
||
− | + | {{Pkg|mesa-vdpau}} パッケージにはフリードライバー用に MPEG1/2 デコードのサポートが追加されており、{{Pkg|libvdpau}} によって自動で検出されます。ビデオアクセラレーションが自動で使用されない場合は、{{Ic|LIBVA_DRIVER_NAME}} 環境変数を {{Ic|vdpau}} に、{{Ic|VDPAU_DRIVER}} 環境変数をドライバーコアの名前に設定することで、強制的にドライバーを使用させることができます。例えば、r600 以上のカードの場合: |
|
{{hc|1=~/.bashrc|2= |
{{hc|1=~/.bashrc|2= |
||
391行目: | 402行目: | ||
利用可能な VDPAU ドライバーは {{Ic|/usr/lib/vdpau/}} に入っています。 |
利用可能な 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 (垂直同期) をオフにする == |
||
429行目: | 466行目: | ||
=== 検知されない解像度を追加する === |
=== 検知されない解像度を追加する === |
||
+ | DisplayPort 接続などで EDID が認識されないことがあります。 |
||
− | e.g. When EDID fails on a DisplayPort connection. |
||
− | この問題については [[Xrandr# |
+ | この問題については [[Xrandr#検出されない解像度を追加する|Xrandr]] のページに記述されています。 |
=== (KMS を使っていて) AGP が無効になる === |
=== (KMS を使っていて) AGP が無効になる === |
||
437行目: | 474行目: | ||
パフォーマンスが上手く発揮されず dmesg で以下のように表示される場合: |
パフォーマンスが上手く発揮されず dmesg で以下のように表示される場合: |
||
[drm:radeon_agp_init] *ERROR* Unable to acquire AGP: -19 |
[drm:radeon_agp_init] *ERROR* Unable to acquire AGP: -19 |
||
− | マザーボードの agp ドライバー (例: {{ic|via_agp}}, {{ic|intel_agp}} など) が |
+ | マザーボードの agp ドライバー (例: {{ic|via_agp}}, {{ic|intel_agp}} など) が {{ic|radeon}} モジュールよりも前にロードされているか確認してください。[[#Kernel mode-setting (KMS)|KMS]] を参照。 |
=== TV が画面の回りに黒枠を表示する === |
=== TV が画面の回りに黒枠を表示する === |
||
+ | xrandr を使うことでオーバースキャンの保護をオフにできます: |
||
− | When I connected my TV to my Radeon HD 5770 using the HDMI port, the TV showed a blurry picture with a 2-3cm border around it. This is not the case when using the proprietary driver. However, this protection against overscanning (see [[Wikipedia:Overscan]]) can be turned off using xrandr: |
||
xrandr --output HDMI-0 --set underscan off |
xrandr --output HDMI-0 --set underscan off |
||
462行目: | 499行目: | ||
一つの PC で複数の ATI カードを使用しているときに、コンソールが表示されないという問題が起こります。Fujitsu Siemens Amilo PA 3553 ノートパソコンなどがこの問題を抱えています。fbcon コンソールドライバーが間違ったフレームバッファデバイスにマッピングしているのが原因です。カーネルブートラインに以下を追加することで修正できます: |
一つの PC で複数の ATI カードを使用しているときに、コンソールが表示されないという問題が起こります。Fujitsu Siemens Amilo PA 3553 ノートパソコンなどがこの問題を抱えています。fbcon コンソールドライバーが間違ったフレームバッファデバイスにマッピングしているのが原因です。カーネルブートラインに以下を追加することで修正できます: |
||
fbcon=map:1 |
fbcon=map:1 |
||
+ | 上記の設定で問題が解決しない場合、以下の設定で起動してみてください: |
||
− | This will tell the fbcon to map itself to the {{ic|/dev/fb1}} framebuffer dev and not the {{ic|/dev/fb0}}, that in our case exist on the wrong graphics card. |
||
+ | fbcon=map:0 |
||
=== テクスチャーが真っ黒になったりクラッシュする 3D アプリケーションがある === |
=== テクスチャーが真っ黒になったりクラッシュする 3D アプリケーションがある === |
||
481行目: | 519行目: | ||
EndSection |
EndSection |
||
}} |
}} |
||
− | |||
− | 新しいグラフィックボード (HD 77** 以上) を使っている場合、[[#Glamor|ここ]]で触れている glamor のバグによってスクロールが遅くなることがあります。EXA を有効にすることで問題は解決します。 |
||
=== モニターの回転がカーソルには動作するのにウィンドウやコンテンツには効かない === |
=== モニターの回転がカーソルには動作するのにウィンドウやコンテンツには効かない === |
||
498行目: | 534行目: | ||
* 上のが機能しない場合、{{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}} にオプションを設定してください。 |
||
+ | |||
+ | === スリープから復帰した後にカーソルがおかしくなる === |
||
+ | |||
+ | モニターがスリープから復帰した後にカーソルが縦に重なるなどおかしな表示がされる場合、{{ic|20-radeon.conf}} 設定ファイルの {{ic|"Device"}} セクションで {{ic|"SWCursor" "True"}} を設定してください。 |
||
+ | |||
+ | === マルチモニタモードで DisplayPort が出力されない === |
||
+ | |||
+ | {{ic|1=radeon.audio=0}} [[カーネルパラメータ]]を使って起動してみてください。 |
||
+ | |||
+ | === コンソールや X で 2D のパフォーマンスが出ない === |
||
+ | |||
+ | カーネル 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}} を[[カーネルパラメータ]]に追加)。 |
2015年11月25日 (水) 18:34時点における版
関連記事
AMD (以前の ATI) のビデオカードを使っている人は AMD のプロプライエタリなドライバー (catalystAUR) かオープンソースドライバー (xf86-video-ati) のどちらかを選ぶことができます。この記事ではオープンソースドライバーについて記述します。
今のところ、新しいカードでの 3D パフォーマンスや TV 出力サポートなどの点で、オープンソースドライバーはプロプライエタリのドライバーにやや劣っています。しかしながら、オープンソースドライバーにはより良い dual-head サポートや、素晴らしい 2D アクセラレーション、Compiz や KWin などの OpenGL アクセラレーションを使うウィンドウマネージャのために十分な 3D アクセラレーションがあります。
よくわからない場合、最初にオープンソースドライバーを試して下さい。それでほとんどの用途に間に合い、問題も少ないはずです (詳しくは feature matrix を見て下さい)。
目次
- 1 命名規則
- 2 概要
- 3 インストール
- 4 設定
- 5 Kernel mode-setting (KMS)
- 6 パフォーマンスチューニング
- 7 ハイブリッドグラフィック/AMD Dynamic Switchable Graphics
- 8 電力節減
- 9 TV 出力
- 10 HDMI オーディオ
- 11 Dual Head setup
- 12 ビデオアクセラレーションを有効にする
- 13 vsync (垂直同期) をオフにする
- 14 トラブルシューティング
- 14.1 ログイン時に乱れが生じる
- 14.2 検知されない解像度を追加する
- 14.3 (KMS を使っていて) AGP が無効になる
- 14.4 TV が画面の回りに黒枠を表示する
- 14.5 X でサスペンドから復帰すると黒画面にマウスカーソルしか表示されない
- 14.6 X1300 と Radeon ドライバーで KDE4 のデスクトップ効果が使えない
- 14.7 黒画面でコンソールが現れないが、KMS で X は動作する
- 14.8 テクスチャーが真っ黒になったりクラッシュする 3D アプリケーションがある
- 14.9 2D パフォーマンス (例えばスクロール) が遅い
- 14.10 モニターの回転がカーソルには動作するのにウィンドウやコンテンツには効かない
- 14.11 ATI X1600 (RV530 シリーズ) で 3D アプリケーションが黒いウィンドウを表示する
- 14.12 スリープから復帰した後にカーソルがおかしくなる
- 14.13 マルチモニタモードで DisplayPort が出力されない
- 14.14 コンソールや X で 2D のパフォーマンスが出ない
命名規則
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 カーネルドライバーを利用しますが、今のところクロック変更のサポートが欠けており、パフォーマンスを最大限発揮することができません。カーネル 4.4 以降でサポートされるようになる予定です。
- 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 アクセラレーション, KMS/DRI2 をサポートしています。
詳しくは feature matrix を参照してください。
一般的に、あなたがどの AMD/ATI カードを使っていようと、まず最初に xf86-video-ati を選ぶべきです。新しい AMD カードに対応したドライバーを使う必要がある場合、プロプライエタリの catalyst ドライバーを使うことを考えて下さい。
インストール
公式リポジトリから xf86-video-ati をインストールしてください。このパッケージには 2D アクセラレーションのための DDX ドライバーが入っており、依存パッケージとして mesa もインストールされます。3D アクセラレーションのための DRI ドライバーが含まれています。
OpenGL のサポートを有効にするには、mesa-libgl もインストールしてください。x86_64 環境で32ビットの 3D サポートを得るには、multilib リポジトリから lib32-mesa-libgl をインストールしてください。
動画デコードのアクセラレーションのサポートは mesa-vdpau と lib32-mesa-vdpau パッケージによって提供されています。
設定
Xorg は自動でドライバーをロードしてあなたのモニターの EDID を使って解像度を設定します。設定が必要なのはドライバーの調整だけです。
手動で設定したい場合、/etc/X11/xorg.conf.d/20-radeon.conf
を作成して、以下を追加して下さい:
Section "Device" Identifier "Radeon" Driver "radeon" EndSection
このセクションを使って、機能を有効にしたりドライバー設定の調整ができます。
Kernel mode-setting (KMS)
KMS はフレームバッファで最大解像度を有効にして、高速なコンソール (tty) 切り替えを可能にします。また、KMS は乱れを減らしたり 3D パフォーマンスを改善したり、カーネル空間の電力節約をする (DRI2 などの) 新しい技術を有効にします。
Early KMS start
以下の2つの方法はブートプロセスのできるだけ初めのほうで KMS を起動します。
1. カーネルコマンドラインから UMS ドライバーと衝突するものを全て削除してください:
- ブートローダーの設定ファイルの kernel 行にある全ての
vga=
オプションを削除してください。他のフレームバッファドライバー (uvesafb
やradeonfb
など) は 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
を追加してください。AGP を使うなら、radeon
モジュールの前にチップセットに合った AGP ドライバー (例:intel_agp
,ali_agp
,ati_agp
,amd_agp
,amd64_agp
など) を追加する必要があります。 - initramfs を再生成してください。
最後に、システムを再起動してください。
Late start
これを選ぶと、ブートプロセス中のモジュールがロードされた時に KMS が有効になります。
特別なカーネル (例: linux-zen) を使っている場合、適切な mkinitcpio 設定ファイル (例: /etc/mkinitcpio-zen.conf
) を使うのを覚えておいて下さい。以下の説明はデフォルトのカーネル (linux) に向けて書かれています。
- ブートローダーの設定ファイルの kernel 行から
vga=
オプションを全て削除してください。他のフレームバッファドライバー (uvesafb
やradeonfb
) を使っていると KMS と衝突します。また、/etc/mkinitcpio.conf
からフレームバッファに関連するモジュールを全て削除してください。video=
は KMS と一緒に使うことができます。 - システムを再起動してください。
パフォーマンスチューニング
以下のオプションは /etc/X11/xorg.conf.d/20-radeon.conf
に追加します。
ドライバーオプションを有効にする前に man radeon
と RadeonFeature を読んで下さい。
ドライバーオプション
ColorTiling と ColorTiling2D は安全に有効にすることができ、おそらくデフォルトで有効になっています。ほとんどの場合パフォーマンスが向上しますが、R200 以前のカードではサポートされていません。昔のカードでも有効にすることはできますが、処理は CPU に転嫁されます:
Option "ColorTiling" "on" Option "ColorTiling2D" "on"
デフォルトの DRI2 の代わりに DRI3 のサポートを有効にすることができます。DRI2 と DRI3 のパフォーマンスについては Phoronix によるベンチマークが参考になるでしょう:
Option "DRI" "3"
TearFree はハードウェアのページフリッピング機能を使ってチラツキを抑えます。このオプションを有効にすると "EnablePageFlip" オプションが無効になります:
Option "TearFree" "on"
アクセラレーションアーキテクチャ; Glamor は OpenGL を使用する 2D アクセラレーションメソッドです。R300 以降の新しいドライバーを使用するグラフィックカードで動作します。xf86-video-ati driver-1:7.2.0-1 から、radeonsi ドライバーでは自動的に有効になります (Southern Islands やそれ以上の GFX カード)。他のグラフィックカードでも設定ファイルに AccelMethod glamor を追加することで強制的に使用することができます:
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" EndSection
カーネルパラメータ
radeon.bapm=1
[1], radeon.disp_priority=2
[2], radeon.hw_i2c=1
[3], radeon.mst=1
[4], radeon.msi=1
(MSI サポートの強制有効化), radeon.audio=0
(GPU オーディオの強制無効化), radeon.tv=0
(TV 出力の無効化) などのカーネルパラメータが利用できます。
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 ヘッドアップディスプレイ
radeon ドライバーはゲームなどのアプリケーションの上に透明な文字やテキストを描画できるヘッドアップディスプレイの有効化をサポートしています。現在のフレームレートや 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 も使えます。AUR に bumblebee-amd-gitAUR パッケージが存在します。
電力節減
radeon ドライバーでは、デフォルトではパワーセーブは無効になっており使うには手動で有効にする必要があります。
異なる3つの方法から選ぶことができます:
どれがあなたにとって一番最適な方法なのかは、あなた自身で試してみてください!
電力管理は vbios に適切な power state table がある全てのチップ (R1xx 以降) でサポートされています。"dpm" は R6xx 以降のチップでサポートされています。
詳しくは http://www.x.org/wiki/RadeonFeature/#index3h2 を見て下さい。
古い方法
動的周波数切り替え
この方法では 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
はシステムがバッテリー電源で動作しているのかそうでないのかによって電源状態をmid
とhigh
で切り替えます。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"
グラフィカルツール
- Radeon-tray — システムトレイアイコンから Radeon カードの電源プロファイルを操作する小さなプログラム。PyQt4 で書かれており Gnome 以外のユーザーに適しています。
- power-play-switcher — ati radeon ビデオカードのオープンソースドライバーの powerplay 設定を変更する gui。
- Gnome-shell-extension-Radeon-Power-Profile-Manager — オープンソースドライバーを使っている際に電源プロファイルを変更できる Gnome-shell の小さな拡張。
- https://github.com/StuntsPT/shell-extension-radeon-power-profile-manager || gnome-shell-extension-radeon-ppmAUR gnome-shell-extension-radeon-power-profile-manager-gitAUR
動的電源管理
カーネル 3.13 から、DPM (Dynamic power management) は ほとんどの AMD Radeon ハードウェア においてデフォルトで有効になっています。無効にするには、カーネルパラメータに radeon.dpm=0
を追加してください。
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
グラフィカルツール
- Gnome-shell-extension-Radeon-Power-Profile-Manager by lalmeras — dpm の設定を簡単に battery, balanced, performance に切り替えることができる GNOME シェル拡張 (StuntsPT からのフォーク)。この拡張では複数のカードのセットアップをサポートしています。
ノート
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
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 ツールや /sys/class/hwmon
の sysfs で温度を調べることができます。
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
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
To switch back to the monitor, I change this to 0
. -1
is used for automatic switching in dualhead setups.
xorg の設定ファイルで TV 出力を有効化する方法は Enabling TV-Out Statically を見て下さい。
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 はコマンドラインをそのまま渡すことができます。
- Lilo ではダブルクォートにバックスラッシュが必要です (
# \"video=9-pin DIN-1:1024x768-24@60e\"
を追加してください) - Grub2: TODO
次のコマンドでビデオ出力の一覧を取得できます:
$ ls -1 /sys/class/drm/ | grep -E '^card[[:digit:]]+-' | cut -d- -f2-
HDMI オーディオ
HDMI オーディオは xf86-video-ati ビデオドライバーでサポートされています。問題を起こすことがあるため、カーネルバージョン 3.0 以降では、デフォルトで HDMI オーディオは無効にされます。しかし、あなたの Radeon カードが Radeon Feature Matrix に載っている場合、HDMI オーディオはおそらく動作します。有効にするには、カーネルパラメータに radeon.audio=1
を追加してください。
起動後画面が表示されない場合は、ドライバーオプションを無効にしてください。
Dual Head setup
Independent X screens
Independent dual-headed setups can be configured the usual way. However you might want to know that the radeon driver has a "ZaphodHeads"
option which allows you to bind a specific device section to an output of your choice, for instance using:
Section "Device" Identifier "Device0" Driver "radeon" Option "ZaphodHeads" "VGA-0" VendorName "ATI" BusID "PCI:1:0:0" Screen 0 EndSection
This can be a life-saver, because some cards which have more than two outputs (for instance one HDMI out, one DVI, one VGA), will only select and use HDMI+DVI outputs for the dual-head setup, unless you explicitely specify "ZaphodHeads" "VGA-0"
.
ビデオアクセラレーションを有効にする
mesa-vdpau パッケージにはフリードライバー用に MPEG1/2 デコードのサポートが追加されており、libvdpau によって自動で検出されます。ビデオアクセラレーションが自動で使用されない場合は、LIBVA_DRIVER_NAME
環境変数を vdpau
に、VDPAU_DRIVER
環境変数をドライバーコアの名前に設定することで、強制的にドライバーを使用させることができます。例えば、r600 以上のカードの場合:
~/.bashrc
export LIBVA_DRIVER_NAME=vdpau export VDPAU_DRIVER=r600
利用可能な VDPAU ドライバーは /usr/lib/vdpau/
に入っています。
Southern Islands (HD 7XXX) 以上のカードを使っている場合、VDPAU_DRIVER
変数を radeonsi
に設定する必要があります:
~/.bashrc
export VDPAU_DRIVER=radeonsi
vainfo
を実行して設定を確認してください:
$ vainfo
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
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 など) ではありません。
トラブルシューティング
ログイン時に乱れが生じる
乱れが生じる場合、まず /etc/X11/xorg.conf
を使わずに X を起動してみてください。Xorg の最新バージョンは、ほとんどのユースケースに対応した信頼できる自動検知・自動設定を行います。時代遅れの・誤った設定がされている xorg.conf
ファイルは問題を起こす原因となります。
設定ファイルを使わずに起動するために、xorg-input-drivers
パッケージグループをインストールするのを推奨します。
/etc/X11/xorg.conf.d/20-radeon.conf
で EXAPixmaps
を無効にすることも試すとよいでしょう:
Section "Device" Identifier "Radeon" Driver "radeon" Option "EXAPixmaps" "off" EndSection
さらに AccelDFS
を無効にすることもできます:
Option "AccelDFS" "off"
検知されない解像度を追加する
DisplayPort 接続などで EDID が認識されないことがあります。
この問題については Xrandr のページに記述されています。
(KMS を使っていて) AGP が無効になる
パフォーマンスが上手く発揮されず dmesg で以下のように表示される場合:
[drm:radeon_agp_init] *ERROR* Unable to acquire AGP: -19
マザーボードの agp ドライバー (例: via_agp
, intel_agp
など) が radeon
モジュールよりも前にロードされているか確認してください。KMS を参照。
TV が画面の回りに黒枠を表示する
xrandr を使うことでオーバースキャンの保護をオフにできます:
xrandr --output HDMI-0 --set underscan off
X でサスペンドから復帰すると黒画面にマウスカーソルしか表示されない
メモリが 32MB 以下のカードでサスペンドから復帰すると X にマウスポインタしか表示されず黒画面になることがあります。マウスカーソルの下の部分だけ画面が再描画されることもあります。この問題は /etc/X11/xorg.conf.d/20-radeon.conf
で EXAPixmaps
を "enabled"
にすることで解決します。詳しくはパフォーマンスチューニングを見て下さい。
X1300 と Radeon ドライバーで KDE4 のデスクトップ効果が使えない
KDE4 にはバグが存在しビデオハードウェアの正確なチェックができず、X1300 には十分な GPU パワーが存在するのにデスクトップ効果が無効になってしまうことがあります。対応策としては KDE4 設定ファイルの /usr/share/kde-settings/kde-profile/default/share/config/kwinrc
や .kde/share/config/kwinrc
でチェックを上書きすることができます。
[Compositing] セクションに以下を追加してください:
DisableChecks=true
コンポジットを有効にするには:
Enabled=true
黒画面でコンソールが現れないが、KMS で X は動作する
一つの PC で複数の ATI カードを使用しているときに、コンソールが表示されないという問題が起こります。Fujitsu Siemens Amilo PA 3553 ノートパソコンなどがこの問題を抱えています。fbcon コンソールドライバーが間違ったフレームバッファデバイスにマッピングしているのが原因です。カーネルブートラインに以下を追加することで修正できます:
fbcon=map:1
上記の設定で問題が解決しない場合、以下の設定で起動してみてください:
fbcon=map:0
テクスチャーが真っ黒になったりクラッシュする 3D アプリケーションがある
テクスチャー圧縮サポートが必要なのかもしれません、これはオープンソースドライバーには含まれていません。libtxc_dxtn (multilib 環境では lib32-libtxc_dxtn) をインストールしてください。
2D パフォーマンス (例えばスクロール) が遅い
ターミナルやブラウザでのスクロールなど、2D パフォーマンスに問題がある場合、xorg.conf
ファイルの "Device"
セクションに Option "MigrationHeuristic" "greedy"
を追加すると改善するかもしれません。この設定は EXA にしか適用されません。
下はファイル /etc/X11/xorg.conf.d/20-radeon.conf
の設定サンプルです:
Section "Device" Identifier "My Graphics Card" Driver "radeon" Option "MigrationHeuristic" "greedy" EndSection
モニターの回転がカーソルには動作するのにウィンドウやコンテンツには効かない
Users with newer graphics boards who have enabled EXA instead of glamor may find that rotating their monitor with xrandr causes the cursor and monitor dimensions to rotate, but windows and other content stay in their normal orientation. Additionally, the cursor moves according to normal rotation when the user moves the mouse. Look for the following line in your /var/log/Xorg.0.log
when you issue the xrandr rotate command:
(EE) RADEON(0): Rotation requires acceleration!
Acceleration is disabled when using EXA on newer graphics cards (source: comment 17). You must choose between enabling EXA (detailed above in the glamor section) and the ability to rotate.
ATI X1600 (RV530 シリーズ) で 3D アプリケーションが黒いウィンドウを表示する
3つの解決方法が考えられます:
pci=nomsi
をブートローダーのカーネルパラメータに追加して見て下さい。- 上のが機能しない場合、
pci=nomsi
の代わりにnoapic
を追加して見て下さい。 - どちらも機能しないときは、
vblank_mode=0 glxgears
とvblank_mode=1 glxgears
を実行してどちらが機能するかを確認し、driconf をインストールして~/.drirc
にオプションを設定してください。
スリープから復帰した後にカーソルがおかしくなる
モニターがスリープから復帰した後にカーソルが縦に重なるなどおかしな表示がされる場合、20-radeon.conf
設定ファイルの "Device"
セクションで "SWCursor" "True"
を設定してください。
マルチモニタモードで DisplayPort が出力されない
radeon.audio=0
カーネルパラメータを使って起動してみてください。
コンソールや X で 2D のパフォーマンスが出ない
カーネル 4.1.4 から、特定の R9 270X カードでは dpm が機能しません (lspci ではチップ製造番号 6810, サブシステム 174b:e271, Curacao XT, PC Partner Limited / Sapphire Technology Device e271 などと確認)。このリグレッションは同一の PCI id のカードの 修正 が原因です。dpm を無効化することで問題は解決します (radeon.dpm=0
をカーネルパラメータに追加)。