Так недавно были выпущены RC's Linux Kernel 3.11. Как вы знаете, это новое ядро поставляется с динамическим управлением питанием для пользователей драйвера Radeon с открытым исходным кодом. Поскольку у меня есть проблемы с управлением питанием с ядром Ubuntu 13.04 по умолчанию, я хотел попробовать это.
Doe кто-то знает, как включить эту новую функцию после того, как я загрузил и установил последнюю версию RC из теста ядра PPA?
EDIT: В частности, я говорю об этом: http://www.phoronix.com/scan.php?page=news_item&px=MTM5NjE
Хорошо, я собираюсь расстаться с предположением, что у вас уже есть ядро 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 основные часы и часы памяти будут динамически регулироваться (вместе с напряжением) на основе нагрузки, это работает для конфигурации с несколькими мониторами, и это почти соответствует характеристикам PowerPlay и функциям драйвера AMD Catalyst. Это большой выигрыш в экономии энергии / аккумулятора при использовании драйвера Radeon Linux с открытым исходным кодом, а также улучшенная производительность для более новых графических процессоров с тактовой частотой загрузки, которая ниже их номинальных частот. Эта поддержка возвращается к графическим процессорам Radeon HD 2000 (R600), но по умолчанию она не включена по умолчанию, но требует установки radeon.dpm = 1.Источники:
http://lists.freedesktop.org/archives/dri-devel/2013-June/040436.html http://www.phoronix.com/scan .php? page = article & amp; item = amd_radeon_dpm & amp; num = 1 http://www.phoronix.com/scan.php?page=news_item&px=MTQwNjA http://www.phoronix.com/scan.php?page = article & amp; item = amd_dpm_preview & amp; num = 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
оба существуют и перечислите ту же информацию.
В случае, если tlp соответствует вашим намерениям:
sudo add-apt-repository ppa: linrunner / tlp sudo apt-get update sudo apt-get install tlp tlp-rdwДля Думаю, это:
sudo add-apt-repository ppa: linrunner / tlp
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 & amp; px = MTQwODk
Но в 3.11 никаких изменений в управлении питанием вообще нет.
Я думаю, что динамические изменения управления питанием для Radeon влияют только поддержка с питанием видеокарты.
sudo tlp startВ ответ на ответ от @Gladen я обнаружил, что
echo parameter > /sys/class/drm/card0/device/power_dpm_state
не работает. Быстрый ls -l /sys/class/drm/ показал мне, что card0 относится к интегрированной карточке & amp; card1 на дискретную карту. Итак, для меня на карте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
#