08 мая 2015

Как настроить/контролировать скорость вентилятора видеокарты Nvidia в Ubuntu/Linux Mint

Владельцы компьютеров с видеокартой Nvidia вероятно знают, что после установки проприетарного драйвера автоматически устанавливается графическая программа по настройке драйвера - NVIDIA X Server Settings. Но в ней нет возможности настройки/регулировки вентилятором видеокарты и параметры вращения вентилятора для охлаждения выставлены по умолчанию.
Если вы хотите самостоятельно руководить процессом охлаждения видеокарты, необходимо установить дополнительный компонент Coolbits.

Предупреждение. Выполняйте нижеследующие действия на свой страх и риск.

1. Прежде всего у вас уже должен быть активирован и установлен проприетанный драйвер. Пример:



2. Откройте терминал, скопируйте и выполните следующие команды:

sudo nvidia-xconfig

sudo nvidia-xconfig --cool-bits=4

3. Перезагрузите компьютер.

4. После нового входа в систему откройте из системного меню NVIDIA X Server Settings и перейдите в раздел Thermal Settings, где вы теперь должны увидеть дополнительные настройки управлением скоростью вращения вентилятора охлаждения видеокарты.


5. Активируйте пункт Enable GPU Fan Settings, передвиньте флажок регулировки скоростью вращения вентилятора на нужную величину (в процентах) и нажмите кнопку Apply (Применить).

Заключение. Если что-то пойдёт не так, вы всегда можете сбросить термальные настройки, нажав кнопку Reset Hardware Default ( Сбросить настройки по умолчанию).

Удачи.


30 комментариев :

  1. cool-bits=1 включает возможность оверклокинга
    cool-bits=4 включает возможность ручного управления кулером
    cool-bits=5 включает И ТО, И ДРУГОЕ

    Т.е., если установить значение cool-bits=5, можно не только управлять вентилятором, но и вручную выставлять рабочие частоты видеокарточки, делая, таким образом, overclocking (или downclocking, во избежание перегрева). У меня, например, нижний порог производительности немного задран, а верхний, наоборот, специально занижен - так карточка у меня значительно меньше греется.
    http://i.imgur.com/ieE20sM.png
    http://i.imgur.com/iF9jLFK.png
    http://i.imgur.com/78jmWW0.png
    Заодно приведу примеры команд, которые можно закинуть в автозапуск, чтоб каждый раз не лазать в GUI:

    nvidia-settings -a "[gpu:0]/GPUOverclockingState=1" -a "[gpu:0]/GPU2DClockFreqs=270,162" -a "[gpu:0]/GPU3DClockFreqs=405,324" (переопределяет рабочие частоты GPU)
    nvidia-settings -a "[gpu:0]/GPUFanControlState=1" -a "[fan:0]/GPUCurrentFanSpeed=62" (устанавливает ручное управление кулером и скорость вращения в процентах от максимальной)

    ОтветитьУдалить
    Ответы
    1. Не мое, конечно, дело, но вам впору свои статьи писать, Максим :) Багаж знаний это позволяет.

      Удалить
    2. Так Максим пишет стати на этом сайте. Он является соавтором блога Compizomania. Возможно Вы имели ввиду свой сайт/блог иметь, как автору. Но не каждый продвинутый пользователь хочет содержать свой блог. Для многих продвинутых пользователей проще публиковать статьи в существующем сайте/блоге и отвечать на комментарии пользователей, что и делает Максим.

      Удалить
    3. Спасибо-работает , а для ATI подобной инструкции нет ?

      Удалить
    4. На мобильных картах работать должно? А то у меня чтото с командой cool-bits=1 оверклок не заработал.
      U14.04
      gt 425m (331.113)
      xorg https://yadi.sk/i/o2Ht1WktgWULY

      Удалить
    5. Нашел- http://itmages.com/image/view/2531852/5584c886 http://sourceforge.net/projects/amdovdrvctrl/ может кому-нибудь пригодится

      Удалить
    6. У иеня нет Clock Frequencies. Как написать строки в автозагрузку:nvidia-settings -a "[gpu:0]/GPUOverclockingState=1" -a "[gpu:0]/GPU2DClockFreqs=270,162" -a "[gpu:0]/GPU3DClockFreqs=405,324" (переопределяет рабочие частоты GPU)
      nvidia-settings -a "[gpu:0]/GPUFanControlState=1" -a "[fan:0]/GPUCurrentFanSpeed=62" (устанавливает ручное управление кулером и скорость вращения в процентах от максимальной). Двумя разными командами?

      Удалить
    7. ==На мобильных картах работать должно? А то у меня чтото с командой cool-bits=1 оверклок не заработал.==
      Сложно сказать с уверенностью. У меня нет ноутбука и проверить не на чем. И я толком не знаю, как именно работает команда nvidia-xconfig в Ubuntu, куда сохраняются параметры. В моем Archlinux я не использовал никаких команд, просто добавил строчку
      Option "Coolbits" "5"
      в секцию Device файла /etc/X11/xorg.conf.d/20-nvidia.conf, но в Ubuntu этого файла может и не быть. Можно попробовать добавить непосредственно в xorg.conf, но если есть какие-то дополнительные конфиги, такой подход не всегда срабатывает.

      Удалить
    8. ==У иеня нет Clock Frequencies ==
      Если вы активировали cool-bits=4, то это добавляет только управление кулером. Для оверклокинга нужны cool-bits=5 или cool-bits=1 Причем, не факт, что будет работать. Зависит от карточки и версии драйвера. В статье есть упоминание про "на свой страх и риск"
      ==Как написать строки в автозагрузку.....Двумя разными командами?==
      Две строчки, начинающиеся с nvidia-settings и далее до примечания в скобках - это две разные длинные команды и в автозапуск помещать их тоже надо по отдельности. Но использовать ОБЕ совсем НЕОБЯЗАТЕЛЬНО. И параметры частот и оборотов в командах надо подбирать индивидуально под свою карту. Я всего лишь привел примеры. Используйте их, только если знаете, что делаете.

      Удалить
    9. Владимир, нет, имел ввиду именно статьи, а не отдельную площадку. К чему плодить ресурсы в сети, когда уже есть качественные и интересные?
      Я не знал, что Максим здесь публикуется. Теперь знаю :)

      Удалить
    10. Moriarty, в Вашем файле xorg.conf есть комментарий "generated by nvidia-xconfig", то есть nvidia-xconfig непосредственно туда и сохраняет все параметры. Попробуйте отредактировать секцию Device вручную, добавив Option "Coolbits" "5" или Option "Coolbits" "1", например, так:

      Section "Device"
      Identifier "Device0"
      Driver "nvidia"
      VendorName "NVIDIA Corporation"
      BoardName "GeForce GT 425M"
      Option "Coolbits" "5"
      EndSection

      и перезагрузить компьютер. Почему параметр не добавился командой sudo nvidia-xconfig, честно говоря, не знаю. Возможно, вводили с ошибкой.

      Удалить
    11. P.S.
      ==На мобильных картах работать должно? А то у меня чтото с командой cool-bits=1 оверклок не заработал.
      U14.04
      gt 425m (331.113)==

      Немного еще покурил мануалы :) Для некоторых карт 400-й серии и для других карт с архитектурой Fermi и новее, оверклокинг может включаться командой
      sudo nvidia-xconfig --cool-bits=8
      (страница PowerMizer преобразуется в таблицу с редактируемыми значениями). Работает только с драйвером 337 и новее!

      Удалить
  2. P.S. Возможно, я ошибаюсь, но по моему опыту, down-clocking действительно может быть довольно полезен. Никаких "тормозов" он на практике не вызывает. Максимальная производительность нужна только в играх, а видеокарта зачем-то норовит перескочить на "максимальный перфоманс" при малейшем увеличении нагрузки. Это приводит только к ее нагреву и росту оборотов вентилятора. На самом деле, нижнего порога производительности должно вполне хватать даже для HD-видео...

    ОтветитьУдалить
  3. Еще бы написали как фиксировать настройку PowerMizer, было бы вообще отлично. Надоело при каждой перезагрузке ставить её вручную(

    ОтветитьУдалить
    Ответы
    1. Этот комментарий был удален автором.

      Удалить
    2. Что значит "фиксировать настройку PowerMizer"? Если Вы имеете в виду настройки оверклокинга (или даунклокинга), как на этих двух скриншотах

      http://i.imgur.com/ieE20sM.png
      http://i.imgur.com/iF9jLFK.png

      так я привел команду, которая их устанавливает:

      nvidia-settings -a "[gpu:0]/GPUOverclockingState=1" -a "[gpu:0]/GPU2DClockFreqs=270,162" -a "[gpu:0]/GPU3DClockFreqs=405,324"

      После этой команды PowerMizer и начинает выглядеть так:

      http://i.imgur.com/78jmWW0.png

      где Memory Transfer Rate 648 = 324*2

      Отредактируйте команду под свои частоты и закиньте в автозапуск.

      Удалить
    3. P.S. Если Вы имеете в виду вот это http://i.imgur.com/XE94kwO.png , то это просто:
      nvidia-settings -a [gpu:0]/GPUPowerMizerMode=1
      Сбросить обратно на Auto:
      nvidia-settings -a [gpu:0]/GPUPowerMizerMode=2
      Сбросить на Adaptive:
      nvidia-settings -a [gpu:0]/GPUPowerMizerMode=0

      Удалить
  4. У меня мобильная видеокарта nvidia gt540, после добавления параметра sudo nvidia-xconfig --cool-bits=4 и последующей перезагрузке, только сбивается разрешение экрана, а опция управлением кулера не включается... Может у кого заработало на ноутбуке, отпишитесь пожалуйста! Буду примногом благодарен!

    ОтветитьУдалить
  5. Лучше бы написали как сделать, чтобы после установки проприетарного драйвера nvidia можно было регулировать обороты с помощью fancontrol, так как там можно задать скорость в зависимости от температуры, а не просто тупо выкручиваь вертушку на определенное количесвто оборотов. В общем проблема в том, что при использовании драйвера nouveau, fancontrol нормально работает и настраивается через pwmconfig, а посте установки драйверов от nvidia сенсор управления оборотами, как и считыаение с него данных, становится недоступным для программы fancontrol/pwmconfig. Может есть какой-то аргумент, чтобы отдать управление скоростью вращения вентилятора сторонней программе, так как мне кажется, что возможно это где-то блокируется. Плюс использования fancontrol состоит в том, что обороты регулируются в зависимости от температуры с установленным лично вами порогом.
    PS. Прошивать Bios с другими значениями не вариант, так как нужно это делать налету и в зависимости от комнатной температуры.

    ОтветитьУдалить
    Ответы
    1. ==Лучше бы написали как сделать, чтобы после установки проприетарного драйвера nvidia можно было регулировать обороты с помощью fancontrol==
      Fancontrol для проприетарных дров не предназначен.

      ==задать скорость в зависимости от температуры==
      Можно использовать скрипт на bash или python для этой цели. Мне доводилось видеть подобные. Если хорошо поискать, можно найти в интернете. Был бы я силен в програмировании, сам бы написал, благо алгоритм там, по большому счету, простой как два пальца :).

      Удалить
    2. P.S. Собственно, вот
      https://code.google.com/p/nvidia-fanspeed/
      там же ссылка на видео-инструкцию по настройке. Можете попробовать, если желание есть.

      Удалить
    3. Большое спасибо за скрипт и быстрый ответ, проверил - работает. Вот только воспользоваться им не придется)) Из-за кривого разрешения во фреймбуфере с проприетарными дровами nVidia придется откатиться на nouveau, так как эти грабли с фреймбуфером и разрешением 1920x1080 похоже вообще никак не решаются.

      Удалить
    4. Под видео инструкция которой нет на сайте уже

      Удалить
    5. ==инструкция которой нет на сайте уже==
      В видео все достаточно понятно показано. Скрипт nvidiafanspeed.py сохраняешь куда заблагорассудится, можно просто в домашнюю папку. Запускается он командой в терминале python /путь-к-файлу/nvidiafanspeed.py
      Параметры работы кулера можно изменять, редактируя в скрипте значения curve_point_array. Слева - температура, справа - соответствующая ей скорость вентилятора в процентах. Ничего сложного.

      Удалить
  6. Вот как это реализовано у меня: https://yadi.sk/d/mc7KUZrvqXgS9

    ОтветитьУдалить
    Ответы
    1. спасибо, немного поменял в скрипте параметр fan на "nvidia-settings -a [fan:0]/GPUTargetFanSpeed=",
      а также полезные команды -
      nvidia-settings -q all | grep Fan - перечисление атрибутов
      nvidia-settings -q gpucoretemp - актуальная температурка
      может кому пригодится

      Удалить
  7. Добрый день! Сделал все по инструкции, после перезагрузки слетает разрешение меняю обратно адаптеры, перезагрузка разрешение снова норм, но ползунка управления CPU FAN так и не появилось.

    ОтветитьУдалить
  8. большое спасибо за эту статью!) даже не пришлось вручную настраивать обороты (чего боялся вообще-то), установилась программа управления, и автоматически убрала этот страшный шум)

    ОтветитьУдалить