web-dev-qa-db-ja.com

一部のアプリの描画が遅く、動的クロックがATI / AMD独自のドライバーで正しく機能しない

最近(2010年7月頃)新しいコンピューターを購入しましたが、Linuxのプロプライエタリビデオドライバーで問題が発生しています。

ハードウェアは:

  • ビデオ:ATI/AMD Radeon HD 5870(XFX HD-587X-ZNFC);
  • マザーボード:Asus P7P55D-E Deluxe;
  • プロセッサー:Intel i5 750;
  • メモリ:Kingston Hyperx KHX1600C8D3K2/4GX(2x-8GB合計);
  • 電源:XFX P1-750B-CAG9;

noのオーバークロックがあり、メモリもありません(プロセッサのメモリコントローラの制限により、1333MHzになっています)。

運用システムは、次のソフトウェアを備えた自作のLinuxディストリビューションです:

  • アーキテクチャ:x86_64(multilib)
  • カーネル:2.6.35.10
  • Xorg:7.5
  • ウィンドウマネージャー:wmii-3.9.2
  • ビデオドライバー:ATI/AMD Catalyst 10.12

Compizfusionやberylのようなnoデスクトップエフェクトプログラムがあります。


問題:

ATI/AMD独自のドライバを使用すると、一部のアプリケーションの描画/再描画が遅くなり、同じアプリケーションによってドライバがカードのクロックを最大に増やします(0%のGPUアクティビティ、クロックのみが増加します)。スロードローを正確に説明する方法はわかりませんが、いくつかのアプリケーションと症状をリストします。


xterm

  • 連続出力を描画すると、ちらつきが多くなります。
  • フルスクリーンのxtermがあるワークスペースにいるとき、GPUの負荷はアイドル状態で12%のままであり、xtermが小さいほど、GPUの負荷も小さくなります。

"aticonfig --odgc"出力:

Default Adapter - ATI Radeon HD 5800 Series
                        Core (MHz)    Memory (MHz)
       Current Clocks :    157           300
         Current Peak :    850           1200
Configurable Peak Range : [600-900]     [900-1300]
             GPU load :    12%

"aticonfig --pplib-cmd'get activity '" output:

Current Activity is Core Clock: 157MHZ
Memory Clock: 300MHZ
VDDC: 950
Activity: 12 percent
Performance Level: 0
Bus Speed: 5000
Bus Lanes: 16
Maximum Bus Lanes: 16

その他の例:

  • mplayerの時間情報が端末でちらつきます。
  • 「find /」がちらつきます(control-cで停止するには時間がかかります。ただし、ワークスペースを変更したり、ウィンドウを配置したりすると、control-cの直後に停止します)。
  • 「catsomefile」ファイルが大きい場合(たとえばXorg.0.log)、表示に時間がかかります。

vim以下(例:find/| less)はそれほど問題はなく、スクロール時に少しちらつきます。


mplayer(GUIなし)

  • 再現を遅くし、-vox11でシークします。
  • -voxvで引き裂く;
  • ターミナルで時間情報がちらつく(xtermの結果);

gvim

  • ページアップ/ページダウンでスクロールすると、描画が少し遅くなります。

Firefox

  • Www.boadica.com.brのような一部のページで、場合によってはフラッシュを有効にしてwww.youtube.comで描画/再描画を遅くします(多くのページで気付かれることはありません)。
  • 情報を提供する黄色のボックスが表示されているときの破損とページのスクロール(情報を提供するボックスと同じ場所に灰色のボックスが表示されます)。

"壁紙"

  • フルスクリーンウィンドウを最小化するか、空のワークスペースに変更した後、壁紙を再描画するのにsome時間がかかります。

"ビデオカード"

  • コアクロックとメモリクロックは、上記のイベントや、ワークスペースの変更(壁紙がない場合でも)、ウィンドウの最小化、最大化、移動などの他の状況で増加します。

アイドルクロック:コア:157mhz、メモリ:300mhz
フルクロック:コア:850mhz、メモリ:1200mhz


xpdf

  • 痛みを伴う遅いスクロール;

ディスプレイ(ImageMagickから)

  • メニューが遅く、場合によっては画像の再描画が遅くなります。

私が使用していて、明らかに問題がないプログラム:

  • gimp;
  • ピジン;
  • mplayer(-vo gl、gl2);
  • ブレンダー;
  • unigine heaven(Windowsよりも優れたfps);
  • Doom3;
  • 脛骨;
  • 半影序曲;
  • アムネシアダークディセント(ワイン);
  • ディアブロ2(ワイン);

Windows(Windows 7 Ultimate 64ビット)では問題ありません。

そしてこれへの特別な注意:
DebianとUbuntuのgnomeの外観cpanelによる完全なデスクトップ効果は問題を引き起こしません。ワークスペースを変更したり、ウィンドウを最小化、最大化、または移動したりしても、コアクロックとメモリクロックは増加しません。


私がテストしたもの:

失敗したテスト:

  • 10.6以降のすべてのドライバーバージョンをテストしました(このPCに最初のSlackwareをインストールしたときにリリースされました)。
  • テスト済みの他のビデオカード-ATI/AMD Radeon HD 5570(XFX HD-557X-ZHF2);
  • Xorg.confでいくつかのオプションをテストし、グーグルを見つけました(これらのオプションのいくつかは、私のxorg.confにコメントされています。投稿の最後にリンクを送信します)。
  • Arch Linux Catalystページから107_Fedora_dont_fill_bg_none.patchやxserver-xorg-backclear.patchのようないくつかのパッチをテストしました( https://wiki.archlinux.org/index.php/ATI_Catalyst );

他のディストリビューションとソフトウェアバージョンをテストしました:

  • 私自身のディストリビューションでXORG-7.6をテストしました。
  • テスト済みのDebianSqueeze(テスト中-2010年12月20日)。
  • テスト済みのUbuntuMarverick(10.10);
  • テスト済みのSlackware13.1;

ディストリビューション情報:
アーキテクチャ:i386
すべてのデフォルトソフトウェア(カーネル、gnome、xorg、ドライバー)を備えたDebianとUbuntu。
AMDページのCatalystを備えたSlackwareと、fvwm、xfce、およびwmiiの独自のビルドなどのデフォルトのウィンドウマネージャー。

成功した​​テスト:

  • 他のビデオカードをテストしました(私の自作ディストリビューションでのみ)-NVIDIA Geforce 7300GS、ドライバー260.19.29;

それは遅いドローの問題を示していませんでしたが、そのカードは少し時代遅れなので、ダイナミッククロックのような機能が欠けているかどうかはわかりません。 nvidia g/gt/gts/gtx 200〜400〜500やRadeon HD 3000/4000/6000などの他のビデオカードを廃棄して、さらにテストを行うことはありません。

他のハードウェアをテストしました:

  • ビデオ:ATI/AMD Radeon HD 5570(XFX HD-557X-ZHF2);
  • マザーボード:Intel DG31PR;
  • プロセッサー:Core 2 Duo E6750;

そのハードウェア用のソフトウェア:

同じプログラムバージョンの同じディストリビューション(鉱山を除く)の新規インストール。

そのビデオカード(HD 5570)は、すべての運用システム(Windows XPおよびWindows7も))で最大クロック(500/750のようなもの、覚えていない)でフルタイムでしたが、私がここで抱えているのと同じ問題は示されませんでした。


Linux用のATI/AMDプロプライエタリドライバーに関する一般的な問題について多くのことをグーグルで調べましたが、Firefoxの破損を除いて、解決策がATIDirect2DAccelを無効にしてXAAを使用するという同様の問題は見つかりませんでした。 XAAを使用すると、問題は解決せず、Pidginやその他のFirefoxなどの他のアプリケーションでも、描画/再描画が遅いという同じ問題が発生しました。

オープンソースドライバー:
オープンソースドライバー(xf86-video-ATI-6.13.2)では、同じ遅い描画の問題はありませんでしたが、他の問題があり、今のところ、実行可能な解決策にはなりません。これは別の問題であり、すべてを混乱させるため、ここでは説明しません。それが唯一の解決策である場合は、別のスレッドを作成して議論します。

ログと構成:

4
Rakeka

投稿された.configには、サイプレス(Radeon HD 58xxシリーズ)ファームウェアへのポインターがありません。 3つのCYPRESS_ *ファイルすべてを/lib/firmware/radeon/にダウンロードします。

http://people.freedesktop.org/~agd5f/radeon_ucode/

次に、.configで:

CONFIG_PREVENT_FIRMWARE_BUILD is not set  
CONFIG_FIRMWARE_IN_KERNEL=y  
CONFIG_EXTRA_FIRMWARE="radeon/CYPRESS_me.bin radeon/CYPRESS_pfp.bin radeon/CYPRESS_rlc.bin"  
CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware"  

補足として-最近インストールされたHD6670でも同様の動作が見られますが、それほど目立たない動作が見られます。300MHzでアイドル状態になるため、5800と比較してパフォーマンスの過度の低下を防ぐことができます。 GPU周波数の上昇中に定期的な問題が発生しているように感じます。 xcompositeとすべての余分なスキニング/アニメーション/ドロップシャドウなどを無効にすることで、KDE4.6の症状を最小限に抑えました。

1
krc