Як увімкнути функцію управління динамічним живленням Radeon?


16

Так нещодавно було випущено RC-системи Linux Kernel 3.11. Як ви можете знати, це нове ядро ​​оснащене динамічним керуванням живленням для користувачів драйвера з відкритим кодом Radeon. Оскільки у мене є проблеми з управлінням живленням з ядром за замовчуванням Ubuntu 13.04, я хотів спробувати це.

Хтось знає, як увімкнути цю нову функцію після того, як я завантажив і встановив останнє RC-ядро з PPA тестування ядра?

EDIT: Більш конкретно, я говорю про це: http://www.phoronix.com/scan.php?page=news_item&px=MTM5NjE


3.11 ще не випущено, а Ubuntu вже має офіційне дзеркало? Це нове. Ви, мабуть, маєте на увазі тестування ядра PPA ?
mikew незалежно від

Так, це я маю на увазі! Я завантажив звідти останні RC (rc2 на момент написання).
Гладен

1
@mikew god: відредагував це питання, щоб зробити його більш зрозумілим. На мою думку, це питання зовсім не поза темою, я кажу про встановлення нового ядра у СУЧАСНІЙ версії Ubuntu (13.04). Чи може хтось, будь ласка, уточнити, чому це питання закрите?
Гладен

1
Ви маєте рацію, це слід знову відкрити. Вибачення за поспішний (неправильний) голос, який потрібно закрити.
Том Броссман

@Gladen - ти маєш на увазі tlp? Зазвичай це стосується управління живленням для звинувачення в ноутбуках, і воно також використовує енергію.
dschinn1001

Відповіді:


14

Оновлення (8-05-2014): Як і очікувалося, в Ubuntu 14.04 DPM включений за замовчуванням для всіх сучасних процесорів AMD (серії 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 і завантажити останнє стабільне зображення ядра 3.11 Linux з цього каталогу kernel.ubuntu.com . Будь-які майбутні оновлення ядра теж добре, і їх також можна знайти в цьому каталозі.

Використання функції динамічного керування живленням потребує оновленої мікропрограми для відеокарти. З цього каталогу можна завантажити найновіший мікрокод / ​​прошивку Radeon . Вам потрібні файли * _smc.bin з червня. Якщо ви не впевнені у своєму конкретному коді графічної картки, його зазвичай можна знайти, дивлячись на вихід lspci -v | менше ... Файли (файли) потрібно розмістити в / lib / firmware / radeon . Якщо ви спробуєте використовувати Radeon DPM без прошивки, прискорення в кінцевому рахунку буде відключено для GPU. Вам також потрібно переконатися, що у вас є оновлена ​​прошивка в / lib / firmware / radeon, перш ніж встановлювати ядро> 3.11 - воно буде автоматично втягуватися в встановлене зображення.

Ubuntu 13.10 або новішої версії, або користувачі Radeon HD 3000 або нижче:

Підтримка Radeon DPM не включена за замовчуванням нижче ядра Linux 3.13 або для старих графічних процесорів. Ви повинні додати параметр radeon.dpm = 1 до ядра Linux, щоб увімкнути його в цих випадках. Про кроки, які можна зробити для Ubuntu, див. У Ubuntu Wiki про різні способи.

Коли встановлено нове ядро, оновлено вбудоване програмне забезпечення та увімкнено параметр Kernel, ви повинні бути готовими. Тепер ви повинні перезавантажити систему, і ви можете перевірити, чи все працює після цього, зробивши це

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

Примітка: @ luca992 зазначав, що файл radeon_pm_info може знаходитися в іншому каталозі (наприклад, в / sys / kernel / debug / dri / 1 / замість dri / 64 /). Якщо ви абсолютно впевнені, що правильно виконували всі кроки, ви можете перевірити, чи може це бути у вашій ситуації.

Ви повинні побачити щось подібне:

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

Ви можете додатково налаштувати DPM, відкривши /etc/rc.local та додавши наступний рядок:

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.
meshy

Як називається підходящий пакет, який потрібно встановити?
Ентея

"Якщо ви працюєте з цим випуском разом із підтримуваною графічною карткою, вам не потрібно нічого робити, щоб використовувати цю функцію." - За винятком того, що налаштування за замовчуванням є "врівноваженим", тому ви можете перейти на "акумулятор", якщо ви хочете мінімізувати споживання електроенергії.
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файлі write

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 основні тактові годинники та такти пам'яті будуть динамічно регулюватися (разом із напругами) на основі навантаження, це працює для конфігурацій на декількох моніторах, і це майже співвідношення характеристик, що надається PowerPlay та можливостями драйвера AMD Catalyst. Це великий виграш для економії енергії / акумулятора при використанні драйверів Radeon Linux з відкритим кодом, а також пропонують кращі показники для нових графічних процесорів, які мають тактову частоту завантаження, нижчу за номінальну частоту. Ця підтримка повертається до графічних процесорів Radeon HD 2000 (R600), але наразі за замовчуванням не включена, але вимагає встановлення radeon.dpm = 1.

Джерела:


не забувайте: 'sudo update-grub' після виконання 'GRUB_CMDLINE_LINUX_DEFAULT = "тихо radeon.dpm = 1"'
Франк

чувак, ти не знаєш, наскільки це було корисно для мене, щоб виправити відеокарти 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 дикої різниці немає.

У статті phoronix перераховано про нові зміни в ядрі 3.11:

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&px=MTM5NjE
Gladen

1

На додаток до відповіді Гладена, я подумав, що я би взяв на себе додаткову зобов’язання щодо перевірки роботи 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
# 
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.