Nvidia управление питанием GPU с 18,04

На предыдущем ноутбуке performance/powersave режим под 16,04 работал чрезвычайно хорошо. У меня была ASUS RoG 17,3 дюймов с двумя жесткими дисками и 860 м GTX, работающих в 9-11w при выполнении офисных приложений. Это означало о 5.5-7hr ресурсе аккумулятора на игровом ноутбуке! (Я, конечно, использовал TLP). Это пережило бы MacBook и планшеты моих одноклассников. На режиме производительности потребление работало бы 25-40w.

В настоящее время я нашел, что некоторые странные вещи происходят под Xserver с тех пор 18.04 и новый ноутбук. Например, как обозначено Powertop, когда Xserver установлен на powersave режим, использование о 29-31w в неактивном - очень высоко для моих 15,4 дюймов. Когда установлено на режим производительности, использование обычно 19-22w, который является несколько крайним, но ниже!

У меня есть догадка, gpu не отключен под powersave режимом, и это работает на неоправданных уровнях напряжения, поскольку мои вентиляторы подняты, но ЦП все еще работает на уровне низких 800-805 МГц как показано grep, и управляемый TLP.

Хотя моя текущая установка является GTX1070, вышеупомянутые проблемы не имеют смысла мне, так как powersave вызывает значительную потребляемую мощность. Я также отказываюсь делать попытку Шмеля, поскольку многие указали, что это является в настоящее время теневым с 18,04. Существует ли простой, но надежный способ вынудить Intel HD и отключить GPU? Я использую это для работы и игр, таким образом, я не хочу рисковать повреждать установку переключением драйвера часто.

5
задан 11 June 2018 в 21:18

2 ответа

У меня была та же проблема с GTX 1050 на 18,04. Я раньше имел Ubuntu 17.10, и я имел 7-й из батареи при выборе intel GPU. Когда я обновил до 18,04, у меня было 2,5 ч батареи, неважно, если я выбрал Nvidia или Intel, обоих в панели управления Nvidia или через главный выбор.

Я в конечном счете нашел эту команду на некотором форуме: sudo sh -c 'echo auto > /sys/bus/pci/devices/0000\:01\:00.0/power/control' При вводе этой команды, когда Intel выбран, мой ресурс аккумулятора волшебно проходит от 2,5 ч до 6,5 ч.

Надеюсь, это поможет!

Примечание: Я использую драйвер nvidia-390.

3
ответ дан 23 November 2019 в 10:26

Недавно я обнаружил, что у меня была такая же проблема на моем ноутбуке с NVIDIA 1050 Ti с любыми драйверами nvidia: 435.21, 440.59. По наблюдениям PowerTop, устройство шины NVIDIA PCI потребляло энергию при выборе Intel либо с помощью настроек NVIDIA X Server, либо с помощью команды «prime-select intel». А ноутбук был довольно горячим, даже если был открыт только веб-браузер со статическим контентом.

Приведенный выше ответ Сильвена помогает выключить чип NVIDIA, но, к сожалению, это не сохраняется после перезагрузки системы - это нужно делать вручную каждый раз, когда ноутбук запускается заново. Я искал решение, которое не требовало бы использования ручной команды после каждого запуска системы, и хотел бы представить его тем, кто хочет этого.

Исследование

Проблема известна как ошибка № 1765363 и не исправлена ​​в пакете драйверов на момент написания этого ответа.

Настоящие решения, упомянутые там (их можно найти в обсуждении под указанной выше ссылкой на ошибку), были основаны на дополнительных инструментах, таких как Bumblebee (bbswitch), TLP, или даже на некоторых служебных сценариях. Я рассматривал возможность использовать их только в крайнем случае. Вопрос был: если решение просто о состоянии режима управления питанием по умолчанию, как тогда я могу изменить его, чтобы он имел правильное значение?

Поиск этого привел меня к странице управления питанием драйвера NVIDIA где глава Системные настройки содержит вышеупомянутую команду для включения управления питанием во время выполнения для PCI: echo auto> /sys/bus/pci/devices/0000\:01\:00.0/power/control (выполняется от имени пользователя root).Это работает, как упомянуто выше, только для текущего цикла питания. Затем я проверил и попробовал раздел Автоматическая установка на этой странице (создать правило udev для включения управления питанием), но он не работал в графическом режиме Intel. После расследования причина оказалась довольно очевидной: правила устанавливаются, чтобы включить управление питанием, как только драйвер NVIDIA загружен и привязан к устройству. В случае с графикой Intel драйвер NVIDIA вообще не загружен (и поэтому не привязан), поэтому правило не срабатывает. Но ключевым моментом был сам подход: речь идет о добавлении правильного правила.

Решение

Оно работало путем создания отдельного файла правил udev (на основе Автоматической установки из руководства по управлению питанием драйвера NVIDIA). Создайте файл с именем 80-nvidia-poweroff.rules в каталоге /lib/udev/rules.d/ со следующим содержимым:

# Enable runtime PM for NVIDIA VGA/3D controller devices by default (if the driver is not / will not be bound)
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", DRIVER=="", TEST=="power/control", ATTR{power/control}="auto"
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", DRIVER=="", TEST=="power/control", ATTR{power/control}="auto"

Сохраните и перезагрузите систему. Вот и все! Никаких дополнительных инструментов / скриптов не требуется. PowerTop сообщает о том, что чип NVIDIA неактивен, а на вкладке «Параметры» сразу после запуска системы указано состояние «Runtime PM» для NVIDIA как «Хорошо». В моем случае потребляемая мощность, показанная для режима Intel, составляла ~ 11-12 Вт, тогда как без включения PM во время выполнения для NVIDIA она составляла ~ 22-23 Вт. И теперь ноутбук почти не нагревается, в отличие от того, что был довольно горячим раньше - еще одно доказательство того, что PM во время выполнения действительно отключает чип.

Я также разместил это решение на соответствующей странице ошибка № 1765363 как комментарий № 70 .

2
ответ дан 3 May 2020 в 11:14

Другие вопросы по тегам:

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