ATI
関連記事
AMD (以前の ATI) のビデオカードを使っている人は AMD のプロプライエタリなドライバー (catalystAUR) かオープンソースドライバー (xf86-video-ati あるいは xf86-video-amdgpu) のどちらかを選ぶことができます。この記事ではオープンソースドライバーの ATI/Radeon ドライバーについて記述します。
今のところ、新しいカードでの 3D パフォーマンスや TV 出力サポートなどの点で、オープンソースドライバーはプロプライエタリのドライバーにやや劣っています。しかしながら、オープンソースドライバーにはより良いマルチモニターのサポートや、素晴らしい 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 マルチモニターの設定
- 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 カーネルドライバーを利用してください。
- 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 ヘッドアップディスプレイ
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 も使えます。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
を追加してください。
起動後画面が表示されない場合は、ドライバーオプションを無効にしてください。
マルチモニターの設定
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 出力だけを選択・使用します。
ビデオアクセラレーションを有効にする
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
モニターの回転がカーソルには動作するのにウィンドウやコンテンツには効かない
新しいグラフィックカードで glamor の代わりに EXA を有効化している場合、モニターを xrandr で回転させるとカーソルやモニターの向きは回転するのに、ウィンドウなどの向きが変わらないことがあります。さらに、その場合マウスを動かすとカーソルは通常の向きに従って移動します。xrandr の rotate コマンドを実行した後に /var/log/Xorg.0.log
に以下の行がないか確認してください:
(EE) RADEON(0): Rotation requires acceleration!
新しいグラフィックカードでは EXA を使用するとアクセラレーションが無効化されます (ソース: comment 17)。EXA を有効化するかわりに回転機能は諦めるかどちらか選択する必要があります (#ドライバーオプションを参照)。
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
をカーネルパラメータに追加)。