Как включить функцию динамического управления питанием Radeon?

Совсем недавно были выпущены RC ядра Linux 3.11. Как вы, возможно, знаете, это новое ядро ​​поставляется с динамическим управлением питанием для пользователей драйвера Radeon с открытым исходным кодом. Поскольку у меня есть проблемы с управлением питанием в стандартном ядре Ubuntu 13.04, я хотел попробовать это.

Кто-нибудь знает, как включить эту новую функцию после того, как я скачал и установил последнее ядро ​​RC из PPA тестирования ядра?

РЕДАКТИРОВАТЬ: Более конкретно я говорю об этом: http: / /www.phoronix.com/scan.php?page=news_item&px=MTM5NjE

16
задан 18.05.2020, 19:59

5 ответов

Обновление (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 будет включен по умолчанию, так что, надеюсь, это руководство к тому времени устареет! ;)

Хорошо, в последние несколько дней я немного поэкспериментировал и включил его! На самом деле это действительно легко, когда вы узнали, как это сделать. Для людей, которые также хотят попробовать это, я объясню каждый шаг. Начиная с установки нового ядра.

1117 Прежде всего несколько моментов для рассмотрения. Поддержка Radeon DPM доступна только для видеокарт серии Radeon HD 2000 (R600) и новее. Если вы используете действительно старую видеокарту ATI Radeon, поддержка управления питанием уже включена в драйвер с открытым исходным кодом.

Шаги только для Ubuntu 13.04 или ниже:

Чтобы использовать Radeon DPM, вам нужно ядро ​​Linux 3.11 или новее. Вы можете использовать PPA ядра Ubuntu mainline и загрузить последний стабильный образ ядра 3.11 Linux из этого каталога kernel.ubuntu.com . Все будущие обновления ядра тоже подойдут, и их также можно найти в этом каталоге.

Для использования функции динамического управления питанием требуется обновленное встроенное программное обеспечение для графической карты. Последний микрокод / ​​прошивку Radeon можно загрузить из этого каталога . Вам нужны файлы * _ smc.bin за июнь. Если вы не уверены, какое именно кодовое имя у вашей видеокарты, вы можете найти его по выводу lspci -v | less ... Файл (ы) нужно поместить в / lib / firmware / radeon . Если вы попытаетесь использовать Radeon DPM без прошивки, ускорение будет отключено для графического процессора. Вы также должны убедиться, что у вас есть обновленная прошивка в / 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

Где «параметр» может быть:

  • батарея (набор уровней производительности, предназначенных для оптимальной работы от батареи)
  • сбалансированный (набор уровней производительности, нацеленных на оптимальное ежедневное использование)
  • производительность (набор уровней производительности, нацеленных на наивысшую производительность графического процессора)

Источники: http://www.botchco.com/agd5f/?p=57

14
ответ дан 18.05.2020, 20:00
  • 1
    Добрался для высказывания.. ресурс аккумулятора на моем ноутбуке теперь так же хорош как с собственными драйверами. Также производительность должна быть немного лучше как побочный эффект способности повторно синхронизировать к более высоким скоростям на более тяжелых загрузках. I' m впечатленный результатами! – Niklas Berglund 18.05.2020, 20:00
  • 2
    Если Вы добираетесь command not found: glxinfo. Тогда это isn' t установленный. Для установки сделайте sudo apt-get install mesa-utils. – Benzi 18.05.2020, 20:01
  • 3
    " Если Вы выполняете этот выпуск вместе с поддерживаемой видеокартой, Вы don' t должен сделать что-либо для использования этой функции " †“Кроме настройки по умолчанию является ' balanced' таким образом, можно хотеть переключиться на ' battery' если Вы хотите минимизировать потребляемую мощность. – carantes 18.05.2020, 20:01
  • 4
    В 15,04 (Radeon HD 4850) /sys/class/drm/card0/device/power_method говорит profile и не примет dynamic, если также не включено на командной строке ядра. – Community 18.05.2020, 20:01
  • 5
    Каково название способного пакета, который должен быть установлен? – Qiulang 18.05.2020, 20:01

Если tlp отвечает вашим намерениям:

sudo add-apt-repository ppa: linrunner / tlp

sudo apt-get update

sudo apt- get install tlp tlp-rdw

Для ThinkPad это:

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
ответ дан 18.05.2020, 20:01
  • 1
    Спасибо за ответ! Но это не точно, что я имею в виду. На самом деле существует управление питанием, поскольку можно читать в этой статье о Phoronix: phoronix.com/scan.php?page=news_item&px=MTM5NjE – Sebastian Flückiger 18.05.2020, 20:01

В дополнение к ответу Глэдена я подумал, что сделаю дополнительный коммит на проверку 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

существуют и содержат одну и ту же информацию.

1
ответ дан 18.05.2020, 20:01
  • 1
    это теперь /sys/kernel/debug/dri/0/amdgpu_pm_info – Jiten Parmar 18.05.2020, 20:02

Хорошо, я собираюсь расстаться с предположением, что у вас уже есть ядро ​​3.11-GIT и есть карта ATI r6xx-SI или новее. После этого вам просто нужно добавить 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"
[1117 ] Цитата из источников:

Драйвер AMD Radeon наконец-то имеет поддержку динамического управления питанием! Для графических процессоров Radeon тактовая частота ядра и тактовая частота памяти будут динамически настраиваться (вместе с напряжениями) в зависимости от нагрузки, это работает для конфигураций с несколькими мониторами, и оно практически соответствует паритету функций, предоставляемых PowerPlay и функциям драйвера AMD Catalyst. Это большой выигрыш для экономии энергии / батареи при использовании драйвера Radeon Linux с открытым исходным кодом, а также повышение производительности для новых графических процессоров с тактовой частотой загрузки ниже, чем их номинальные частоты. Эта поддержка восходит к графическим процессорам Radeon HD 2000 (R600), но в настоящее время не включена по умолчанию, но требует установки radeon.dpm = 1.

Источники:

6
ответ дан 18.05.2020, 20:02

В ответ на ответ @Gladen я обнаружил, что

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

не работает. Быстрый ls -l /sys/class/drm/ показал мне, что card0 относится к интегрированной карте & amp; карта1 к дискретной карте. Поэтому на карточке 1 у меня работает следующее:

$ 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
# 
0
ответ дан 18.05.2020, 20:02

Теги

Похожие вопросы