Radeon動的電源管理機能を有効にする方法


16

そのため最近、Linux Kernel 3.11のRCがリリースされました。ご存知かもしれませんが、この新しいカーネルには、オープンソースRadeonドライバーのユーザー向けの動的な電源管理機能が備わっています。Ubuntu 13.04のデフォルトカーネルには電源管理の問題があるため、これを試してみたかったです。

Kernel Testing PPAから最新のカーネルRCをダウンロードしてインストールした後、この新しい機能を有効にする方法を誰か知っていますか?

EDIT:具体的には、私はこのことについて話しています:http://www.phoronix.com/scan.php?page=news_item&px=MTM5NjE


3.11はまだリリースされていませんが、Ubuntuにはすでに公式のミラーがありますか?それは新しいです。おそらく、カーネルがPPAをテストしているのでしょうか?
mikewhatever

はい、それは私が意味するものです!そこから最新のRC(執筆時のrc2)をダウンロードしました。
グレイデン

1
@mikewhatever:より明確にするために質問を編集しました。私の意見では、この質問はまったく話題ではなく、現在のUbuntuバージョン(13.04)に新しいカーネルをインストールすることについて話しているところです。誰かがこの質問が閉じられている理由を明確にしていただけますか?
グラデン

1
あなたは正しい、これは再び開く必要があります。急いで(間違った)投票することをおologiesびします。
トムブロスマン

@Gladen-tlpのことですか?これには通常、ノートブックの非難に対する電力管理が含まれ、電力の使用も処理します。
dschinn1001

回答:


14

更新(8-05-2014): 予想どおり、Ubuntu 14.04では、DPMはすべての最新のAMD GPU(HD 4000からHD 7000シリーズ)に対してデフォルトで有効になっています。サポートされているグラフィックスカードと一緒にこのリリースを実行している場合、この機能を使用するために何もする必要はありません。

更新(28-11-2013): Ubuntu 13.10にはデフォルトで3.11カーネルが付属しています。したがって、このリリースを使用している場合は、Linuxカーネルにパラメーターを追加するだけです。それに応じてガイドを更新しました。また、Ubuntu 14.04ではDPMがデフォルトで有効になるようですので、このガイドがそれまでに廃止されることを願っています!;)

わかりました、ここ数日で私は少し実験し、それを有効にしました!実際にそれを行う方法を見つけたら、それは本当に簡単です。.それを試してみたい人のために、私はすべてのステップを説明します。新しいカーネルのインストールから始めます。

最初に考慮すべきいくつかの点。Radeon DPMのサポートは、Radeon HD 2000(R600)シリーズのグラフィックスカードのみに対応しています。本当に古いATI Radeonグラフィックスカードを使用している場合、電源管理サポートはオープンソースドライバーで既に利用されています。

Ubuntu 13.04以前の手順のみ:

Radeon DPMを使用するには、Linux 3.11以降のカーネルが必要です。UbuntuメインラインカーネルPPAを使用し、このkernel.ubuntu.comディレクトリから最新の安定した3.11 Linuxカーネルイメージをダウンロードできます。今後のカーネル更新も問題なく、このディレクトリで見つけることができます。

動的な電源管理機能を使用するには、グラフィックカードのファームウェアを更新する必要があります。最新のRadeonマイクロコード/ファームウェアは、このディレクトリからダウンロードできます。6月の* _smc.binファイルが必要です。特定のグラフィックスカードのコード名がわからない場合は、一般にlspci -v | less ...ファイルを/ lib / firmware / radeon内に配置する必要があります。ファームウェアなしでRadeon DPMを使用しようとすると、GPUのアクセラレーションが無効になります。また、3.11を超えるカーネルをインストールする前に/ lib / firmware / radeon 更新されたファームウェアがあることを確認する必要があります。これは、インストールされたイメージに自動的に取り込まれます。

Ubuntu 13.10以前、またはRadeon HD 3000以下のユーザー:

Radeon DPMのサポートは、Linuxカーネル3.13の下では、または古いGPUではデフォルトで有効になっていません。このような場合に有効にするには、radeon.dpm = 1パラメーターをLinuxカーネルに追加する必要があります。Ubuntuの上でそうする手順については、Ubuntuのウィキをさまざまな方法について。

新しいカーネルがインストールされ、ファームウェアが更新され、カーネルパラメーターが有効になったので、準備完了です。ここでシステムを再起動する必要があります。その後、すべてが機能しているかどうかを確認できます。

cat / sys / kernel / debug / dri / 64 / radeon_pm_info

注: @ luca992は、ファイルradeon_pm_infoが別のディレクトリ(たとえば、dri / 64 /ではなく/ sys / kernel / debug / dri / 1 /)にある可能性があることを指摘しました。すべての手順を正しく実行したことが確実な場合は、状況に当てはまるかどうかを確認できます。

次のように表示されます。

uvd    vclk: 0 dclk: 0
power level 0    sclk: 22000 mclk: 25000 vddc: 900

/etc/rc.localを開いて次の行を追加することで、DPMをさらに構成できます。

echo parameter > /sys/class/drm/card0/device/power_dpm_state

ここで、「パラメーター」は次のとおりです。

  • バッテリーバッテリーの最適な動作を目的としたパフォーマンスレベルのセット)
  • バランスの取れた(毎日の最適な使用を目的としたパフォーマンスレベルのセット)
  • パフォーマンス(最高のGPUパフォーマンスを対象としたパフォーマンスレベルのセット)

出典: http : //www.botchco.com/agd5f/? p =57


1
私のラップトップのバッテリー寿命は、プロプライエタリなドライバーと同じくらい良いです。また、負荷が重い場合に高速に再クロックできるという副作用として、パフォーマンスが少し向上するはずです。結果に感動しました!
グラデン

取得する場合command not found: glxinfo。その後、インストールされません。インストールするには、を実行しますsudo apt-get install mesa-utils
メッシー

インストールする必要があるaptパッケージの名前は何ですか?
エンテア14

「サポートされているグラフィックスカードと一緒にこのリリースを実行している場合、この機能を使用するために何もする必要はありません。」–デフォルト設定が「バランス」である場合を除いて、電力消費を最小限に抑えたい場合は「バッテリー」に切り替えることができます。
otus

15.04(Radeon HD 4850)/sys/class/drm/card0/device/power_methodでは、カーネルコマンドラインでも有効にしない限り、profile受け入れませんdynamic
サムブライトマン

6

さて、カーネル3.11-GITがあり、r6xx-SI以降のATIカードを持っているという前提から離れます。それ以降radeom.dpm=1 は、カーネルモジュールパラメーターとして追加するだけで、DPMをアクティブにする必要があります。

GRUBパラメーター、/etc/default/grubファイル書き込みのいずれかになります。

GRUB_CMDLINE_LINUX_DEFAULT="quiet radeon.dpm=1"
sudo update-grub

または、.confディレクトリの下のファイルで/etc/modprobe

sudo su -
touch /etc/modprobe.d/radeon-dpm.conf
echo options radeon dpm=1 > /etc/modprobe.d/radeon-dpm.conf 
cat /etc/modprobe.d/radeon-dpm.conf 
# will output "options radeon dpm=1"

ソースからの引用:

AMD Radeonドライバーは、ついに動的な電源管理をサポートします!Radeon GPUの場合、コアクロックとメモリクロックは、負荷に基づいて(電圧とともに)動的に調整されます。これはマルチモニター構成で機能し、PowerPlayおよびAMD Catalystドライバーの機能が提供する機能とほぼ同等の機能です。これは、オープンソースのRadeon Linuxドライバーを使用するときの電力/バッテリーの節約と、定格クロック周波数よりも低いブートクロック速度を持つ新しいGPUのパフォーマンスの向上にとって大きな勝利です。このサポートはRadeon HD 2000(R600)GPUに戻りますが、現在デフォルトでは有効になっていませんが、radeon.dpm = 1の設定が必要です

ソース:


忘れないでください: 'GRUB_CMDLINE_LINUX_DEFAULT = "quiet radeon.dpm = 1"'を実行した後の 'sudo update-grub'
フランク

男、マンジャロでATI HD 4890グラフィックスカードを修正するのにこれがどれほど役立つかわからない。ありがとうございました。
TheFrack

1

tlpが意図を満たしている場合:

sudo add-apt-repository ppa:linrunner / tlp

sudo apt-get update

sudo apt-get install tlp tlp-rdw

thinkpadsの場合:

sudo apt-get install tp-smapi-dkms acpi-call-tools

間違っていない場合-tlpはカーネルバージョンに直接依存していません-ハードウェアにより依存しています。カーネル3.11とカーネル3.10の間に大きな違いはありません。

Kernel 3.11の新しい変更については、phoronixの記事に記載されています。

http://www.phoronix.com/scan.php?page=news_item&px=MTQwODk

しかし、3.11では、一般的な電源管理に関する変更はありません。

Radeonの動的な電源管理の変更は、グラフィックカードの電源のサポートのみに影響すると思います。

インストール後、tlpは次で開始します。

sudo tlp start


1
回答ありがとうございます!しかし、それはまさに私が言っていることではありません。Phoronixのこの記事で読むことができるように、実際には電源管理があります:phoronix.com/scan.php?page
news_item&

1

Gladenの答えに加えて、私はdpmが他の人のフラストレーションを軽減するために機能していることを確認する際に追加のコミットを行うと思いました。

私の場合

cat /sys/kernel/debug/dri/64/radeon_pm_info

存在しないので、私はdpmが機能していないと思った。

しかし、どうやらそのファイルは私にとっては異なるフォルダーにあるだけです。

cat /sys/kernel/debug/dri/65/radeon_pm_info

または

cat /sys/kernel/debug/dri/1/radeon_pm_info

両方が存在し、同じ情報をリストします。


今です/sys/kernel/debug/dri/0/amdgpu_pm_info
brauliobo

0

@Gladenからの回答をフォローアップすると、

echo parameter > /sys/class/drm/card0/device/power_dpm_state

うまくいきませんでした。簡単にls -l /sys/class/drm/、card0は統合カードを指し、card1はディスクリートカードを指していることがわかりました。したがって、card1では次のように機能します。

$ sudo -i

# cat /sys/class/drm/card1/device/power_dpm_state
balanced
# cat /sys/class/drm/card1/device/power_dpm_force_performance_level  
auto
# cat /sys/kernel/debug/dri/1/radeon_pm_info
uvd    vclk: 0 dclk: 0
power level 0    sclk: 15700 mclk: 20000 vddc: 900 vddci: 0
#
# echo "battery" > /sys/class/drm/card1/device/power_dpm_state
# cat /sys/kernel/debug/dri/1/radeon_pm_info
uvd    vclk: 0 dclk: 0
power level 0    sclk: 15700 mclk: 20000 vddc: 900 vddci: 0
#
# echo "low" > /sys/class/drm/card1/device/power_dpm_force_performance_level  
# cat /sys/kernel/debug/dri/1/radeon_pm_info
uvd    vclk: 0 dclk: 0
power level 0    sclk: 15700 mclk: 20000 vddc: 900 vddci: 0
# echo "performance" > /sys/class/drm/card1/device/power_dpm_state
# cat /sys/kernel/debug/dri/1/radeon_pm_info
uvd    vclk: 0 dclk: 0
power level 0    sclk: 15700 mclk: 20000 vddc: 900 vddci: 0
# echo "high" > /sys/class/drm/card1/device/power_dpm_force_performance_level  
-bash: echo: write error: Invalid argument
# # Not sure why the above happened!?
#
# cat /sys/kernel/debug/dri/1/radeon_pm_info
uvd    vclk: 0 dclk: 0
power level 2    sclk: 75000 mclk: 80000 vddc: 1120 vddci: 0
# echo "high" > /sys/class/drm/card1/device/power_dpm_force_performance_level  
#
# echo "battery" > /sys/class/drm/card1/device/power_dpm_state
# cat /sys/kernel/debug/dri/1/radeon_pm_info
uvd    vclk: 0 dclk: 0
power level 0    sclk: 15700 mclk: 20000 vddc: 900 vddci: 0
# 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.