Устанавливаем thermald на Fedora

В данном 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

Из-за многообразия моделей ноутбуков и прочих девайсов, пакет поставляется без каких-либо файлов конфигурации и «из коробки» не функционирует.

Файлы конфигурации можно получить следующими способами:

  1. составить самостоятельно на базе готовых примеров;
  2. найти уже созданные другими участниками сообщества для конкретной модели устройства;
  3. использовать специальную утилиту для извлечения параметров из 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

Литература

При написании статьи использовалась литература из следующих источников:

3 commentary to post

  1. Как раз матери на ноут хотел установить федору, пожалуй и эту софтину установлю.

  2. А что можно предпринять, если для моего ноута DPTF-таблицы не были найдены?

    1. Современные версии thermald будут работать и без извлечения DPTF таблиц (хотя конечно же не так эффективно, как задумывал производитель).

      Создайте файл /etc/thermald/thermal-conf.xml следующего вида:

      <?xml version="1.0"?>
      <ThermalConfiguration>
          <Platform>
              <Name>MODEL_NAME</Name>
              <ProductName>PRODUCT_NAME</ProductName>
              <Preference>PERFORMANCE</Preference>
          </Platform>
      </ThermalConfiguration>

      Потребуется лишь указать MODEL_NAME (модель устройства) и PRODUCT_NAME (название по классификации производителя).

      Максимальная эффективность thermald достигается в ядрах Linux 5.7.5 и выше (в него бэкпортировали ряд изменений из ветки 5.8, направленных на более эффективную работу с системой электропитания), но и на более старых тоже будет работать.

Обсуждение закрыто.