「ATI」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
 
(同期)
 
(6人の利用者による、間の37版が非表示)
1行目: 1行目:
[[Category:グラフィック]]
+
[[Category:グラフィック]]
 
[[Category:X サーバー]]
 
[[Category:X サーバー]]
 
[[de:ATI]]
 
[[de:ATI]]
 
[[en:ATI]]
 
[[en:ATI]]
[[es:ATI]]
+
[[zh-hans:ATI]]
  +
{{Related articles start}}
[[fr:ATI]]
 
  +
{{Related|AMDGPU}}
[[it:ATI]]
 
[[pl:ATI]]
 
[[ru:ATI]]
 
[[tr:ATI]]
 
[[zh-CN:ATI]]
 
{{Related articles start (日本語)}}
 
{{Related|AMD Catalyst}}
 
 
{{Related|Xorg}}
 
{{Related|Xorg}}
 
{{Related articles end}}
 
{{Related articles end}}
   
'''AMD''' (以前 '''ATI''') のビデオカドを使ってい人は AMD の[[AMD Catalyst|プロプライエタリなドライバー]] ({{AUR|catalyst}}) オープンソースドライバー ({{Pkg|xf86-video-ati}}) のどちらか選ぶことができます。この記事ではオープンソースドライバーにつて記述します。
+
この記事では、AMD (以前 ATI) の古い GPU をサポトする [https://wiki.freedesktop.org/xorg/radeon/ radeon] オープンソースドライバをバーしています。
   
  +
== 正しいドライバーの選択 ==
今のところ、新しいカードでの 3D パフォーマンスや TV 出力サポートなどの点で、オープンソースドライバーはプロプライエタリのドライバーに''やや劣っています''。しかしながら、オープンソースドライバーにはより良い dual-head サポートや、素晴らしい 2D アクセラレーション、[[Compiz]] や KWin などの OpenGL アクセラレーションを使う[[ウィンドウマネージャ]]のために十分な 3D アクセラレーションがあります。
 
   
  +
使用しているカードにあわせて、[[Xorg#AMD]] を見て適切なドライバーを選択してください。このページでは '''ATI''' ドライバーについて説明します。
よくわからない場合、最初にオープンソースドライバーを試して下さい。それでほとんどの用途に間に合い、問題も少ないはずです (詳しくは [http://www.x.org/wiki/RadeonFeature feature matrix] を見て下さい)。
 
   
  +
よくわからない場合、まず [[AMDGPU]] ドライバを試してください。AMDGPU ドライバは2015年以降にリリースされたカードのほとんどと適合します。このドライバによってサポートされている機能を調べるには[https://www.x.org/wiki/RadeonFeature この機能表]を見てください。マーケティング名 (例: Radeon HD4330) とチップ名との対応は[[Wikipedia:List of AMD graphics processing units#Features overview|このデコード表]]を見てください。
== 命名規則 ==
 
   
  +
== インストール ==
[[Wikipedia:ja:RADEON|Radeon]] ブランドはある命名規則に従っており、それによってそれぞれの製品をマーケットセグメントに関連付けています。この記事では、''製品名'' (例: HD 4850, X1900) と''コードネーム''もしくは''コアネーム'' (例: RV770, R580) の両方の名前を使っています。伝統的に、一つの''製品シリーズ''は一つの''コアシリーズ''に対応します (例えば "X1000" 製品シリーズ (X1300, X1600, X1800, X1900 など) は "R500" コアシリーズ (RV515, RV530, R520, R580 など) を使っています)。
 
   
  +
{{Pkg|mesa}} パッケージを[[インストール]]してください。これには、3D アクセラレーションのための DRI ドライバーと、[[ハードウェアビデオアクセラレーション#AMD/ATI|動画エンコードのアクセラレーション]]のための VA-API/VDPAU ドライバの両方が含まれています。非常に古い GPU ([[Wikipedia:Radeon_R200_series|R200]] 及びそれ以前) の場合は {{Pkg|mesa-amber}} をインストールしてください。
製品シリーズとコアシリーズの表は [[Wikipedia:Comparison of AMD graphics processing units]] を見て下さい。
 
   
  +
* 32ビットのアプリケーションに対応するには、[[multilib]] リポジトリ にある {{Pkg|lib32-mesa}} ({{Pkg|lib32-mesa-amber}}) パッケージもインストールしてください。
== 概要 ==
 
  +
* DDX ドライバー ([[Xorg]] で 2D アクセラレーションを提供します) については、{{Pkg|xf86-video-ati}} パッケージをインストールしてください。
   
  +
== ロード ==
{{ic|xf86-video-ati}} (radeon) ドライバーは:
 
*HD 6xxx と 7xxxM (最新の Northern Islands チップセット) までの Radeon チップセットで動作します。
 
**HD 77xx (Southern Islands) シリーズの Radeon は部分的にサポートしています。サポートされていない機能は [http://www.x.org/wiki/RadeonFeature feature matrix] で確認してください。
 
**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 をサポートしています。
 
   
  +
radeon カーネルモジュールはシステムの起動時に自動的に正しく読み込まれるはずです。
一般的に、あなたがどの AMD/ATI カードを使っていようと、まず最初に '''xf86-video-ati''' を選ぶべきです。新しい AMD カードに対応したドライバーを使う必要がある場合、プロプライエタリの '''catalyst''' ドライバーを使うことを考えて下さい。
 
   
  +
うまく行かない場合:
{{Note|カーネルや {{ic|xorg.conf}} では '''xf86-video-ati''' は '''''radeon''''' と表記されます。}}
 
   
  +
* [[カーネルパラメータ]] に {{ic|nomodeset}} や {{ic|1=vga=}} を使用して'''いない'''ことを確認してください。radeon は [[KMS]] を要求するからです。
== インストール ==
 
  +
* また、[[カーネルモジュール#ブラックリスト|カーネルモジュールのブラックリスト化]]によって radeon を無効化していないことを確認してください。
   
  +
== Xorg の設定 ==
{{Note|プロプライエタリの Catalyst ドライバーから移行する場合は、最初に [[AMD Catalyst (日本語)#アンインストール|AMD Catalyst#アンインストール]] を見て下さい。}}
 
   
  +
Xorg は自動的にドライバーをロードしてモニターの EDID を使用してネイティブ解像度を設定します。設定が必要になるのはドライバーを調整するときだけです。
[[Official Repositories (日本語)|公式リポジトリ]]から {{Pkg|xf86-video-ati}} を[[pacman (日本語)|インストール]]してください。このパッケージには 2D アクセラレーションのための DDX ドライバーが入っており、依存パッケージとして {{Pkg|mesa-dri}} もインストールされます。3D アクセラレーションのための DRI ドライバーが入っている {{Pkg|mesa-libgl}} もインストールしてください。
 
   
  +
手動で設定したい場合 {{ic|/etc/X11/xorg.conf.d/20-radeon.conf}} を作成して以下を記述してください:
x86_64 環境で32ビットの 3D サポートを得るには、[[multilib (日本語)|multilib]] リポジトリから {{Pkg|lib32-mesa-dri}} と {{Pkg|lib32-mesa-libgl}} をインストールしてください。
 
   
  +
Section "OutputClass"
== 設定 ==
 
 
Xorg は自動でドライバーをロードしてあなたのモニターの EDID を使って解像度を設定します。設定が必要なのはドライバーの調整だけです。
 
 
手動で設定したい場合、{{ic|/etc/X11/xorg.conf.d/20-radeon.conf}} を作成して、以下を追加して下さい:
 
 
Section "Device"
 
 
Identifier "Radeon"
 
Identifier "Radeon"
  +
MatchDriver "radeon"
 
Driver "radeon"
 
Driver "radeon"
 
EndSection
 
EndSection
   
のセクションを使って、機能を有効にしたりドライバー設定調整ができます。
+
上記のセクションを使って、ドライバー設定調整したり機能を有効化することができます。
   
  +
== パフォーマンスチューニング ==
== Kernel mode-setting (KMS) ==
 
   
  +
=== ビデオアクセラレーションを有効にする ===
{{Tip|解像度に問題が生じる場合、[[Kernel_Mode_Setting (日本語)#モードの強制と EDID|このページ]]を確認してください。}}
 
   
  +
[[ハードウェアビデオアクセラレーション#AMD/ATI]]を見てください。
[[Kernel Mode Setting (日本語)|KMS]] はフレームバッファで最大解像度を有効にして、高速なコンソール (tty) 切り替えを可能にします。また、KMS は乱れを減らしたり 3D パフォーマンスを改善したり、カーネル空間の電力節約をする (DRI2 などの) 新しい技術を有効にします。
 
   
  +
=== グラフィカルツール ===
{{Note|
 
* AMD/ATI カードは自動検知され KMS はデフォルトで'''有効になります'''。このセクションは標準から外れた設定のために残しています。
 
* Linux 3.9 から、{{ic|radeon}} ドライバーには kernel mode-setting が'''必須になりました''' (カーネルコンパイルオプションで古い user mode-setting も有効にはできますが、HDMI オーディオなどの機能は KMS に依存しています)。[[kernel parameters (日本語)|カーネルパラメータ]]に {{ic|1=radeon.modeset=0}} や {{ic|nomodeset}} を設定している場合は、削除してください。{{ic|/etc/modprobe.d/}} 以下に {{ic|1=options radeon modeset=0}} の設定がある場合も、削除してください。
 
}}
 
   
  +
* {{App|radeon-profile|Radeon カードの情報を表示する Qt アプリケーション。|https://github.com/marazmista/radeon-profile|{{AUR|radeon-profile-git}}}}
=== Early KMS start ===
 
  +
* {{App|CoreCtrl|人気な汎用 GPU/CPU コントローラー。高度な使用法については [https://gitlab.com/corectrl/corectrl/-/wikis/Setup Setup] ページを見てください。|https://gitlab.com/corectrl/corectrl|{{Pkg|corectrl}}}}
   
  +
=== ドライバーオプション ===
''以下の2つの方法は[[Arch Boot Process (日本語)|ブートプロセス]]のできるだけ初めのほうで KMS を起動します。''
 
   
  +
以下のオプションは {{ic|/etc/X11/xorg.conf.d/'''20-radeon.conf'''}} に追加します。
1. カーネルコマンドラインから UMS ドライバーと衝突するものを全て削除してください:
 
* ブートローダーの[[Boot Loader#Configuration files|設定ファイル]]の ''kernel'' 行にある全ての {{ic|<nowiki>vga=</nowiki>}} オプションを削除してください。他のフレームバッファドライバー ({{ic|[[uvesafb]]}} や {{ic|radeonfb}} など) は KMS と衝突します。
 
* AGP の速度を {{ic|<nowiki>radeon.agpmode=x</nowiki>}} カーネルオプションで設定できます、x は 1, 2, 4, 8 (AGP の速度) か -1 (PCI モード) に置き換えてください。
 
   
  +
ドライバーオプションを有効にする前に {{man|4|radeon}} と [https://www.x.org/wiki/RadeonFeature/#index4h2 RadeonFeature] を読んで下さい。
2. または、[[mkinitcpio (日本語)|initramfs]] がロードされる時:
 
* 標準の {{ic|-ARCH}} カーネルではない特別なカーネル (例: linux-zen) を使っている場合、{{ic|/etc/mkinitcpio.conf}} ではなく他の ''mkinitcpio'' 設定ファイル (例: {{ic|/etc/mkinitcpio-zen.conf}}) を使うのを覚えておいて下さい。
 
* ''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 (日本語)#イメージ作成とアクティベーション|initramfs]] を再生成してください。
 
   
  +
'''アクセラレーションアーキテクチャ''': Glamor は、OpenGL で実装された 2D アクセラレーションメソッドです。R600 (Radeon HD2000 シリーズ) およびそれ以降のグラフィックカードでは、これが[https://gitlab.freedesktop.org/xorg/driver/xf86-video-ati/-/commit/f11531c99fcd6473f58b4d10efaf3efd84304d8e デフォルトで使用されます]。それより古いカードでは、EXA が使用されます。
最後に、システムを'''再起動してください'''。
 
   
  +
Option "AccelMethod" "glamor"
=== Late start ===
 
   
  +
[https://www.phoronix.com/scan.php?page=news_item&px=Radeon-AMDGPU-1.19-Updates xf86-video-ati 7.8.0 以降]、'''DRI3''' はデフォルトで有効になっています。
''これを選ぶと、[[Arch Boot Process (日本語)|ブートプロセス]]中のモジュールがロードされた時に KMS が有効になります。''
 
   
  +
'''TearFree''' はハードウェアのページフリッピング機能を使ってチラツキを抑えます。このオプションを有効にすると "EnablePageFlip" オプションが無効になります:
特別なカーネル (例: 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}} のどれかを追加する必要があります。}}
 
   
  +
Option "TearFree" "on"
# ブートローダーの[[Boot Loader#Configuration files|設定ファイル]]の ''kernel'' 行から {{ic|<nowiki>vga=</nowiki>}} オプションを全て削除してください。他のフレームバッファドライバー ({{ic|[[uvesafb]]}} や {{ic|radeonfb}}) を使っていると KMS と衝突します。また、{{ic|/etc/mkinitcpio.conf}} からフレームバッファに関連するモジュールを全て削除してください。{{ic|<nowiki>video=</nowiki>}} は KMS と一緒に使うことができます。
 
# システムを'''再起動してください'''。
 
 
== パフォーマンスチューニング ==
 
以下のオプションは {{ic|/etc/X11/xorg.conf.d/'''20-radeon.conf'''}} に追加します。
 
   
'''ColorTiling''' は安全に有効にすることができ、おそらくデフォルトで有効になっています。ほとんど場合パフォーマンス向上ますが、R200 以前ードではサポートされていません。昔ードでも有効にすることできますが、処理CPU に転嫁されます
+
'''ColorTiling''' と '''ColorTiling2D''' は安全に有効にすることができ、おそらくデフォルトで有効になっています。タイルモードは 3D アプリケーションのパフォーマンスを劇的に向上する可能性があります。DRM モジュール古すぎる場合や現在ディスプレイ構成がこのモードサポートていない場合、こードは無効化されます。KMS ColorTiling2D 、R600 (Radeon HD2000 シリーズ) およびそれ以降のチップでのみサポートされています:
   
 
Option "ColorTiling" "on"
 
Option "ColorTiling" "on"
  +
Option "ColorTiling2D" "on"
   
  +
アクセラレーションアーキテクチャとして Glamor を使う場合、'''ShadowPrimary''' オプションを有効にすることができます。このオプションは、CPU がピクセルデータに高速にアクセスできるようにする "shadow primary" バッファと呼ばれるものと、各ディスプレイコントローラ (CRTC) 用の個別のスキャンアウトバッファを有効化します。これにより、一部の 2D のワークロードが高速化する場合がありますが、他のワークロード (3D やビデオなど) が犠牲になる可能性があります。このオプションを有効にすると "EnablePageFlip" オプションが無効化されることに注意してください:
'''アクセラレーションアーキテクチャ'''; これは'''新しい'''カードでだけ動作します。有効にして X に戻れなくなった時は、削除してください。
 
   
Option "AccelMethod" "EXA"
+
Option "ShadowPrimary" "on"
   
  +
'''EXAVSync''' オプションは EXA を使用している場合にのみ利用可能です。このオプションは、ディスプレイコントローラが出力先の領域を引き渡すまでエンジンを止めることでティアリングを減らそうとします。パフォーマンスを犠牲にティアリングを減らしますが、チップによっては不安定になることが知られています:
'''Page Flip''' は通常安全に有効にできます。使うと EXA が無効になってしまうので、たいてい古いカードで使われます。最新のドライバーでは EXA と一緒に使うことができます。
 
 
Option "EnablePageFlip" "on"
 
 
'''EXAVSync''' オプションはディスプレイコントローラが出力先の領域を引き渡すまでエンジンを止めることでティアリングを減らそうとします。パフォーマンスを犠牲にティアリングを減らしますが、チップによっては不安定になることが知られています。
 
3D アクセラレーションが効いたデスクトップで、ビデオの Xv オーバーレイを有効にしたときに有用です。KMS (つまり DRI2 アクセラレーション) が有効になっている時は必要ありません。
 
   
 
Option "EXAVSync" "yes"
 
Option "EXAVSync" "yes"
120行目: 89行目:
 
下は設定ファイル {{ic|/etc/X11/xorg.conf.d/'''20-radeon.conf'''}} のサンプルです:
 
下は設定ファイル {{ic|/etc/X11/xorg.conf.d/'''20-radeon.conf'''}} のサンプルです:
   
  +
Section "OutputClass"
{{bc|
 
  +
Identifier "Radeon"
Section "Device"
 
  +
MatchDriver "radeon"
Identifier "My Graphics Card"
 
Driver "radeon"
+
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 "ColorTiling" "on"
Option "RenderAccel" "on" #enabled by default on all radeon hardware
 
  +
Option "ColorTiling2D" "on"
Option "ColorTiling" "on" #enabled by default on RV300 and later radeon cards
 
  +
EndSection
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
 
}}
 
   
  +
=== カーネルパラメータ ===
'''gartsize''' が自動検知されない場合、{{ic|1=radeon.gartsize=32}} を[[kernel parameters (日本語)|カーネルパラメータ]]に追加して手動で定義することができます。メガバイトでサイズを指定します。32 は RV280 カードのものです。
 
   
  +
{{Tip|[[カーネルモジュール#情報を取得]]に書かれているように {{ic|systool}} を使うことでパラメータをデバッグすることができます。}}
もしくは、{{ic|/etc/modprobe.d/radeon.conf}} の modprobe オプションを使っても設定できます:
 
   
  +
'''gartsize''' が自動検知されない場合、{{ic|1=radeon.gartsize=32}} を[[カーネルパラメータ]]に追加して手動で定義することができます。
options radeon gartsize=32
 
   
  +
{{Note|最近の AMD ビデオカードではこのパラメータはもはや必要ないはずです:
'''詳細や他のオプションについては、radeon の man ページやモジュールの info ページを読んで下さい''': {{ic|man radeon}}, {{ic|modinfo radeon}}。
 
  +
{{bc|1=
  +
[drm] Detected VRAM RAM=2048M, BAR=256M
  +
[drm] radeon: 2048M of VRAM memory ready
  +
[drm] radeon: 2048M of GTT memory ready.
  +
}}
  +
}}
   
  +
変更は次の起動時に有効になります。
調整ツールとしては {{Pkg|driconf}} が試せます。vsync, 異方性フィルタリング, テキスチャー圧縮などの設定を変更することが可能です。このツールを使うことでいくつかのプログラム (例: Google Earth) で必要な "Low Impact fallback の無効化" もできます。
 
   
=== PCI-E 2.0 の無効化 ===
+
==== PCIe 2.0 の無効化 ====
   
カーネル 3.6 から、'''radeon''' の PCI-E v2.0 はデフォルトで有効になっています。
+
カーネル 3.6 から、'''radeon''' の PCI Express 2.0 はデフォルトで有効になっています。
   
マザーボードによっては不安定になることがあり、[[Kernel parameters (日本語)|カーネルコマンドライン]]に {{ic|1=radeon.pcie_gen2=0}} を追加することで無効にできます。
+
マザーボードによっては不安定になることがあり、[[カーネルコマンドライン]]に {{ic|1=radeon.pcie_gen2=0}} を追加することで無効にできます。
   
詳細は [http://www.phoronix.com/scan.php?page=article&item=amd_pcie_gen2&num=1 Phoronix の記事] を見て下さい。
+
詳細は [https://www.phoronix.com/scan.php?page=article&item=amd_pcie_gen2&num=1 Phoronix の記事] を見て下さい。
   
  +
=== Gallium ヘッドアップディスプレイ ===
=== Glamor ===
 
   
  +
radeon ドライバーはゲームなどのアプリケーションの上に透明な文字やテキストを描画できるヘッドアップディスプレイ(HUD)の有効化をサポートしています。現在のフレームレートや CPU の使用率 (各 CPU コアごとの使用率やその平均) などの情報が表示できます。HUD は GALLIUM_HUD 環境変数で制御し、以下のパラメータのリストを指定できます:
Glamor は OpenGL を使って実装された 2D アクセラレーションで、ドライバーが R300 以降のグラフィックカードで動作するはずです。
 
   
  +
* "fps" - 現在のフレームレートを表示
xf86-video-ati driver-1:7.2.0-1 から、glamor は radeonsi ドライバー (Southern Island と GFX カード以降) によって自動的に有効になります。他のグラフィックカードでは、AccelMethod glamor を xorg.conf ファイルの Device セクションに追加することで使うことができます:
 
  +
* "cpu" - CPU の平均使用率を表示
  +
* "cpu0" - 1番目の CPU コアの CPU 使用率を表示
  +
* "cpu0+cpu1" - 最初の2つの CPU コアの CPU 使用率を表示
  +
* "draw-calls" - 画面上のオブジェクトのマテリアルの描画回数を表示
  +
* "requested-VRAM" - GPU の VRAM の使用量を表示
  +
* "pixels-rendered" - 描画されたピクセル数を表示
   
  +
パラメータの完全なリストや GALLIUM_HUD の詳細は glxgears などのシンプルなアプリケーションで "help" パラメータを使うことで確認できます:
Option "AccelMethod" "glamor"
 
   
  +
# GALLIUM_HUD="help" glxgears
(上記のバグが修正されるまで glamor の代わりとして) EXA を有効にしたいときは、以下の設定をすることがバグレポートで[https://bugs.freedesktop.org/show_bug.cgi?id=68524#c14 提案]されています:
 
  +
{{bc|
 
  +
詳しくは [https://lists.freedesktop.org/archives/mesa-dev/2013-March/036586.html メーリングリストの投稿] や [https://kparal.wordpress.com/2014/03/03/fraps-like-fps-overlay-for-linux/ ブログの記事] を見て下さい。
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 ==
   
電力効率の良い GPU (Intel 内蔵カード) とパワフルで電力消費が激しい GPU (Radeon や Nvidia) の、2つの GPU を搭載している最新のノートパソコンで使われている技術です。機能させるには3つの方法があります:
+
電力効率の良い GPU (一般的に Intel 内蔵カード) とパワフルで電力消費が激しい GPU (一般的に Radeon や Nvidia) の、2つの GPU を搭載している最新のノートパソコンで使われている技術です。機能させるには2つの方法があります:
   
* 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 の負担が重いアプリケーションを使う必要がないときは、ディスクリートカードを無効にすることができます(詳しくは [https://help.ubuntu.com/community/HybridGraphics#Using_vga_switcheroo Ubuntu wiki] を参照): {{bc|# echo OFF > /sys/kernel/debug/vgaswitcheroo/switch}}
 
* [[PRIME]] を使用することができます。Linux でハイブリッドグラフィックを使うのに適当な方法と言えますが、ユーザーによる手動の操作が必要です。
 
* [[PRIME]] を使用することができます。Linux でハイブリッドグラフィックを使うのに適当な方法と言えますが、ユーザーによる手動の操作が必要です。
* radeon で [[bumblebee (日本語)|bumblebee]] も使えます。[[AUR (日本語)|AUR]] に {{AUR|bumblebee-amd-git}} パッケージが存在します。
 
   
== 電力節減 ==
+
== 電力機能 ==
   
  +
{{Note|電力管理は vbios に適切な電源状態テーブルがある全てのチップ (R1xx 以降) でサポートされています。"dpm" は R6xx 以降のチップでサポートされています。}}
radeon ドライバーでは、デフォルトではパワーセーブは無効になっており使うには手動で有効にする必要があります。
 
   
  +
radeon ドライバでは省電力機能はデフォルトで無効化されており、必要であれば手動で有効にする必要があります。
異なる3つの方法から選ぶことができます:
 
   
  +
3つの方法から選ぶことができます:
  +
  +
# [[#動的電源管理|dpm]] (カーネル 3.13 からデフォルトで有効)
 
# [[#動的周波数切り替え|dynpm]]
 
# [[#動的周波数切り替え|dynpm]]
 
# [[#プロファイルを使用する周波数切り替え|profile]]
 
# [[#プロファイルを使用する周波数切り替え|profile]]
# [[#動的電源管理|dpm]] (カーネル 3.13 からデフォルトで有効)
 
   
  +
詳しくは https://www.x.org/wiki/RadeonFeature/#index3h2 を見てください。
'''どれがあなたにとって一番最適な方法なのかは、あなた自身で試してみてください!'''
 
  +
  +
=== 動的電源管理 ===
  +
  +
カーネル 3.13 から、DPM (Dynamic power management) は [https://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 が有効になります。}}
  +
  +
[[#動的周波数切り替え|dynpm]] とは違い、"dpm" は GPU 上のハードウェアを使って動的に GPU の使用率にあわせて周波数と電圧を変化させます。また、クロック・パワーゲーティングも有効になります。
  +
  +
以下の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
   
  +
==== コマンドラインツール ====
電力管理は vbios に適切な power state table がある全てのチップ (R1xx 以降) でサポートされています。"dpm" は R6xx 以降のチップでサポートされています。
 
   
  +
* [https://github.com/superjamie/snippets/blob/master/radcard radcard]{{Dead link|2024|10|12|status=404}} - DPM の電源状態やレベルを取得・設定できるスクリプト。
詳しくは http://www.x.org/wiki/RadeonFeature/#index3h2 を見て下さい。
 
   
 
=== 古い方法 ===
 
=== 古い方法 ===
218行目: 214行目:
 
* {{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}} を使います。他のプロファイルではモニタの [[DPMS (日本語)|DPMS]] の状態がオフのときに選択されます。
+
* {{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}} になるようにします。
226行目: 222行目:
 
# echo low > /sys/class/drm/card0/device/power_profile
 
# echo low > /sys/class/drm/card0/device/power_profile
   
==== 永続的な設定 ====
+
=== 永続的な設定 ===
   
上述の設定は永続的なものではりません、コンピューターを再起動すると戻ってしまいます。設定を永続化させるために、[[systemd (日本語)#一時ファイル|systemd-tmpfiles]] を使うことができます ([[#動的周波数切り替え]] の例):
+
上述の設定は永続的なものではりません、コンピューターを再起動すると戻ってしまいます。設定を永続化させるために、[[udev]] ルールを使うことができます ([[#プロファイルを使用する周波数切り替え]]の例):
   
{{hc|/etc/tmpfiles.d/radeon-pm.conf|<nowiki>
+
{{hc|/etc/udev/rules.d/30-radeon-pm.rules|2=
w /sys/class/drm/card0/device/power_method - - - - dynpm
 
</nowiki>}}
 
 
もしくは [[udev (日本語)|udev]] ルールを使うこともできます ([[#プロファイルを使用する周波数切り替え]] の例):
 
 
{{hc|/etc/udev/rules.d/30-radeon-pm.rules|<nowiki>
 
 
KERNEL=="dri/card0", SUBSYSTEM=="drm", DRIVERS=="radeon", ATTR{device/power_method}="profile", ATTR{device/power_profile}="low"
 
KERNEL=="dri/card0", SUBSYSTEM=="drm", DRIVERS=="radeon", ATTR{device/power_method}="profile", ATTR{device/power_profile}="low"
  +
}}
</nowiki>}}
 
   
  +
他の例として、[[#動的電源管理|動的電源管理]] では特定のパフォーマンスレベルを永続的に強制することができます:
{{Note|上のルールが失敗する場合は、{{ic|dri/}} を削除してみてください。}}
 
   
  +
{{hc|/etc/udev/rules.d/30-radeon-pm.rules|2=
==== グラフィカルツール ====
 
  +
KERNEL=="dri/card0", SUBSYSTEM=="drm", DRIVERS=="radeon", ATTR{device/power_dpm_force_performance_level}="high"
  +
}}
   
  +
=== ノート ===
* {{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 が動作している速度を見るには、次のコマンドを実行することで以下のような出力が得られます:
=== 動的電源管理 ===
 
   
  +
{{hc|# cat /sys/kernel/debug/dri/0/radeon_pm_info|
カーネル 3.13 から、DPM (Dynamic power management) は [http://kernelnewbies.org/Linux_3.13#head-f95c198f6fdc7defe36f470dc8369cf0e16898df ほとんどの AMD Radeon ハードウェア] においてデフォルトで有効になっています。無効にするには、[[kernel parameters (日本語)|カーネルパラメータ]]に {{ic|1=radeon.dpm=0}} を追加してください。
 
  +
state: PM_STATE_ENABLED
  +
default engine clock: 300000 kHz
  +
current engine clock: 300720 kHz
  +
default memory clock: 200000 kHz
  +
}}
   
  +
ただし値は使用している GPU や radeon ドライバーのバージョン、カーネルのバージョンなどによって変わります。
[[#動的周波数切り替え|dynpm]] とは違い、"dpm" は GPU 上のハードウェアを使って動的に GPU の使用率にあわせて周波数と電圧を変化させます。また、クロック・パワーゲーティングも有効になります。
 
   
  +
温度センサーは外部の i2c チップか内部の温度センサー (rv6xx-evergreen のみ) によって実装されています。i2c チップを使用する asics の温度を取得するには、あなたのボードで使われているセンサーの適切な hwmon ドライバーをロードする必要があります (lm63, lm64 など)。それで drm が適当な hwmon ドライバーをロードします。内部の温度センサーを使用するボードの場合、drm は hwmon インターフェイスを自動的に設定します。適当なドライバーがロードされていれば、[[lm_sensors]] ツールや {{ic|/sys/class/hwmon}} の sysfs で温度を調べることができます。
以下の3つの動作モードが存在します:
 
   
  +
== ファンの速度 ==
* {{ic|battery}} 省電力
 
* {{ic|balanced}} デフォルト
 
* {{ic|performance}} ハイパフォーマンス
 
   
  +
上記の省電力機能によってファンの速度は上手く制御されるはずですが、一部のカードではアイドル状態でも五月蝿すぎる場合があります。そのような場合、カードがサポートしていれば、手動でファンの速度を変更できます。
sysfs を使ってモードを変更することが可能です:
 
# echo battery > /sys/class/drm/card0/device/power_dpm_state
 
   
  +
{{Warning|
テストしたりデバッグするために、カードを強制的にパフォーマンスモードで動作させることが可能です:
 
  +
* 以下の方法ではファンの速度が固定されるため、GPU の負担にあわせて調整できません。重い処理でオーバーヒートする可能性があります。
  +
* 標準の値よりも低い値を使うときは GPU の温度に注意してください。
  +
}}
   
  +
GPU ファンを制御するには、[[ファンスピード制御#AMDGPU の sysfs によるファン制御]] を見てください(amdgpu と radeon は同じ制御を行います)。
* {{ic|auto}}: デフォルト。全ての電源状態のレベルを使用します。
 
* {{ic|low}}: 一番低いパフォーマンスレベルを強制。
 
* {{ic|high}}: 一番高いパフォーマンスレベルを強制。
 
 
# echo low > /sys/class/drm/card0/device/power_dpm_force_performance_level
 
 
==== グラフィカルツール ====
 
 
* {{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}}
 
 
=== ノート ===
 
 
GPU が動作している速度を見るには、次のコマンドを実行することで以下のような出力が得られます:
 
   
  +
永続化させるには、[[#永続的な設定]] の例を見てください。
{{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>}}
 
   
  +
速度を固定したくない場合、温度にあわせてファンの速度を設定するスクリプトを書くなどして手動でファンの速度カーブを定義できます (現在の値は {{ic|/sys/class/drm/card0/device/hwmon/hwmon0/temp1_input}} で確認できます)。
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.
 
   
  +
GUI で設定したい場合は {{AUR|radeon-profile-git}} をインストールしてください。
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 出力 ==
316行目: 294行目:
 
出力を無効化するには:
 
出力を無効化するには:
 
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 出力を強制する ===
   
カーネルは次の形式で {{ic|1=video=}} パラメータを認識します (詳しくは [[Kernel Mode Setting (日本語)|KMS]] を参照):
+
カーネルは次の形式で {{ic|1=video=}} パラメータを認識します (詳しくは [[カーネルモード設定]]を参照):
   
 
video=<conn>:<xres>x<yres>[M][R][-<bpp>][@<refresh>][i][m][eDd]
 
video=<conn>:<xres>x<yres>[M][R][-<bpp>][@<refresh>][i][m][eDd]
341行目: 308行目:
   
 
"video=9-pin DIN-1:1024x768-24@60e"
 
"video=9-pin DIN-1:1024x768-24@60e"
 
現在の mkinitcpio の実装では前に {{ic|#}} を必要とします。例えば:
 
 
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 ではダブルクォートにバックスラッシュが必要です ({{ic|1=# \"video=9-pin DIN-1:1024x768-24@60e\"}} を追加してください)
 
* Grub2: TODO
 
   
 
次のコマンドでビデオ出力の一覧を取得できます:
 
次のコマンドでビデオ出力の一覧を取得できます:
356行目: 315行目:
 
== HDMI オーディオ ==
 
== HDMI オーディオ ==
   
HDMI オーディオは {{Pkg|xf86-video-ati}} ビデオドライバーでサポートされています。問題を起こすことがあるため、カーネルバージョン 3.0 以降では、デフォルトで HDMI オーディオは無効にされます。かし、あなの Radeon カードが [http://www.x.org/wiki/RadeonFeature Radeon Feature Matrix] に載って場合、HDMI オーディオはおそらく動作します。有効にするには、[[Kernel parameters (日本語)|カーネルパラメータ]]に {{ic|radeon.audio&#61;1}} を追加してください。
+
HDMI オーディオは {{Pkg|xf86-video-ati}} ビデオドライバーでサポートされています。問題を起こすことがあるため、無効にしたい場合、[[カーネルパラメータ]]に {{ic|radeon.audio&#61;0}} を追加してください。
   
 
起動後画面が表示されない場合は、ドライバーオプションを無効にしてください。
 
起動後画面が表示されない場合は、ドライバーオプションを無効にしてください。
   
 
{{Note|
 
{{Note|
* ドライバーをインストールした後 HDMI オーディオが動作しないときは、[[Advanced_Linux_Sound_Architecture (日本語)#HDMI から出力できない|ALSA#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/トラブルシューティング#バッファアンダーランのトラブルシューティング (音ズレ、音飛び、音割れ)]] を参照
  +
* HDA 準拠のハードウェアはとても一般的なので、あなたのサウンドカードも同じモジュールを使用しているかもしれません。(alsa 設定の {{ic|defaults}} ノードを使う方法も含む)提案した方法のうち1つを使って [[Advanced Linux Sound Architecture#デフォルトサウンドカードの設定|デフォルトサウンドカードを設定]]してください。
 
}}
 
}}
   
  +
== マルチモニターの設定 ==
== Dual Head setup ==
 
   
=== Independent X screens ===
+
=== RandR 拡張を使う ===
   
  +
[[Wikipedia:RandR|RandR]] を使ってマルチモニターをセットアップする方法は[[マルチディスプレイ#RandR]] を見てください。
Independent dual-headed setups can be configured the usual way. However you might want to know that the radeon driver has a {{ic|"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
 
   
  +
=== X スクリーンを独立させる ===
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 {{ic|"ZaphodHeads" "VGA-0"}}.
 
   
  +
独立したデュアルスクリーンの設定は通常通りで問題ありません。ただし radeon ドライバーには {{ic|"ZaphodHeads"}} オプションが存在し、デバイスセクションを特定の出力端子に結びつけることができます:
== ビデオアクセラレーションを有効にする ==
 
  +
{{hc|/etc/X11/xorg.conf.d/20-radeon.conf|
 
  +
Section "Device"
最新の {{Pkg|mesa}} パッケージにはフリードライバー用に MPEG1/2 デコードのサポートが追加されており、{{Pkg|libvdpau}} によって自動で検出されます。ビデオアクセラレーションが自動で使用されない場合は、{{Ic|LIBVA_DRIVER_NAME}} 環境変数を {{Ic|vdpau}} に、{{Ic|VDPAU_DRIVER}} 環境変数をドライバーコアの名前に設定することで、強制的にドライバーを使用させることができます。例えば、r600 以上のカードの場合:
 
  +
Identifier "Device0"
 
  +
Driver "radeon"
{{hc|1=~/.bashrc|2=
 
  +
Option "ZaphodHeads" "VGA-0"
export LIBVA_DRIVER_NAME=vdpau
 
  +
VendorName "ATI"
export VDPAU_DRIVER=r600
 
  +
BusID "PCI:1:0:0"
  +
Screen 0
  +
EndSection
 
}}
 
}}
   
  +
ビデオカードに複数の出力端子が3つ以上存在する場合などに役に立ちます。例えば HDMI, DVI, VGA 端子が存在する場合 {{ic|"ZaphodHeads" "VGA-0"}} と明示的に指定しないかぎり、マルチモニター設定では HDMI+DVI 出力だけを選択・使用します。
利用可能な VDPAU ドライバーは {{Ic|/usr/lib/vdpau/}} に入っています。
 
   
 
== vsync (垂直同期) をオフにする ==
 
== vsync (垂直同期) をオフにする ==
   
radeon ドライバーはデフォルトで垂直同期を有効にします。ベンチマーク以外ではそれで全く問題がありません。垂直同期をオフにするには、{{ic|~/.drirc}} を作成して (既に存在する場合は編集して) 以下のセクションを加えて下さい:
+
radeon ドライバーはデフォルトで垂直同期を有効にします。ベンチマーク以外ではそれで全く問題がありません。垂直同期をオフにするには、{{ic|1=vblank_mode=0}} [[環境変数]]を試してみるか、{{ic|~/.drirc}} を作成して (既に存在する場合は編集して) 以下のセクションを加えて下さい:
  +
{{hc|~/.drirc|<nowiki>
 
  +
{{hc|~/.drirc|2=
 
<driconf>
 
<driconf>
 
<device screen="0" driver="dri2">
 
<device screen="0" driver="dri2">
402行目: 358行目:
 
</application>
 
</application>
 
</device>
 
</device>
<!-- Other devices ... -->
+
...
 
</driconf>
 
</driconf>
  +
}}
</nowiki>}}
 
  +
driver は '''dri2''' です。ビデオカードのコード (r600 など) ではありません。
 
  +
{{Note|driver は '''dri2''' です。ビデオカードのコード (r600 など) ではありません。}}
  +
  +
vsync が無効にならない場合、{{ic|/etc/X11/xorg.conf.d/20-radeon.conf}} を編集して無効化してください。[[#ドライバーオプション]] を見てください。
   
 
== トラブルシューティング ==
 
== トラブルシューティング ==
   
=== ログイン時に乱れが生じる ===
+
=== EXA を使用している場合パフォーマンスが出ない、あるいは乱れが生じる ===
   
  +
{{Note|以下は R600 (Radeon X1000 シリーズ) よりも古いカードにのみ当てはまります。新しいカードの場合は EXA ではなく Glamor を使ってください。}}
乱れが生じる場合、まず {{ic|/etc/X11/xorg.conf}} を使わずに X を起動してみてください。Xorg の最新バージョンは、ほとんどのユースケースに対応した信頼できる自動検知・自動設定を行います。時代遅れの・誤った設定がされている {{ic|xorg.conf}} ファイルは問題を起こす原因となります。
 
   
  +
ターミナルやウェブブラウザのスクロールが遅いなど、2D のパフォーマンスに問題が起こる場合、デバイスオプションに {{ic|Option "MigrationHeuristic" "greedy"}} を追加することで解決することがあります。
設定ファイルを使わずに起動するために、{{ic|xorg-input-drivers}} パッケージグループをインストールするのを推奨します。
 
   
  +
さらに EXAPixmaps を無効果することで乱れがなくなることがあります。ただし、他の問題が引き起こされる可能性があるため一般的には推奨されていません。
{{ic|/etc/X11/xorg.conf.d/20-radeon.conf}} で {{ic|EXAPixmaps}} を無効にすることも試すとよいでしょう:
 
   
  +
{{hc|/etc/X11/xorg.conf.d/20-radeon.conf|
Section "Device"
 
  +
Section "OutputClass"
Identifier "Radeon"
 
Driver "radeon"
+
Identifier "Radeon"
Option "EXAPixmaps" "off"
+
MatchDriver "radeon"
  +
Option "AccelMethod" "exa"
EndSection
 
  +
Option "MigrationHeuristic" "greedy"
  +
#Option "EXAPixmaps" "off"
  +
EndSection
  +
}}
   
  +
=== 検知/サポートされない解像度を追加する ===
さらに {{ic|AccelDFS}} を無効にすることもできます:
 
   
  +
[[Xrandr#検出されない解像度を追加する]] を参照してください。
Option "AccelDFS" "off"
 
   
=== 検知されない解像度を追加する ===
+
=== TV 画面の回りに黒枠が表示される ===
   
  +
{{Note|以下の方法を試す前に TV が正しく設定されているか確認してください (マニュアルを参照)。}}
e.g. When EDID fails on a DisplayPort connection.
 
   
  +
HDMI ポートを使用して TV を接続すると、画面の周りに 2-3cm の枠が表示され画像がぼやけることがあります。これはオーバスキャンを防ぐものですが([[Wikipedia:Overscan]] を参照)、xrandr を使ってオフにすることができます:
この問題については [[Xrandr#Adding_undetected_resolutions|Xrandr]] のページに記述されています。
 
   
  +
xrandr --output HDMI-0 --set underscan off
=== (KMS を使っていて) AGP が無効になる ===
 
   
  +
=== 黒画面でコンソールが現れないが、KMS で X は動作する ===
パフォーマンスが上手く発揮されず dmesg で以下のように表示される場合:
 
[drm:radeon_agp_init] *ERROR* Unable to acquire AGP: -19
 
マザーボードの agp ドライバー (例: {{ic|via_agp}}, {{ic|intel_agp}} など) がis loaded before the {{ic|radeon}} モジュールよりも前にロードされているか確認してください。[[#Kernel mode-setting (KMS)|KMS]] を参照。
 
   
  +
一つの PC で複数の ATI カードを使用しているときに、コンソールが表示されないという問題が起こります。Fujitsu Siemens Amilo PA 3553 ノートパソコンなどがこの問題を抱えています。fbcon コンソールドライバーが間違ったフレームバッファデバイスにマッピングしているのが原因です。以下の[[カーネルパラメータ]]を使うことで解決します:
=== TV が画面の回りに黒枠を表示する ===
 
   
  +
fbcon=map:1
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
 
   
  +
これは {{ic|/dev/fb0}} ではなく {{ic|/dev/fb1}} フレームバッファへとマッピングするよう fbcon に指示します。上記の設定で問題が解決しない場合、以下の設定で起動してみてください:
=== X でサスペンドから復帰すると黒画面にマウスカーソルしか表示されない ===
 
   
  +
fbcon=map:0
メモリが 32MB 以下のカードでサスペンドから復帰すると X にマウスポインタしか表示されず黒画面になることがあります。マウスカーソルの下の部分だけ画面が再描画されることもあります。この問題は {{ic|/etc/X11/xorg.conf.d/20-radeon.conf}} で {{ic|EXAPixmaps}} を {{ic|"enabled"}} にすることで解決します。詳しくは[[#パフォーマンスチューニング|パフォーマンスチューニング]]を見て下さい。
 
   
  +
=== ATI X1600 (RV530 シリーズ) で 3D アプリケーションが黒いウィンドウを表示する ===
=== X1300 と Radeon ドライバーで KDE4 のデスクトップ効果が使えない ===
 
   
  +
3つの解決方法が考えられます:
KDE4 にはバグが存在しビデオハードウェアの正確なチェックができず、X1300 には十分な GPU パワーが存在するのにデスクトップ効果が無効になってしまうことがあります。対応策としては KDE4 設定ファイルの {{ic|/usr/share/kde-settings/kde-profile/default/share/config/kwinrc}} や {{ic|.kde/share/config/kwinrc}} でチェックを上書きすることができます。
 
   
  +
* {{ic|1=pci=nomsi}} をブートローダーの[[カーネルパラメータ]]に追加して見て下さい。
[Compositing] セクションに以下を追加してください:
 
  +
* 上のカーネルパラメータでうまくいかない場合、{{ic|1=pci=nomsi}} の代わりに {{ic|noapic}} を追加してみてください。
DisableChecks=true
 
  +
* どちらもうまくいかない、{{ic|1=vblank_mode=0 glxgears}} か {{ic|1=vblank_mode=1 glxgears}} を実行してどちらでうまく行くかを調べ、[[#vsync (垂直同期) をオフにする|そのオプションを永続的に設定してください]]。
   
  +
=== スリープから復帰した後にカーソルがおかしくなる ===
コンポジットを有効にするには:
 
Enabled=true
 
   
  +
モニターがスリープから復帰した後にカーソルが縦に重なるなどおかしな表示がされる場合、{{ic|/etc/X11/xorg.conf.d/20-radeon.conf}} 設定ファイルの {{ic|"OutputClass"}} セクションで {{ic|"SWCursor" "True"}} を設定してください。
=== 黒画面でコンソールが現れないが、KMS で X は動作する ===
 
   
  +
=== マルチモニタモードで DisplayPort が出力されない ===
一つの PC で複数の ATI カードを使用しているときに、コンソールが表示されないという問題が起こります。Fujitsu Siemens Amilo PA 3553 ノートパソコンなどがこの問題を抱えています。fbcon コンソールドライバーが間違ったフレームバッファデバイスにマッピングしているのが原因です。カーネルブートラインに以下を追加することで修正できます:
 
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.
 
   
  +
{{ic|1=radeon.audio=0}} [[カーネルパラメータ]]を使って起動してみてください。
=== テクスチャーが真っ黒になったりクラッシュする 3D アプリケーションがある ===
 
   
  +
=== R9-390 のパフォーマンスが出ない、あるいは不安定 ===
テクスチャー圧縮サポートが必要なのかもしれません、これはオープンソースドライバーには含まれていません。{{Pkg|libtxc_dxtn}} (multilib 環境では {{Pkg|lib32-libtxc_dxtn}}) をインストールしてください。
 
   
  +
R9-390 シリーズのカードのファームウェアには DPM 関連に問題があり、性能が発揮されなかったりクラッシュすることがあります (ゲームを遊んだり Google マップを使ったりすると発症します)。バグレポートの[https://gitlab.freedesktop.org/mesa/mesa/-/issues/1222#note_240698 コメント]に修正方法が書かれてあります。
=== 2D パフォーマンス (例えばスクロール) が遅い ===
 
   
  +
=== 古い Radeon カードの HDMI 接続による QHD/UHD/4K のサポート ===
ターミナルやブラウザでのスクロールなど、2D パフォーマンスに問題がある場合、{{ic|xorg.conf}} ファイルの {{ic|"Device"}} セクションに {{ic|Option "MigrationHeuristic" "greedy"}} を追加すると改善するかもしれません。この設定は EXA にしか適用されません。
 
   
  +
古いカードでは HDMI のピクセルクロックが 165MHz に制限されており、QHD や 4K を使うには HDMI ではなくデュアルリンク DVI を使う必要があります。
下はファイル {{ic|/etc/X11/xorg.conf.d/'''20-radeon.conf'''}} の設定サンプルです:
 
   
  +
[https://www.elstel.org/software/hunt-for-4K-UHD-2160p.html.en 低いリフレッシュレートのカスタムモード] (例: 30Hz) を使うことで HDMI が使える場合があります。
{{bc|
 
Section "Device"
 
Identifier "My Graphics Card"
 
Driver "radeon"
 
Option "MigrationHeuristic" "greedy"
 
EndSection
 
}}
 
   
  +
また、ピクセルクロックの制限を取り払うカーネルパッチも存在しますが、カードにダメージを与える可能性があります。
新しいグラフィックボード (HD 77** 以上) を使っている場合、[[#Glamor|ここ]]で触れている glamor のバグによってスクロールが遅くなることがあります。EXA を有効にすることで問題は解決します。
 
   
  +
4.8 用のパッチの [https://bugzilla.kernel.org/show_bug.cgi?id=172421 公式カーネルバグチケット] を参照してください。
=== モニターの回転がカーソルには動作するのにウィンドウやコンテンツには効かない ===
 
   
  +
パッチを適用すると新しいカーネルパラメータ {{ic|radeon.hdmimhz}} によってピクセルクロックの制限を変えることができるようになります。
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 {{ic|/var/log/Xorg.0.log}} when you issue the xrandr rotate command:
 
{{bc|
 
(EE) RADEON(0): Rotation requires acceleration!
 
}}
 
Acceleration is disabled when using EXA on newer graphics cards (source: [https://bugs.freedesktop.org/show_bug.cgi?id=73420#c17 comment 17]). You must choose between enabling EXA ([[#Glamor|detailed above in the glamor section]]) and the ability to rotate.
 
   
  +
また、ハイスピード HDMI ケーブルを使うようにしてください。
=== ATI X1600 (RV530 シリーズ) で 3D アプリケーションが黒いウィンドウを表示する ===
 
   
  +
=== 390X で 4K DP を使用すると水平方向のちらつきが発生することがある ===
3つの解決方法が考えられます:
 
  +
* {{ic|<nowiki>pci=nomsi</nowiki>}} をブートローダーの[[Kernel parameters (日本語)|カーネルパラメータ]]に追加して見て下さい。
 
  +
390X (もしくは似たようなモデル) を使用していて DP から 4K 出力を行っている場合、水平方向のアーティファクト/ちらつきが発生することがあります。約30分おきに水平方向のピクセルの帯(高さは約100ピクセルで幅は画面の幅と同じ)が数秒間上下に揺れるような感じです。これは radeon ドライバのバグかもしれません。[[AMDGPU]] を代わりに使うと直るようです。
* 上のが機能しない場合、{{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}} にオプションを設定してください。
 
  +
== 参照 ==
  +
  +
[https://www.phoronix.com/scan.php?page=article&item=radeonsi-cat-wow&num=1 ベンチマーク]では、多くのカードでオープンソースドライバがプロプライエタリドライバと同等のパフォーマンスであるということが示されています。
  +
  +
{{TranslationStatus|ATI|2024-11-29|820673}}

2024年11月29日 (金) 18:41時点における最新版

関連記事

この記事では、AMD (以前は ATI) の古い GPU をサポートする radeon オープンソースドライバをカバーしています。

目次

正しいドライバーの選択

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

よくわからない場合、まず AMDGPU ドライバを試してください。AMDGPU ドライバは2015年以降にリリースされたカードのほとんどと適合します。このドライバによってサポートされている機能を調べるにはこの機能表を見てください。マーケティング名 (例: Radeon HD4330) とチップ名との対応はこのデコード表を見てください。

インストール

mesa パッケージをインストールしてください。これには、3D アクセラレーションのための DRI ドライバーと、動画エンコードのアクセラレーションのための VA-API/VDPAU ドライバの両方が含まれています。非常に古い GPU (R200 及びそれ以前) の場合は mesa-amber をインストールしてください。

  • 32ビットのアプリケーションに対応するには、multilib リポジトリ にある lib32-mesa (lib32-mesa-amber) パッケージもインストールしてください。
  • DDX ドライバー (Xorg で 2D アクセラレーションを提供します) については、xf86-video-ati パッケージをインストールしてください。

ロード

radeon カーネルモジュールはシステムの起動時に自動的に正しく読み込まれるはずです。

うまく行かない場合:

Xorg の設定

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

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

Section "OutputClass"
    Identifier "Radeon"
    MatchDriver "radeon"
    Driver "radeon"
EndSection

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

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

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

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

グラフィカルツール

  • radeon-profile — Radeon カードの情報を表示する Qt アプリケーション。
https://github.com/marazmista/radeon-profile || radeon-profile-gitAUR
  • CoreCtrl — 人気な汎用 GPU/CPU コントローラー。高度な使用法については Setup ページを見てください。
https://gitlab.com/corectrl/corectrl || corectrl

ドライバーオプション

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

ドライバーオプションを有効にする前に radeon(4)RadeonFeature を読んで下さい。

アクセラレーションアーキテクチャ: Glamor は、OpenGL で実装された 2D アクセラレーションメソッドです。R600 (Radeon HD2000 シリーズ) およびそれ以降のグラフィックカードでは、これがデフォルトで使用されます。それより古いカードでは、EXA が使用されます。

Option "AccelMethod" "glamor"

xf86-video-ati 7.8.0 以降DRI3 はデフォルトで有効になっています。

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

Option "TearFree" "on"

ColorTilingColorTiling2D は安全に有効にすることができ、おそらくデフォルトで有効になっています。タイルモードは 3D アプリケーションのパフォーマンスを劇的に向上する可能性があります。DRM モジュールが古すぎる場合や、現在のディスプレイ構成がこのモードをサポートしていない場合、このモードは無効化されます。KMS ColorTiling2D は、R600 (Radeon HD2000 シリーズ) およびそれ以降のチップでのみサポートされています:

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

アクセラレーションアーキテクチャとして Glamor を使う場合、ShadowPrimary オプションを有効にすることができます。このオプションは、CPU がピクセルデータに高速にアクセスできるようにする "shadow primary" バッファと呼ばれるものと、各ディスプレイコントローラ (CRTC) 用の個別のスキャンアウトバッファを有効化します。これにより、一部の 2D のワークロードが高速化する場合がありますが、他のワークロード (3D やビデオなど) が犠牲になる可能性があります。このオプションを有効にすると "EnablePageFlip" オプションが無効化されることに注意してください:

Option "ShadowPrimary" "on"

EXAVSync オプションは EXA を使用している場合にのみ利用可能です。このオプションは、ディスプレイコントローラが出力先の領域を引き渡すまでエンジンを止めることでティアリングを減らそうとします。パフォーマンスを犠牲にティアリングを減らしますが、チップによっては不安定になることが知られています:

Option "EXAVSync" "yes"

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

Section "OutputClass"
  Identifier "Radeon"
  MatchDriver "radeon"
  Driver "radeon"
  Option "AccelMethod" "glamor"
  Option "DRI" "3"
  Option "TearFree" "on"
  Option "ColorTiling" "on"
  Option "ColorTiling2D" "on"
EndSection

カーネルパラメータ

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

gartsize が自動検知されない場合、radeon.gartsize=32カーネルパラメータに追加して手動で定義することができます。

ノート: 最近の AMD ビデオカードではこのパラメータはもはや必要ないはずです:
[drm] Detected VRAM RAM=2048M, BAR=256M
[drm] radeon: 2048M of VRAM memory ready
[drm] radeon: 2048M of GTT memory ready.

変更は次の起動時に有効になります。

PCIe 2.0 の無効化

カーネル 3.6 から、radeon の PCI Express 2.0 はデフォルトで有効になっています。

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

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

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

radeon ドライバーはゲームなどのアプリケーションの上に透明な文字やテキストを描画できるヘッドアップディスプレイ(HUD)の有効化をサポートしています。現在のフレームレートや 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 を搭載している最新のノートパソコンで使われている技術です。機能させるには2つの方法があります:

  • GPU の負担が重いアプリケーションを使う必要がないときは、ディスクリートカードを無効にすることができます(詳しくは Ubuntu wiki を参照):
    # echo OFF > /sys/kernel/debug/vgaswitcheroo/switch
  • PRIME を使用することができます。Linux でハイブリッドグラフィックを使うのに適当な方法と言えますが、ユーザーによる手動の操作が必要です。

省電力機能

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

radeon ドライバでは省電力機能はデフォルトで無効化されており、必要であれば手動で有効にする必要があります。

3つの方法から選ぶことができます:

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

詳しくは https://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[リンク切れ 2024-10-12] - DPM の電源状態やレベルを取得・設定できるスクリプト。

古い方法

動的周波数切り替え

この方法では 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

永続的な設定

上述の設定は永続的なものではりません、コンピューターを再起動すると戻ってしまいます。設定を永続化させるために、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"

他の例として、動的電源管理 では特定のパフォーマンスレベルを永続的に強制することができます:

/etc/udev/rules.d/30-radeon-pm.rules
KERNEL=="dri/card0", SUBSYSTEM=="drm", DRIVERS=="radeon", ATTR{device/power_dpm_force_performance_level}="high"

ノート

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 ファンを制御するには、ファンスピード制御#AMDGPU の sysfs によるファン制御 を見てください(amdgpu と radeon は同じ制御を行います)。

永続化させるには、#永続的な設定 の例を見てください。

速度を固定したくない場合、温度にあわせてファンの速度を設定するスクリプトを書くなどして手動でファンの速度カーブを定義できます (現在の値は /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= パラメータを認識します (詳しくは カーネルモード設定を参照):

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"

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

$ 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 ドライバーはデフォルトで垂直同期を有効にします。ベンチマーク以外ではそれで全く問題がありません。垂直同期をオフにするには、vblank_mode=0 環境変数を試してみるか、~/.drirc を作成して (既に存在する場合は編集して) 以下のセクションを加えて下さい:

~/.drirc
<driconf>
    <device screen="0" driver="dri2">
        <application name="Default">
            <option name="vblank_mode" value="0" />
        </application>
    </device>
    ...
</driconf>
ノート: driver は dri2 です。ビデオカードのコード (r600 など) ではありません。

vsync が無効にならない場合、/etc/X11/xorg.conf.d/20-radeon.conf を編集して無効化してください。#ドライバーオプション を見てください。

トラブルシューティング

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

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

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

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

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

検知/サポートされない解像度を追加する

Xrandr#検出されない解像度を追加する を参照してください。

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

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

HDMI ポートを使用して TV を接続すると、画面の周りに 2-3cm の枠が表示され画像がぼやけることがあります。これはオーバスキャンを防ぐものですが(Wikipedia:Overscan を参照)、xrandr を使ってオフにすることができます:

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

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

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

fbcon=map:1

これは /dev/fb0 ではなく /dev/fb1 フレームバッファへとマッピングするよう fbcon に指示します。上記の設定で問題が解決しない場合、以下の設定で起動してみてください:

fbcon=map:0

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

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

  • pci=nomsi をブートローダーのカーネルパラメータに追加して見て下さい。
  • 上のカーネルパラメータでうまくいかない場合、pci=nomsi の代わりに noapic を追加してみてください。
  • どちらもうまくいかない、vblank_mode=0 glxgearsvblank_mode=1 glxgears を実行してどちらでうまく行くかを調べ、そのオプションを永続的に設定してください

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

モニターがスリープから復帰した後にカーソルが縦に重なるなどおかしな表示がされる場合、/etc/X11/xorg.conf.d/20-radeon.conf 設定ファイルの "OutputClass" セクションで "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 ケーブルを使うようにしてください。

390X で 4K DP を使用すると水平方向のちらつきが発生することがある

390X (もしくは似たようなモデル) を使用していて DP から 4K 出力を行っている場合、水平方向のアーティファクト/ちらつきが発生することがあります。約30分おきに水平方向のピクセルの帯(高さは約100ピクセルで幅は画面の幅と同じ)が数秒間上下に揺れるような感じです。これは radeon ドライバのバグかもしれません。AMDGPU を代わりに使うと直るようです。

参照

ベンチマークでは、多くのカードでオープンソースドライバがプロプライエタリドライバと同等のパフォーマンスであるということが示されています。

翻訳ステータス: このページは en:ATI の翻訳バージョンです。最後の翻訳日は 2024-11-29 です。もし英語版に 変更 があれば、翻訳の同期を手伝うことができます。