Что понадобится
Перед вмешательством в работу системы охлаждения портативного компьютера подготовьте следующие инструменты:
- Установленный дистрибутив Linux с правами суперпользователя (
rootилиsudo). - Пакет
lm_sensorsдля сканирования аппаратных датчиков через подсистему ядраhwmon. - Пакет
fancontrolили утилитаnbfc(NoteBook Fan Control, доступна также в виде легковесной версииnbfc-linuxна C или форкаnbfc-revive). - Отвёртка подходящего формата (обычно PH0 или Torx), если требуется физический доступ к материнской плате для осмотра разъёмов.
Архитектура охлаждения: один или два вентилятора
В портативных компьютерах нельзя просто установить дополнительный корпусный пропеллер в произвольное место, как в системном блоке формата ATX. Инженеры рассчитывают тепловые трубки и радиаторы под конкретный корпус. В ноутбуках встречаются две основные компоновки:
- Один общий кулер. Отводит тепло сразу от центрального процессора (CPU) и графического ускорителя (GPU). В такой конфигурации автоматическое раздельное регулирование невозможно.
- Раздельная система с двумя вентиляторами. Первый вентилятор охлаждает одновременно CPU и GPU, а второй направлен исключительно на дополнительное охлаждение CPU, либо каждый чип имеет собственный независимый контур.
Если перегрев начался со временем, часто проблема кроется не в нехватке кулеров, а в забитых сотах радиатора. В таком случае поможет чистка ноутбука от пыли и замена термопасты.
Шаг 1. Поиск датчиков и кулеров в системе
Чтобы понять, видит ли операционная система установленные вентиляторы и умеет ли считывать их тахометры, используют модуль аппаратного мониторинга ядра hwmon и утилиту sensors-detect.
- Откройте терминал и запустите сканирование шин и датчиков:
sudo sensors-detect
-
Нажимайте клавишу Enter на каждом шаге диалога, чтобы применить безопасные параметры по умолчанию. Не меняйте специальные настройки, если не уверены в назначении конкретного чипа.
-
Проверьте полученные данные:
sensors
- В выводе найдите строки с оборотами (например,
fan1: 690 RPM). Если вентилятор работает, но значение равно нулю, в конфигурацииsensorsможет потребоваться корректировка делителя (fan divisor). Чтобы отслеживать нагрев в реальном времени, прочитайте, как узнать температуру процессора в Linux.
Шаг 2. Калибровка через pwmconfig и fancontrol
Если управление кулерами выведено производителем через стандартный интерфейс sysfs, настроить зависимость оборотов от нагрева можно с помощью скрипта pwmconfig.
- Запустите конфигуратор с правами суперпользователя:
sudo pwmconfig
-
Программа поочередно изменит скважность ШИМ (PWM) на каждом найденном канале, чтобы сопоставить вентиляторы с термодатчиками. Отвечайте
y(да) илиn(нет) в зависимости от подсказок скрипта. -
По завершении утилита сформирует конфигурационный файл
/etc/fancontrol. -
Отредактируйте параметры
MINPWMиMAXPWMв файле/etc/fancontrol, чтобы задать минимальный и максимальный диапазон скоростей.
- Проверьте запуск службы вручную:
sudo fancontrol
Если ошибки отсутствуют, активируйте постоянную работу демона:
sudo systemctl enable --now fancontrol.service
Подробные тонкости работы с профилями шума описаны в статье о том, как настроить тихий вентилятор на процессоре в Linux.
Шаг 3. Использование NBFC для встроенного контроллера
Во многих ноутбуках прямое управление через pwmconfig заблокировано: вентиляторами управляет встроенный мультиконтроллер (Embedded Controller, EC). В этой ситуации применяют специализированный инструмент NoteBook Fan Control (NBFC), работающий через среду Mono, либо его оптимизированную версию nbfc-linux.
-
Установите пакет
nbfcилиnbfc-linuxиз AUR или исходных кодов. -
Включите системную службу:
sudo systemctl enable --now nbfc.service
- Запросите у программы список рекомендованных профилей для вашей модели ноутбука:
nbfc config -r
- Если профиль обнаружен, примените его точное имя без расширения
.xml(все доступные XML-шаблоны находятся в каталоге/opt/nbfc/Configs/):
nbfc config -a "Asus Zenbook UX430UA"
Если не получилось
- Ошибка «File Descriptor does not support writing» в NBFC. Переименуйте конфликтующую библиотеку плагина и перезапустите системный сервис:
sudo mv /opt/nbfc/Plugins/StagWare.Plugins.ECSysLinux.dll /opt/nbfc/Plugins/StagWare.Plugins.ECSysLinux.dll.old
sudo systemctl restart nbfc.service
-
Управление fancontrol слетает после перезагрузки. Символические ссылки в каталоге
/sys/class/hwmon/ссылаются на абсолютные пути устройств, и при перезапуске ядра нумерация портовhwmonможет меняться местами. Проверьте статус службы через командуsystemctl status fancontrol.serviceи укажите в/etc/fancontrolпостоянные пути к датчикам. -
Вентиляторы перестают регулироваться после выхода из спящего режима. Из-за особенностей драйверов питания служба
fancontrolтеряет дескриптор устройства после перехода в ждущий режим. Для решения проблемы настройте автоматический перезапуск сервиса через хукsystemd-suspend.



