Radeon dinamik güç yönetimi özelliği nasıl etkinleştirilir?


16

Son zamanlarda, Linux Kernel 3.11 RC'leri piyasaya sürüldü. Bildiğiniz gibi, bu yeni çekirdek, açık kaynak Radeon sürücüsünün kullanıcıları için dinamik güç yönetimi ile birlikte geliyor. Ubuntu 13.04'ün varsayılan çekirdeğiyle ilgili güç yönetimi sorunlarım olduğundan, bunu denemek istedim.

Çekirdek Test PPA'sından en son çekirdek RC'yi indirip yükledikten sonra birisi bu yeni özelliği nasıl etkinleştireceğini biliyor mu?

EDIT: Daha spesifik olarak, bunun hakkında konuşuyorum: http://www.phoronix.com/scan.php?page=news_item&px=MTM5NjE


3.11 henüz yayınlanmadı ve Ubuntu'nun zaten resmi bir aynası var mı? Bu yeni. Belki de çekirdek test PPA'sını mı kastediyorsunuz ?
mikewhatever

Evet, demek istediğim bu! Oradan en son RC'yi (yazma sırasında rc2) indirdim.
Gladen

1
@mikewhatever: soruyu daha açık hale getirmek için düzenledi. Bence bu soru konu dışı değil, CURRENT Ubuntu sürümünde (13.04) yeni bir çekirdek kurmaktan bahsediyorum. Birisi bu sorunun neden kapalı olduğunu açıklayabilir mi?
Gladen

1
Haklısın, bu yeniden açılmalı. Aceleci (yanlış) oyların kapanması için özür dileriz.
Tom Brossman

@Gladen - tlp mi demek istediniz? Bu normalde dizüstü bilgisayar suçlamaları için güç yönetimini içerir ve güç kullanımını da ele alır.
dschinn1001

Yanıtlar:


14

Güncelleme (8-05-2014): Beklendiği gibi, Ubuntu 14.04 DPM'de tüm modern AMD GPU'lar (HD 4000 - HD 7000 serisi) için varsayılan olarak etkindir. Bu sürümü desteklenen bir grafik kartıyla birlikte çalıştırıyorsanız, bu özelliği kullanmak için herhangi bir şey yapmanız gerekmez.

Güncelleme (28-11-2013): Ubuntu 13.10 varsayılan olarak 3.11 çekirdeği ile birlikte gelir. Dolayısıyla, bu sürümü kullanıyorsanız, tek yapmanız gereken parametreyi Linux Çekirdeğine eklemektir. Kılavuzu buna göre güncelledim. Ayrıca, Ubuntu 14.04'e benziyor, DPM varsayılan olarak etkinleştirilecek, bu yüzden umarım bu kılavuz o zamana kadar eski olacak! ;)

Tamam, son birkaç gün içinde biraz denedim ve etkinleştirdim! Nasıl yapılacağını öğrendikten sonra gerçekten çok kolay .. Bunu da denemek isteyen insanlar için her adımı açıklayacağım. Yeni çekirdeğin kurulumundan başlayarak.

Her şeyden önce dikkate alınması gereken birkaç nokta. Radeon DPM desteği yalnızca Radeon HD 2000 (R600) serisi grafik kartları ve daha yenisi içindir. Gerçekten eski bir ATI Radeon grafik kartı kullanıyorsanız, güç yönetimi desteği zaten açık kaynaklı sürücüde kullanılmaya başlanmıştır.

Yalnızca Ubuntu 13.04 veya daha önceki adımlar için adımlar:

Radeon DPM'yi kullanmak için Linux 3.11 çekirdeğine veya daha yenisine ihtiyacınız var. Ubuntu ana hattı çekirdek PPA'sını kullanabilir ve bu kernel.ubuntu.com dizininden en son kararlı 3.11 Linux çekirdek görüntüsünü indirebilirsiniz . İlerideki çekirdek güncellemeleri de iyidir ve bu dizinde de bulunabilir.

Dinamik güç yönetimi özelliğini kullanmak için grafik kartı için güncellenmiş ürün yazılımı gerekir. Son Radeon mikrokodu / firmware indirilebilir bu dizinde . Haziran ayından itibaren * _smc.bin dosyalarına ihtiyacınız var . Özel grafik kartı kod adınızdan emin değilseniz, genellikle lspci -v | daha az ... Dosyaların / lib / firmware / radeon içine yerleştirilmesi gerekir . Ürün yazılımı olmadan Radeon DPM kullanmaya çalışırsanız, GPU için hızlandırma devre dışı bırakılır. Ayrıca ,> 3.11 çekirdeğini kurmadan önce / lib / firmware / radeon'da güncellenmiş ürün yazılımına sahip olduğunuzdan emin olmanız gerekir - bu, yüklü görüntüye otomatik olarak çekilecektir.

Ubuntu 13.10 veya daha düşük veya Radeon HD 3000 veya daha düşük kullanıcılar:

Radeon DPM desteği Linux çekirdeği 3.13'ün altında veya daha eski GPU'lar için varsayılan olarak etkin değildir. Bu durumlarda etkinleştirmek için radeon.dpm = 1 parametresini Linux çekirdeğine eklemelisiniz . Ubuntu'da bunu yapmaya yönelik adımlar için , farklı yollar hakkında Ubuntu Wiki'ye bakın .

Yeni çekirdek yüklendiğinde, bellenim güncellendi ve Kernel parametresi etkinleştirildiğinde iyi gitmelisiniz. Şimdi sisteminizi yeniden başlatmalısınız ve bundan sonra her şeyin çalışıp çalışmadığını kontrol edebilirsiniz.

cat / sys / çekirdek / hata ayıklama / dri / 64 / radeon_pm_info

Not: @ luca992, radeon_pm_info dosyasının farklı bir dizinde olabileceğine dikkat çekti (örneğin, dri / 64 / yerine / sys / kernel / debug / dri / 1 / içinde). Tüm adımları doğru bir şekilde uyguladığınızdan kesinlikle eminseniz, durumunuzda bunun olup olmadığını kontrol edebilirsiniz.

Bunun gibi bir şey görmelisin:

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

/Etc/rc.local dosyasını açıp aşağıdaki satırı ekleyerek DPM'yi daha da yapılandırabilirsiniz :

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

"Parametre" nerede olabilir:

  • pil ( pilde optimum çalışma için hedeflenen bir dizi performans düzeyi)
  • dengeli (her gün en uygun kullanımı hedefleyen bir dizi performans düzeyi)
  • performans (en yüksek GPU performansı için hedeflenen bir dizi performans düzeyi)

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


1
Söylemeliyim .. dizüstü bilgisayarımın pil ömrü artık özel sürücülerle olduğu kadar iyi. Ayrıca, ağır yüklerde daha yüksek hızlara yeniden kilitlenmenin bir yan etkisi olarak performans biraz daha iyi olmalıdır. Sonuçlardan çok etkilendim!
Gladen

Eğer alırsan command not found: glxinfo. Sonra yüklü değil. Yüklemek için yapın sudo apt-get install mesa-utils.
ağlayan

Kurulması gereken apt paketinin adı nedir?
Entea

"Bu sürümü desteklenen bir grafik kartıyla birlikte çalıştırıyorsanız, bu özelliği kullanmak için hiçbir şey yapmanıza gerek yoktur." - Varsayılan ayar 'dengelenmiş' dışında, güç tüketimini en aza indirmek istiyorsanız 'pil'e geçmek isteyebilirsiniz.
otus

15.04 yılında (Radeon HD 4850) /sys/class/drm/card0/device/power_methoddiyor profileve kabul etmeyecektir dynamicda çekirdek komut satırında etkin sürece.
Sam Brightman

6

Tamam, zaten 3.11-GIT çekirdeğine sahip olduğunuz ve bir r6xx-SI veya daha yeni ATI kartınız olduğu varsayımından ayrılacağım. Oradan, sadece radeom.dpm=1 bir çekirdek modülü parametresi olarak eklemeniz gerekir ve DPM etkinleştirilmelidir.

GRUB parametresinde, /etc/default/grubdosya yazmada olabilir

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

Veya dizininizin .confaltındaki bir dosyada /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"

Kaynaklardan alıntı:

AMD Radeon sürücüsünün sonunda dinamik güç yönetimi desteği var! Radeon GPU'lar için çekirdek saat ve bellek saatleri, yüke bağlı olarak dinamik olarak ayarlanacaktır (voltajlarla birlikte), bu çoklu monitör yapılandırmaları için çalışır ve PowerPlay ve AMD Catalyst sürücüsündeki özelliklerin neredeyse yanındadır. Bu, açık kaynak Radeon Linux sürücüsünü kullanırken güç / pilden tasarruf etmek için büyük bir kazanç ve anma frekanslarından daha düşük bir önyükleme saat hızına sahip yeni GPU'lar için daha iyi performans sunuyor. Bu destek Radeon HD 2000 (R600) GPU'lara geri döner, ancak şu anda varsayılan olarak etkin değildir, ancak radeon.dpm = 1 ayarını gerektirir .

Kaynaklar:


unutmayın: 'GRUB_CMDLINE_LINUX_DEFAULT = "quiet radeon.dpm = 1"' yaptıktan sonra 'sudo update-grub'
Frank

ahbap, bunun Manjaro'da bir ATI HD 4890 ekran kartını tamir etmem için ne kadar yararlı olduğunu bilmiyorsun. TEŞEKKÜR EDERİM.
TheFrack

1

Tlp'nin niyetlerinizi karşılaması durumunda:

sudo add-apt-repository ppa: linrunner / tlp

sudo uygun-güncelleme

sudo apt-get install tlp tlp-rdw

Thinkpad'ler için:

sudo apt-get install tp-smapi-dkms acpi-çağrı-araçları

Yanlış olmadığımda - tlp, çekirdek sürümüne bağımlı değildir - daha çok donanıma bağlıdır. Çekirdek 3.11 ve Çekirdek 3.10 arasında çılgınca bir fark yoktur.

Phoronix'in makalesinde Çekirdek 3.11'deki yeni değişiklikler hakkında listelenmiştir:

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

Ancak 3.11'de genel olarak güç yönetimi ile ilgili bir değişiklik yok.

Radeon için dinamik güç yönetimi değişikliklerinin yalnızca grafik kartının güç kaynağı desteğini etkilediğini düşünüyorum.

Kurulumdan sonra tlp:

sudo tlp başlangıç


1
Yanıtınız için teşekkürler! Ama demek istediğim tam olarak bu değil. Phoronix ile ilgili bu makalede okuyabileceğiniz gibi aslında güç yönetimi var: phoronix.com/scan.php?page=news_item&px=MTM5NjE
Gladen

1

Gladen'in cevabına ek olarak, dpm'yi doğrulamanın başkalarına biraz hayal kırıklığı yaratmaya çalıştığını doğrulamak için ek bir taahhütte bulunacağımı düşündüm.

Benim durumumda

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

mevcut değil bu yüzden dpm çalışma değildi düşündüm.

Ancak görünüşe göre bu dosya benim için sadece farklı klasörlerde.

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

veya

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

hem var hem de aynı bilgileri listeler.


şimdi/sys/kernel/debug/dri/0/amdgpu_pm_info
brauliobo

0

@Gladen'in cevabını takiben şunu buldum:

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

işe yaramadı. Kısa bir süre ls -l /sys/class/drm/bana card0'ın entegre karta ve card1'in ayrı karta atıfta bulunduğunu gösterdi. Bu yüzden aşağıdaki kart1 benim için çalışıyor:

$ 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
# 
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.