Ядро & Оборудование

Жара в Морровинде, или Квест про кулер на Nvidia.

Захотелось мне тряхнуть стариной - погонять в теплый ламповый Morrowind.
Торрент, исошник, плейонлинукс, сетап.екзе, далее-далее-далее, лончер-опции-1280х960-игра, чтотонетак, winecfg, повторить лончер-опции… Короче, встал Morrowind. «Новая игра». Тыц. Заставка, мутный ролик про меня, Избранного Спасти Мир. Ну, поехали…
Джиуб, еще не святой. "-Говорят, мы уже приплыли в Морровинд. Нас выпустят, это точно! Тихо, стражник идёт..."
…… ээээ, чёзанах! Черный экран, монитор мигает лампочой- «нет сигнала». Из колонок по прежнему музыка Джереми Соула и шаги охранника. «Мы прибыли туда, где Вас выпустят. Следуйте за мной.»
А… куда следовать-то? Экран потух, выйти из игры клавишами не выходит, горячие клавиши иксов в вайне не срабатывают… «Ну и чо??? Выпустите меня! ВолкИ позорные! Свободу Нереварину!!!»
Не выпускают. Даже ведьмачий знак АльтКонтрДел бесполезен. Ну что ж, резет.

И так каждый раз, раньше или позже. В логе отладки ничего внятного нет.
Наконец замечаю что при работающей игре подозрительно громко шумит какой-то кулер в системнике. Смотрю на датчики вентиляторов проца и корпуса- нормально. Игра меж тем в очередной раз вылетает, Перезагружаюсь, сразу запускаю nvidia-settings (то что в меню называется «NVIDIA X Server Settings»), гляжу на «Thermal Settings»… Вот оно! Обороты кулера и температура чипа весьма высоки, хотя постепенно падают. Похоже, видеокарта отключается от перегрева. Ну да, Морровинд- место жаркое. Все же на вулкане живем, это вам не Скайрим…
Запускаю игру, температура видеочипа стремительно прыгает вверх, а кулер разгоняется неспешно, явно не успевая охладить чип. На отметке 96С градусов срабатывает защита и видеокарта опять отключается.
Достаю системник, берусь за отвертку. Ну, я так и предполагал… Видеокарта стоит радиатором вниз, крепление радиатора- с пружинками. Радиатор от видеочипа отвалился и болтается на ослабевших пружинках винтов крепления. Термопаста высохла. Кулер-то крутится, а толку чуть.
Вытряхиваю из корпуса пыль- давно пора, лет пять как не заглядывал… Снимаю видеокарту. Разбираю, меняю термопасту, подтягиваю винты радиатора, фиксирую локтейтом. Собираю обратно.
Запускаю комп. О, как всё изменилось- в холостом режиме nvidia-settings показывает тнмпературу 30-35 градусов, обороты кулера — ровно 30%. С игрой- около 60-70С и кулер 80%. А если нагрузить? Запускаю
gputest /test=pixmark_volplosion, температура медленно растет до 84С, кулер быстрее 80 не разгоняется.
Хорошо! А если выключить нагрузку? Температура быстро снижается до 60С, потом кулер с 80% переходит сразу на 30%, скорость падения температуры снижается, и за пару минут опускается до 35С. Снова запускаю gputest, вижу такую картину: температура возрастает быстро и линейно при постоянных оборотах кулера в 30% вплоть до 60С. Потом кулер скачком разгоняется до 80%, рост температуры замедляется, но всё-же через минуту температура доходит до 84С. И всё стабилизируется. 84С температура и 80% обороты кулера. Дальше не растёт, даже если добавить нагрузки запустив несколько штук gputest.
Отлично!

Но…

Мне не очень нравится как кулер видеокарты автоматически выбирает обороты. Конечно, при приближении к опасным температурным значениям он разгоняется и свою работу делает, но в Морровинд играть мешает- температура в игре гуляет как раз около порога его режимов, и кулер постоянно переключается с тихого режима на высокоскоростной. Стоишь спокойно- тишина. Побежал, подпрыгивая или кастанул фаербол в скального наездника- кулер взвыл. Убил гада- через несколько секунд кулер снова затих, переключившись в медленный режим. В общем, основную музыкальную тему я слышу нормально, а боевую музыку- с аккомпанементом завывающего кулера. Отвлекает. Уж лучше бы он постоянно выл, что-ли…

А что, можно и так. Только вот в nvidia-settings опция ручного управления оборотами кулера по дефолту заблокирована. Что ж, начинается акробатика с кульбитами. А ну-ка…

Создаю файлик /etc/X11/xorg.conf.d/30-nvidia.conf


Section "Device"
    Identifier "Device 0"
    Driver     "nvidia"
    VendorName "NVIDIA Corporation"
    BoardName  "IDENTIFIER FOR YOUR GPU"
    Option     "Coolbits" "4"
EndSection


Перегружаюсь, смотрю в nvidia-settings- порядок, кульбит сработал. На вкладке «Thermal Settings» появилась возможность ручного регулирования оборотов кулера. Это хорошо, но вдруг где-то под Гнисисом налетят на меня штук пять скальных наездников, парочка гончих и компания бандитов-ашлендеров? Или запущу игру, а выставить повышенные обороты в nvidia-settings тупо забуду? Температура поднимется, а кулер на постоянных оборотах может и не справится. Как-бы видяху не сжечь… В NVIDIA дураков мало, не зря они эту опцию заблокировали!
Можно, конечно, кинуть в автозагрузку скрипт с командой

"nvidia-settings -a [gpu:0]/GPUFanControlState=1 -a [fan:0]/GPUCurrentFanSpeed=80"

чтобы включить эту опцию и выставить обороты кулера в 80%…
Но это решит лишь половину задачи. Есть ведь и обратный вариант: не всегда же мне играть хочется. А даже если хочется- выйду я на минутку из игры, отвлекусь часа на три- а кулер так и будет вхолостую воздух молотить? Нет, автоматизация нужна не половинчатая, а именно полная.

Хорошо что в АУРе есть такая утилитка- nvfancontrol. Правда чтобы работала ее еще настраивать нужно. Что-ж делать, придется заморочиться.

yaourt -S nvfancontrol

при установке ругается на ключ, но тут всё как обычно, поможет

gpg --recv-keys 44EB0D4FC6E01280

Сперва посмотрим справку, там все просто:


$ nvfancontrol -h
Usage: nvfancontrol [options]

Options:
    -d, --debug         Enable debug messages
    -l, --limits LOWER,UPPER
                        Comma separated lower and upper limits, use 0 to
                        disable, default: 20,80
    -f, --force         Always use the custom curve even if the fan is already
                        spinning in auto mode
    -m, --monitor-only  Do not update the fan speed and control mode; just log
                        temperatures and fan speeds
    -j, --json-output   Print a json representation of the data to stdout
                        (useful for parsing)
    -t, --tcp-server [PORT]
                        Print a json representation of the data over a tcp
                        port. Can be optionally followed by the port number
                        over which the server will listen for incoming
                        connections
    -h, --help          Print this help message


Можно запустить его как обычную команду в debug-режиме и посмотреть как он работает


$ nvfancontrol -d
WARN - No config file found; using default curve
DEBUG - Curve points: [(41, 20), (49, 30), (57, 45), (66, 55), (75, 63), (78, 72), (80, 80)]
INFO - NVIDIA driver version: 390.42
INFO - NVIDIA graphics adapter #1: GeForce GTX 550 Ti
DEBUG - Fan is enabled on auto control; doing nothing
DEBUG - Temp: 34; Speed: 1440 RPM (30%); Load: 2%; Mode: Auto


Всё здорово, но стандартная шкала «температура-обороты» несколько странная, и лучше все-же создать свой конфигурационный файл ~/.config/nvfancontrol.conf Например, такой:


30    30
40    40
50    50
60    60
70    70
80    80
85    90
90    100


Проверим.


$ nvfancontrol -d
DEBUG - Curve points: [(30, 30), (40, 40), (50, 50), (60, 60), (70, 70), (80, 80), (85, 90), (90, 100)]
INFO - NVIDIA driver version: 390.42
INFO - NVIDIA graphics adapter #1: GeForce GTX 550 Ti
DEBUG - Fan is enabled on auto control; doing nothing
DEBUG - Temp: 34; Speed: 1440 RPM (34%); Load: 1%; Mode: Auto


Вот, теперь шкала более внятная.

Проверим в деле. В окошке терминала запустим nvfancontrol -fd и оставим работать.
Запустим nvidia-settings. Опция «Enable GPU Fan Settings» должна включиться автоматически, за это отвечает ключ -f. Теперь запустим gputest /test=pixmark_volplosion и посмотрим как работает кулер под нагрузкой. Смотреть можно и в терминальном окне с запущенным nvfancontrol, и в nvidia-settings. Но в nvidia-settings будет гораздо нагляднее. Обороты кулера должны изменяться в соответствии с нашей шкалой, ползунок «Fan 0 speed» — будучи передвинут куда-либо вручную должен отскакивать обратно, снятая вручную галочка «Enable GPU Fan Settings» — восстанавливаться.

У меня так оно и заработало. Правда, полностью протестировать всю шкалу не удалось- со свежей термопастой и вычищенным от пыли радиатором карта напрочь отказывалась греться выше 84С под любой нагрузкой. Ну и ладно, будет запас на будущее.

До полной автоматизации осталось всего пара шагов. Нужно всё зафиксировать и запустить. И лучше не просто так, а в виде сервиса.
Тут тоже тонкости. Сам nvfancontrol использует библиотеку xnvctrl, а она без запущенных иксов не работает. Значит, запускать сервис нужно после запуска иксов, а иксы запускаются от пользователя. Хорошо что сервис можно запустить и так, это в общем не сложнее чем стартовать обыкновенный системный сервис.

В каталоге ~/.config/systemd/user создадим новый юнит- текстовый файл с именем nvfancontrol.service


[Unit]
Description="NVIDIA Dynamic fan control"
After=graphical.target

[Service]
Type=simple
ExecStart=/usr/bin/nvfancontrol -f

[Install]
WantedBy=default.target


Потом в терминале стартуем его


systemctl --user enable nvfancontrol.service
systemctl --user daemon-reload
systemctl --user start nvfancontrol.service

и проверим запустился ли он

[mmk@tal02 ~]$ systemctl --user status nvfancontrol.service
● nvfancontrol.service - "NVIDIA Dynamic fan control"
   Loaded: loaded (/home/mmk/.config/systemd/user/nvfancontrol.service; enabled; vendor preset: enabled)
   Active: active (running) since Th 2018-04-12 18:38:29 MSK; 1h 18min ago
 Main PID: 1090 (nvfancontrol)
   CGroup: /user.slice/user-1000.slice/user@1000.service/nvfancontrol.service
           └─1090 /usr/bin/nvfancontrol -f

апр 12 18:38:29 tal02 systemd[954]: Started "NVIDIA Dynamic fan control".
апр 12 18:38:29 tal02 nvfancontrol[1090]: INFO - NVIDIA driver version: 390.42
апр 12 18:38:29 tal02 nvfancontrol[1090]: INFO - NVIDIA graphics adapter #1: GeForce GTX 550 Ti


Ага, запустился. В «Диспетчере задач» должен появиться новый процесс с именем "nvfancontrol -f"

Но такой сервис сам собою не стартует, поэтому еще потребуется кинуть в автозагрузку команду
systemctl --user start nvfancontrol.service или скрипт с этой командой, зависит от окружения.

Перезагрузимся. Заглянем в nvidia-settings. Всё должно работать так как работало когда мы запускали nvfancontrol -fd вручную.

Всё, теперь автоматизация полная, кулер работает именно так как я и хотел- плавно поднимает обороты вслед за растущей температурой и так же плавно их опускает при снижении нагрузки на видеочип. Примерно до 50% его абсолютно не слышно, далее шум плавно нарастает и при снижении нагрузки так-же плавно стихает, резких рывков уровня шума больше нету, и я уверен что при тяжелых моментах в игре кулер сделает все что сможет, но аварийных вылетов графики по перегреву не допустит. И в то же время при работе компьютера в обычном режиме кулера видеокарты совершенно не слышно.
Красота!

Результатом я вполне доволен- уже дошел до Вивека. Я, блин, стану лордом Нереварином и главой всех гильдий, и никакие кулеры меня не остановят! И пусть ординаторы следят за мной и обзывают «ничтожеством» — я еще сочиню специально для них заклинание вроде ФузРоДаха! А этот бешеный чупачупс ДаготУр непременно получит напророченных ему грандиознейших люлей! И не раз, а дважды. Во имя Азуры, королевы Заката и Рассвета!
Manjaro KDE Edition

Черный экран после установки

Всех приветствую. После установки я вижу только черный экран — система не прогружается. Пробовал ставить c KDE, XCFE, но результат один и тот же. Это какая-то известная проблема? Можете помочь с решением, пожалуйста?
Процессор: Intel i7 8550U
Видеокарта: Intel UHD Graphics 620
Manjaro KDE Edition: Черный экран после установкиManjaro KDE Edition: Черный экран после установкиManjaro KDE Edition: Черный экран после установки
Manjaro XFCE Edition

[РЕШЕНО] Как заставить работать Swap?

Здравствуйте.
Прошу совета.
Исходные: Manjaro-XFCE
Запущен ФМ, Google-chrome c четырьмя открытыми вкладками, два прайс-листа в Gnumeric, Mousepad.
Расход памяти — 1,76 из 2,0.
Система жутко тормозит, иногда виснет. Подкачки -0.
При тех же исходных — даже более суровых (количество вкладок в браузере может варьироваться от десяти до двадцати) в окружении Plasma на том же компьютере Swap исправно выполняет свои функции, расход памяти стабильно около 1,5 и плавность работы изумительная..)
Вопрос: как заставить работать Swap в XFCE?
На всякий случай — содержимое /etc/fstab XFCE

# UUID=fee1fbc1-27cd-4bab-970e-e65736cf449b / ext4 defaults,noatime 0 1
UUID=54c00a97-d566-4c73-9afc-5bbf11bfbf31 swap swap defaults,noatime 0 2

Спасибо за
Уголок новичка

Слетел загрузчик Винды

При установки Манжаро Линукс 42/3 случайно форматировал раздел с загрузчиком Винды. Виндовс8 и Линукс на одном физическом диске. Уголок новичка: Слетел загрузчик ВиндыЭто был раздел /sda3 или /sda6 (точно не помню).Имеется установочный диск на ManjaroLinux, можно ли как-то восстановить, чтобы обе системы загружались?
Уголок новичка

Окружение Cinnamon и AMD

Я новичок в Linux.
Скачал образ с Cinnamon ( мне больше всего оно нравится по настройкам и удобству ).
Установил, обновил, ядро 4.15.7 ( если ядро 4.14, то звука нет через AMD RX560 HDIM ).
Установил свои темы в загрузчик, в логин, на рабочий стол.
В общем 2 вопроса: что на чистой, что с моими темами, Cinnamon иногда выдаёт ошибку и просит себя перегрузить.
Что именно пошло не так, я так и не смог определить, есть советы?
И ещё мне не удалось определить, бывает так, что при перезагрузке с линукса ( у меня ещё Win10 )
монитор гаснет, а комп продолжает работать минуты 2 и выдаёт сигнал о ошибке ( пищит ). При этом ресстарт с Винды всегда норм. Загрузчик Линукса на отдельном от винды диске.
И мини вопрос: AMD CrossFireX в сборке как настроить? Если вообще можно, так как Каталист уже не работает.
Уголок новичка

русский язык

Такая проблема. В настройках, Firefox и некоторых других местах отсутствует русский язык. У меня Linux Manjaro17.1 окружение GNOME. Также спросить, можно ли скачать другую тему для рабочего стола, поставить в настройках иконки заместо надписей.Можно сделать так, чтобы боковая панель слева скрывалась?
Manjaro Other

[РЕШЕНО] Не работает микрофон

Manjaro Gnome-не работает микрофон, поставил Ubuntu-работает. В настройках звука фронтальный микрофон показывает, но уровень записи стоит на месте, при записи через kazam и прочие подобные программы только сильнейшая помеха (сильный гул). Подскажите куда копать?

Плата ASUS SABERTOOTH 990FX R2.0
Gnome 3.26.2
Ядро 4.15.0-1
Уголок новичка

Не могу запустить wifi?

ноут prestigio 133s
сетевая карта rtl8723bu
как установить драйвер????
[lamer@pc ~]$ cd rtl8723bu
[lamer@pc rtl8723bu]$ make
make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/4.14.14-1-MANJARO/build M=/home/lamer/rtl8723bu  modules
make[1]: Entering directory '/usr/lib/modules/4.14.14-1-MANJARO/build'
make[1]: *** No rule to make target 'modules'.  Stop.
make[1]: Leaving directory '/usr/lib/modules/4.14.14-1-MANJARO/build'
make: *** [Makefile:322: modules] Error 2
[lamer@pc rtl8723bu]$