В данном HOWTO мы рассмотрим как правильно установить и настроить thermald в Fedora.
Введение
Thermald (thermal daemon for GNU/Linux) – это специальный сервис, разработанный компанией Intel для предотвращения перегрева и троттлинга мобильных процессоров в ноутбуках.
После установки он будет автоматически регулировать работу системы охлаждения на основе показаний термальных датчиков устройства.
Официально поддерживаются процессоры Intel, на AMD следует использовать с особой осторожностью.
Внимание! Некорректные настройки могут повредить устройство, поэтому данное руководство следует использовать исключительно на свой страх и риск. Никто не несёт никакой ответственности за возможные последствия.
Установка thermald
Установим данный пакет в Fedora:
sudo dnf install thermald
Активируем его для автоматического запуска при загрузке системы:
sudo systemctl enable --now thermald.service
Конфигурация thermald
Из-за многообразия моделей ноутбуков и прочих девайсов, пакет поставляется без каких-либо файлов конфигурации и “из коробки” не функционирует.
Файлы конфигурации можно получить следующими способами:
- составить самостоятельно на базе готовых примеров;
- найти уже созданные другими участниками сообщества для конкретной модели устройства;
- использовать специальную утилиту для извлечения параметров из ACPI-таблиц.
Мы применим третий способ, как самый простой и наиболее безопасный.
Извлечение параметров из ACPI
Для извлечения воспользуемся специальной утилитой dptfxtract, предоставляемой компанией Intel.
К сожалению, это проприетарный продукт, который поставляется без исходных кодов и в то же время для работы требует права суперпользователя, что, на наш взгляд, очень небезопасно, поэтому запускать его мы будем на чистом LiveUSB с размонтированными разделами основной системы.
Скачаем самый свежий ISO-образ Fedora LiveUSB, запишем его на USB-флеш накопитель, затем загрузимся с него строго в UEFI-режиме.
Скачаем утилиту и выполним её с правами суперпользователя ( при загрузке с Live):
wget https://github.com/intel/dptfxtract/raw/master/dptfxtract-static
chmod +x dptfxtract-static
sudo ./dptfxtract-static
Если устройство поддерживается и DPTF-таблицы существуют, то результат в виде одного или нескольких файлов thermal-conf.xml появятся как в текущем рабочем каталоге, так и в виртуальном /etc/thermald Live-версии.
Сохраним эти файлы в архив и перенесём его в основную систему любым способом:
tar -cJpf thermald.tar.xz -C /etc thermald
Настройка thermald
В основной системе распакуем созданный ранее в Live архив thermald.tar.xz в каталог /etc/thermald и установим корректные права владельца, а также chmod для данных файлов:
sudo tar -xf thermald.tar.xz -C /etc
sudo chown root:root /etc/thermald/*.xml*
sudo chmod 0644 /etc/thermald/*.xml*
Перезапустим thermald:
sudo systemctl restart thermald.service
Если всё сделано верно, сервис начнёт работу в штатном режиме. Более полную информацию о работе можно найти в журналах работы:
journalctl -b -u thermald.service
Литература
При написании статьи использовалась литература из следующих источников: