O pacote i8kutils traz um kit de utilitários para notebooks Dell

Pensado para o hardware feito e comercializado pela Dell, o i8kutils é um pacote de softwares com alguns pequenos programas que podem ser bastante úteis para quem usa o Linux em um laptop Dell.
Para escrever este post, testei os softwares do pacote em uma máquina Inspiron 5448.
As ferramentas funcionam em conjunto com os applets de monitoramento de sensores mate-sensors-applet e sensors-applet, que mostram leituras dos sensores do hardware no painel do Mate e do GNOME, respectivamente.
O kit, desenvolvido por Massimo Dal Zotto, é composto das seguintes ferramentas:

  1. i8kbuttons — monitora o status das teclas de função (Fn) em laptops Dell Inspiron.
  2. i8kctl e i8kfan — são utilitários de acesso às informações do SMM BIOS e da tabela DMI.
  3. i8kmon — é a ferramenta de monitoramento do sistema, que oferece informações sobre temperatura, ventoinhas (fans) etc.

Inicialmente, a ferramenta era destinada apenas a controlar os fans de laptops Dell.
Atualmente, a coleção de utilitários inclui programas auxiliares para obter e fornecer o status do sistema ao usuário, bem como ler dados sobre a temperatura das CPUs, a versão do BIOS e permitir a manipulação das teclas de função (Fn-keys).
O pacote inclui, ainda, um pequeno applet, escrito em Tk, projetado para se integrar ao painel do GNOME.
Ele tem a função de monitorar a temperatura da CPU e controlar automaticamente as ventoinhas dentro dos limites determinados pelo usuário.
O programa requer a instalação do módulo do kernel i8k.ko, que que pode ser compilado a partir dos fontes, presentes no pacote.
Se você usa o kernel Linux 2.4.14, ou superior, o módulo já estará integrado.
Para instalar o pacote i8kutils, no Debian ou no Ubuntu, use o apt:

sudo apt install i8kutils

Ele entra em funcionamento, após a instalação, sem intervenção posterior.

Como carregar o módulo i8k

Você pode verificar se o módulo foi ou não carregado no kernel, com o comando lsmod:

sudo lsmod | grep -i --color dell

O nome do módulo é do primeira linha, abaixo:

dell_smm_hwmon         16384  0
dell_rbtn              16384  0
rfkill                 24576  8 bluetooth,dell_rbtn,cfg80211

Se ele não estiver lá, use o comando modprobe para carregá-lo:

sudo modprobe -vf i8k
insmod /lib/modules/4.8.0-1-amd64/kernel/drivers/hwmon/dell-smm-hwmon.ko 

Agora, verifique novamente, com o lsmod, se o módulo foi carregado.

Conclusão

O pacote não é uma novidade e já faz parte, há várias versões, dos repositórios oficiais Debian e Ubuntu.
Não há razões para desconfiar da segurança de um software que já está aí, há um tempo bem razoável — ainda assim, use-o por sua própria conta e risco.
O sistema de arrefecimento do computador é parte vital do sistema. Sem não estiver funcionando adequadamente, danos de hardware, irreversíveis, podem ser causados ao sistema.
A Dell não contribui com o projeto — nem mesmo com documentação.
Se você não ficar satisfeito com o desempenho do i8kutils para controlar o funcionamento excessivo dos fans, desinstale-o e experimente o pacote thermald, para controlar a temperatura do sistema.
Veja mais informações, na seção de referências, abaixo.

Referẽncias

https://github.com/vitorafsr/i8kutils.
https://launchpad.net/i8kutils.

Guia prático para testar a performance do seu sistema com o OpenGL no Linux.

O OpenGL é um ambiente para desenvolvimento de aplicações móveis e interativas, com gráficos 2D e 3D.
Desde sua introdução, em 1992, o OpenGL se tornou a API mais difundida na indústria de softwares — o que possibilita a criação de milhares de aplicativos em uma grande variedade de plataformas.
OpenGL oficial logo
A escalabilidade da API do OpenGL permite que se rode aplicações em pequenos eletrodomésticos, aparelhos móveis, PCs/notebooks, workstations e supercomputadores.
Desenvolvedores podem trabalhar com e para qualquer plataforma, usando a API.
O OpenGL tem suporte para todos os UNIX, todas as versões do Windows (desde a 95), para o MacOS e, é claro, para o Linux.
A API pode ser chamada de praticamente todas as linguagens de programação importantes — Ada, C, C++, Fortran, Python, Perl, Java etc.
Neste artigo, vou mostrar como testar a performance do seu sistema Linux em relação ao OpenGL.
Para realizar os testes, usarei uma máquina com openSUSE Leap 42.1 e outra com Ubuntu 16.04 LTS.
Os aplicativos usados nos exemplos são universais e, caso sua distro GNU/Linux seja outra, não será difícil encontrá-los para baixar — se já não estiverem instalados.

A performance da sua placa gráfica no Linux

Apesar de ser famoso pela sua estabilidade e eficiência, como plataforma para realizar diversas tarefas, o Linux não é conhecido como plataforma excepcional para jogos — o que é uma injustiça.
Como consequência, não temos muitas ferramentas de benchmarking, de medição precisa da performance do hardware gráfico.
Ferramentas, estas, que poderiam nos ajudar a tirar conclusões mais sólidas e fazer comparações técnicas entre produtos e determinar exatamente o quão bem as coisas funcionam.
Enfim, todas as ferramentas de benchmarking disponíveis atualmente, para a plataforma Linux, rodam apenas sob a renderização da API do OpenGL.
Ainda que sua unidade de processamento gráfico (ou GPU) tenha compatibilidade com alguma versão do Direct3D… não será possível testá-las, neste quesito, usando Linux.
linux penguin

Use o GLX-Gears para experimentar o OpenGL no Linux

Este é um aplicativo popular e tradicional para testar o suporte ao OpenGL, no Linux (e em outros sistemas operacionais).
O glxgears faz parte do pacote de softwares ‘mesa-utils’.
No Ubuntu, você pode instalá-o com o apt (ou aptitude, no Debian):

sudo apt install mesa-utils

No openSUSE, use a ferramenta de gestão de pacotes, zypper para instalar o ‘mesa-demo-x’:

sudo zypper install mesa-demo-x

A partir daqui, já é possível usar as ferramentas glxinfo e glxgears.
Ao executar o comando glxgears, vai abrir uma janela, com uma renderização clássica do OpenGL, que mostra um conjunto de 3 rodas dentadas ou engrenagens.
Você pode verificar o frame rate ou FPS no terminal, em que você o executou, a cada 5 segundos.
glxgears
Trata-se de uma ferramenta bastante antiga.
O aplicativo glxgears é muito básico e testa apenas uma porção pequena das possibilidades que o OpenGL oferece hoje.
Quando foi concebido, era usado para determinar se o driver proprietário da placa de vídeo estava instalado e funcionando corretamente em comparação com a versão de código aberto ou open source. Você não perceberia a diferença nos dias de hoje, contudo.

Como testar o OpenGL com o glmark2

Você pode instalar o glmark2, no Ubuntu, com o apt:

sudo apt install glmark2

Para instalar no openSUSE, siga os passos:

sudo zypper addrepo http://download.opensuse.org/repositories/home:ykoba/openSUSE_Leap_42.1/home:ykoba.repo
sudo zypper refresh
sudo zypper install glmark2

Para instalar o glmark2 no Debian, siga estas instruções.
Novamente, o programa deve ser executado no terminal, onde você poderá observar os resultados dos diversos testes que ele irá realizar — que podem ser vistos em uma janela à parte, tal como no glxgears.

glmark2

O aplicativo renderiza diversos tipos de imagens e gráficos em 2D e 3D, na tela e mede o desempenho em FPS.
Finalmente, calcula a média dos resultados dos testes e dá uma pontuação para a sua GPU.
Esta pontuação pode ser usada como parâmetro comparativo entre diversas máquinas/placas gráficas.
Alguns parâmetros de uso interessantes do glmark2 podem ser os seguintes:
O exemplo, que segue, apenas valida os diversos tipos de testes em relação ao seu hardware de renderização gráfica.

glmark2 --validate

O exemplo, abaixo, roda o aplicativo em tela cheia — útil quando você só deseja saber o resultado final e não tem a intenção de acompanhar os testes uma a um.

glmark2 --fullscreen

O resultado do programa executado em uma janela vai ser diferente de quando for executado em tela cheia. Resoluções diferentes tem intensidade diferente de uso do hardware, como será possível observar nos próximos testes.
Você pode rodar benchmarks específicos, se quiser.
Para rodar apenas o pulsar, use o seguinte procedimento:

glmark2 --benchmark pulsar

O resultado se refere apenas ao módulo testado:

=======================================================
    glmark2 2014.03
=======================================================
    OpenGL Information
    GL_VENDOR:     Intel Open Source Technology Center
    GL_RENDERER:   Mesa DRI Intel(R) HD Graphics 5500 (Broadwell GT2) 
    GL_VERSION:    3.0 Mesa 11.0.8
=======================================================
[pulsar] <default>: FPS: 1389 FrameTime: 0.720 ms
=======================================================
                                  glmark2 Score: 1389 
=======================================================

Você pode usar o relatório de glmark2 --validate para saber o nome do teste. Basta usar os nomes entre [ ], no início de cada linha.
Desta forma, para realizar o teste de refração, use o seguinte comando:

glmark2 --benchmark refract

Para rodar o teste de textura na resolução 4K (Ultra HD), use a seguinte linha de comando:

glmark2 --benchmark texture --size 3840x2160

Obviamente, se sua tela não tiver capacidade para exibir nesta resolução, a janela do glmark2 ficará um “pouco deslocada”. Mas é possível reposicioná-la com o mouse/touchpad.

Os resultados do glmark2

O glmark2 ainda não é a ferramenta completa para testes, uma vez que não cobre os recursos presentes nas versões posteriores ao OpenGL 2.0 — que já se encontra na versão 4.5 e deve começar a ser substituído pela nova API Vulkan.
Nos testes realizados, é possível ver uma progressão na contagem do FPS para cada teste, individualmente.
GPUs mais potentes são capazes de entregar taxas melhores de atualização.
Não confunda a taxa do FPS com a taxa de atualização do monitor (monitor refresh rate) que, provavelmente é 60 e não irá mudar.
O glmark não é capaz de oferecer resultados absolutos ou 100% conclusivos sobre a performance individual do hardware de exibição gráfica.

Uma máquina, por exemplo, com uma CPU de alto desempenho e sem qualquer peça de aceleração gráfica pode obter o mesmo resultado que uma outra máquina, com CPU + GPU medianas.

O motivo disto é que a renderização baseada em software, usada pela CPU de alto desempenho, equivale ao poder de processamento da combinação CPU + GPU de pequeno porte.
Esta é uma limitação do glmark2.
Fique à vontade para compartilhar com os outros leitores sobre o seu hardware gráfico e os seus resultados, na sessão de comentários.

Referências

Experimente também usar as ferramentas Unigine de teste de desempenho da placa gráfica.
Apesar de serem proprietárias, são excelentes.


OpenGL oficial page: https://www.opengl.org/about/.
Linux GPU benchmark: https://www.howtoforge.com/tutorial/linux-gpu-benchmark/.
http://www.binarytides.com/glmark-linux-gpu-performance/.

Onde encontrar informações sobre a CPU no smartphone Android

O objetivo deste post é mostrar como obter informações mais detalhadas sobre a CPU do seu smartphone ou tablet Android, explorando os arquivos de sistema do aparelho.
Eles guardam dados sobre o estado e e os recursos do hardware e podem ser encontrados nos diretórios (ou pastas) /var, /sys e /proc.
Para poder obter estas informações à moda hacker e sem instalar programas duvidosos, é necessário ter um gerenciador de arquivos ou um terminal.
Se você ainda não tem um terminal e deseja instalar um no seu sistema, veja como fazer isto aqui (é rápido e fácil).

Dê uma olhada no arquivo cpuinfo

Neste post, vou abordar o caminho via console — mas nada impede que você acesse os mesmos arquivos usando o seu gerenciador de arquivos preferido.
A vantagem de usar o terminal é que ele é um aplicativo leve e, se você estiver lendo este artigo no celular, pode copiar os comandos daqui e colar no seu terminal.
Use o que você achar melhor. 😉
O primeiro lugar a olhar é o ‘/proc/cpuinfo’.
No terminal, digite o comando:

cat /proc/cpuinfo
processor       : 0
model name      : ARMv7 Processor rev 0 (v7l)
BogoMIPS        : 38.40
Features        : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xd03
CPU revision    : 0

processor       : 1
model name      : ARMv7 Processor rev 0 (v7l)
BogoMIPS        : 38.40
Features        : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xd03
CPU revision    : 0

processor       : 2
model name      : ARMv7 Processor rev 0 (v7l)
BogoMIPS        : 38.40
Features        : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xd03
CPU revision    : 0

processor       : 3
model name      : ARMv7 Processor rev 0 (v7l)
BogoMIPS        : 38.40
Features        : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xd03
CPU revision    : 0

Hardware        : Qualcomm Technologies, Inc MSM8916
Revision        : 82b0
Serial          : 3d411c0c00000000
Processor       : ARMv7 Processor rev 0 (v7l)
Device          : osprey
Radio           : 6
MSM Hardware    : MSM8916

Veja, na tabela, abaixo, o significado de cada item:

Item Descrição
processor Neste caso, trata-se de um sistema quad-core (4 núcleos): O primeiro é o 0, o segundo é 1, o terceiro é 2 e o quarto é 3.
Esta é a única informação que varia de um núcleo para outro, uma vez que se trata de “quadrigêmeos” —. Dentro desta CPU, todos os núcleos são iguais.
Model name O nome do modelo indica se tratar de uma microarquitetura de 64 bit ARMv7, que faz parte do chip Qualcomm Snapdragon MSM8916 (também chamado de Qualcomm Krait, citado ao final da lista.
No site da ARM, é possível encontrar pilhas de documentos específicos e detalhados sobre este componente, voltados para desenvolvedores.
BogoMIPS MIPS é uma abreviatura para Milhões de Instruções Por Segundo.
Trata-se de uma unidade de medida para a velocidade de computação de uma processador.
Tal como muitas outras unidades de medidas, nem sempre é usada apropriadamente — por que é muito difícil comparar de forma justa os MIPS entre diferentes computadores.
O BogoMips é uma invenção de Linus Torvalds para usar na versão 0.99.11 do kernel Linux — uma vez que ele precisava medir um laço de tempo.
O prefixo “Bogo”, vem de “bogus”, que significa falso.
O motivo disto é que não há metodologia científica para calcular e comparar os MIPS entre computadores.
Este valor não é para ser levado (muito) a sério.
Features Nesta linha estão listados os recursos disponíveis por esta arquitetura.
CPU Implementer código do fabricante: 0x41 = ARM.
CPU architecture versão da arquitetura da CPU.
CPU Variant Indica a versão atual da revisão do processador.
CPU part Indica o número da parte em questão.
CPU revision O número de ordem da revisão do patch (software de atualização) da CPU.
Hardware O nome do fabricante e modelo do hardware que integra as partes das CPUs.
Revision Revisão atual do chip.
Serial Número de série do chip.
Processor Nome completo do processador, no qual este chip da Qualcomm é baseado.
Device O osprey é o modelo do hardware de rede deste chip da Qualcomm.
Radio A versão do dispositivo de rádio do chip.
MSM Hardware Modelo do Mobile Station Modem ou Modem de eStação Móvel.

Onde encontrar os valores do clock mínimo, máximo e atual das CPUs no smartphone

O sistema operacional armazena os valores da frequência atual, mínima e máxima em um arquivo por processador. Portanto, em um sistema quad core, serão 04 arquivos:
CPU0

  • /sys/bus/cpu/devices/cpu0/cpufreq/scaling_cur_freq
  • /sys/bus/cpu/devices/cpu0/cpufreq/scaling_min_freq
  • /sys/bus/cpu/devices/cpu0/cpufreq/scaling_max_freq

CPU1

  • /sys/bus/cpu/devices/cpu1/cpufreq/scaling_cur_freq
  • /sys/bus/cpu/devices/cpu1/cpufreq/scaling_min_freq
  • /sys/bus/cpu/devices/cpu1/cpufreq/scaling_max_freq

CPU2

  • /sys/bus/cpu/devices/cpu2/cpufreq/scaling_cur_freq
  • /sys/bus/cpu/devices/cpu2/cpufreq/scaling_min_freq
  • /sys/bus/cpu/devices/cpu2/cpufreq/scaling_max_freq

CPU3

  • /sys/bus/cpu/devices/cpu3/cpufreq/scaling_cur_freq
  • /sys/bus/cpu/devices/cpu3/cpufreq/scaling_min_freq
  • /sys/bus/cpu/devices/cpu3/cpufreq/scaling_max_freq

Como você pode ver, estes arquivos e alguns outros se encontram no diretório /sys/bus/cpu/devices/cpuX/cpufreq/.
Para ver os arquivos informativos referentes à cpu0, use o comando ls:

ls /sys/bus/cpu/devices/cpu0/cpufreq/

Para ver o valor da frequência atual do núcelo CPU0, use o comando cat:

cat /sys/bus/cpu/devices/cpu0/cpufreq/scaling_cur_freq

998400

O valores exibidos estão em kilohertz (KHz).
Portanto, o valor acima, reflete uma frequência de 998,4 MHz.
Para obter a escala das frequências possíveis de operação deste núcleo, verifique este arquivo:

cat /sys/bus/cpu/devices/cpu0/cpufreq/scaling_available_frequencies

200000 400000 533333 800000 998400 1094400 1152000 1209600 1363200

Convertidos, estes valores vão de 200 MHz a 1,36 GHz.
Se você gostaria de saber quais são os governors disponíveis, verifique o seguinte arquivo:

cat /sys/bus/cpu/devices/cpu0/cpufreq/scaling_available_governors

interactive ondemand userspace powersave performance

… e o governor atual:

cat /sys/bus/cpu/devices/cpu0/cpufreq/scaling_governor

interactive

Estes são os valores da primeira CPU do meu sistema. Os outros valores provavelmente serão iguais.
Em alguns casos, é possível ao sistema desligar ou reduzir significativamente o clock de algumas CPUs, mantendo as outras ativas, para economizar energia.

Referências:
Entenda mais sobre os governors: https://elias.praciano.com/2013/10/como-alterar-a-velocidade-do-processador-no-android-ajuste-dos-governors/
Entenda mais sobre os processadores ARM: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0337h/Cihhbddh.html

Como saber se o meu Android é 32 ou 64 bit?

Pode ser um pouco difícil descobrir se o kernel GNU/Linux, presente no seu aparelho Android suporta códigos e instruções em 64 bit ou apenas 32 bit.
Mas é possível achar evidências de que estamos usando uma arquitetura ou outra, se você procurar no lugar certo.
Android content of file /proc/cpuinfo
Há alguns arquivos de sistema que podem ser inquiridos ou lidos diretamente para obter estes dados.
De certa forma, tudo funciona mais ou menos como no Linux — 5 maneiras de saber se o sistema é 32 ou 64 bit.
As informações que são mostradas pela interface gráfica do Android (através do menu Configurações, normalmente não são muito elucidativas, neste sentido.
Os métodos que serão expostos, aqui, pedem que você tenha um emulador de terminal instalado no seu aparelho.

Use o comando uname

Se você tiver um aparelho rooteado, pode usar o comando uname, para inquirir o sistema:

uname -a

O resultado, em um Galaxy Tab S 3, foi o seguinte:

Linux localhost 3.4.34-850131 #1 SMP PREEMPT Wed Sep 25 20:39:09 KST 2013 i686 GNU/Linux

Procure, no seu resultado pelas sequências “amd64” ou “x86_64” — que indicam que você está rodando no modo 64 bit.
ARMv8 cpu
O comando uname -a exibe as seguintes informações, respectivamente: nome do núcleo do sistema, nodename, versão do kernel, máquina, processador, plataforma de hardware, sistema operacional.
É importante entender que o uname retorna informações tanto do seu software quanto do seu hardware. Mesmo tendo uma máquina 64 bit, ela pode estar rodando exclusivamente softwares 32 bit — acontece.

Método online

Este método não é perfeito… mas pode funcionar.
Visite o site WhatsMyOS, com o seu smartphone, para obter informações sobre o seu sistema operacional.
Versão do Linux Android
No caso (veja a imagem acima), aparelhos Android 4.1.2 não têm suporte a 64 bit.

Atualmente, as aplicações que se beneficiam de processadores 64 bit, são jogos, leitura de impressões digitais, reconhecimento facial, interação por fala — e a (cada vez mais necessária) criptografia.

Verifique o arquivo /proc/cpuinfo

No terminal do Android, execute o seguinte comando:

cat /proc/cpuinfo

Abaixo, há alguns indicadores da arquitetura presente no aparelho que estou usando como exemplo:

Processor       : ARMv7 Processor rev 1 (v7l)
processor       : 0
BogoMIPS        : 4.80

processor       : 1
BogoMIPS        : 4.80

Features        : swp half thumb fastmult vfp edsp neon vfpv3 tls
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x2
CPU part        : 0xc09
CPU revision    : 1

Hardware        : SAMSUNG GOLDEN
Revision        : 006a
Serial          : 4790096d5994b03c

A arquitetura 64 bit, só foi introduzida na versão 8 dos processadores ARM. O processador do exemplo, é um ARMv7 (32 bit, portanto).


Embora este método seja popular, é preciso estar atento ao usar o /proc/cpuinfo para detectar os recursos (features) em CPUs ARMv8 — uma vez que este arquivo reflete as características do kernel em uso, em vez das da aplicação em execução.
Na arquitetura 64 bit, dos processadores da família ARMv8 a seção Features apresenta os novos recursos “sha1”, “sha2” e “CRC32”:

Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32 half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae

Em arquiteturas Intel ou AMD, 64 bit você vai encontrar, nesta linha, o recurso lm (long mode) — uma evidência clara de que se está usando um sistema 64 bit.
intel-atom-Z2460-medfield

Previna o superaquecimento do seu sistema com thermald

O thermald é um serviço usado para prevenir o superaquecimento no seu PC. Ele pode rodar em Linux, OSX e, até mesmo, Android. O software monitora a temperatura do sistema e procura compensar a situação através dos métodos de resfriamento disponíveis.
O propósito do aplicativo é agir antes que o próprio hardware comece a corrigir agressivamente a situação.
thermald-feat300x200

Desenvolvido sob patrocínio da Intel e por desenvolvedores pagos pela empresa, a ferramenta só está disponível para quem usa processadores desta marca — da linha Core e Atom — pra ser mais específico, os que usam a tecnologia Sandy Bridge ou posterior.

O thermald daemon monitora os sensores presentes no sistema e modifica os controles para manter o hardware abaixo das temperaturas limite e evitar, com mais eficiência, os picos.
O thermald mantém o sistema frio através…

  • … de dispositivos de resfriamento ativos ou passivos, encontrados no sysfs;
  • … do RAPL (Running Average Power Limit);
    O RAPL é um driver, disponível para processadores Intel, que provê aos softwares da plataforma a possibilidade de monitorar, controlar e obter notificações sobre o consumo de energia.
  • … do driver Intel P-state CPU frequency;
  • … do driver CPU freq;
  • … e do driver Intel PowerClamp.

Opcionalmente, o daemon pode tomar o controle exclusivo do sistema e agir como um governor.

Como instalar o thermald

O aplicativo pode ser instalado diretamente dos repositórios. Se você usa o Fedora Linux, pode instalar com o yum:


yum install thermald

Usuários do Ubuntu e Debian, podem instalar o aplicativo com o apt:


sudo apt install thermald

Se preferir (e souber o que está fazendo), pode baixar, compilar e instalar a versão mais atual do aplicativo — não é complicado e eu recomendo.

Como usar o thermald

Se você usa o Fedora Linux, recomendo a leitura deste artigo, para ver as primeiras dicas pós-instalação, em que este aplicativo é mencionado.
Não esqueça de executar os comandos abaixo com privilégios administrativos.
No Ubuntu e no Debian, você pode verificar se o daemon está rodando com o seguinte comando:


systemctl status thermald

● thermald.service - Thermal Daemon Service
   Loaded: loaded (/lib/systemd/system/thermald.service; enabled; vendor preset:
   Active: active (running) since Wed 2017-08-30 15:05:19 -03; 17min ago
 Main PID: 18007 (thermald)
    Tasks: 2 (limit: 4915)
   CGroup: /system.slice/thermald.service
           └─18007 /usr/sbin/thermald --no-daemon --dbus-enable

ago 30 15:05:19 ultra-5 systemd[1]: Starting Thermal Daemon Service...
ago 30 15:05:19 ultra-5 thermald[18007]: 13 CPUID levels; family:model:stepping 
ago 30 15:05:19 ultra-5 thermald[18007]: Polling mode is enabled: 4
ago 30 15:05:19 ultra-5 thermald[18007]: sysfs write failed /sys/devices/virtual
ago 30 15:05:19 ultra-5 systemd[1]: Started Thermal Daemon Service.
ago 30 15:06:03 ultra-5 thermald[18007]: sysfs write failed /sys/devices/virtual
ago 30 15:06:03 ultra-5 thermald[18007]: sysfs write failed /sys/devices/virtual
lines 1-15/15 (END)

Se não estiver ativo, inicie o serviço assim:


systemctl start thermald

Para interromper, use o comando:


systemctl stop thermald

Como usar o thermald na linha de comando

O aplicativo foi concebido pra rodar como um serviço. Ou seja, é pra ser instalado e esquecido.
Não há necessidade de fazer absolutamente nada depois da instalação — deixe o cara trabalhar.
Contudo, se você ainda quiser aprender um pouco mais sobre ele, seguem alguns comandos de interação, que podem ser executados no console —. Se tiver algum tempo sobrando, experimente baixar e compilar o código fonte, para ter uma versão mais atual do thermald.
Para ver a versão atual do thermald, digite o seguinte comando no seu console:


thermald --version

Se quiser obter ajuda, pode recorrer ao manual do sistema man thermald ou à tradicional ajuda, no terminal:


thermald -h

A maioria das opções do aplicativo exigem privilégios administrativos para serem invocadas:


thermald

You must be root to run thermald!

Se quiser, desligue o daemon e rode o aplicativo “interativamente”:


systemctl thermald stop

thermald --no-daemon --poll-interval=1

Polling enabled: 1
13 CPUID levels; family:model:stepping 0x6:2a:7 (6:42:7)
Polling mode is enabled: 1

Para interromper a execução, tecle ‘Ctrl + C’.

Como criar e alterar o arquivo de configuração do thermald

A localização padrão do arquivo de configuração do thermald é /etc/thermald/thermal-conf.xml. Você não precisa se preocupar, caso não encontre o arquivo em seu sistema — o daemon não precisa dele para fazer o seu trabalho.
Contudo, se você tiver um bom nível de conhecimento técnico sobre o seu hardware, pode fazer alguns ajustes para otimizar o funcionamento do thermald.
A configuração é baseada modelo da ACPI, em que as regiões da plataforma são divididas em zonas térmicas — e estas contém dispositivos físicos, controles de resfriamento e sensores térmicos.
Controles de resfriamento modificam o comportamento das ventoinhas (coolers) e de interfaces de drivers que podem reduzir o clock da CPU, por exemplo.
O processo de resfriamento pode ser

  • ativo — quando o ventilador é acionado para diminuir o calor. A desvantagem deste método é que consome mais energia e pode ser ruidoso;
  • passivo — quando reduz o clock da CPU, fazendo com que ela produza menos calor. Neste caso, você perde em performance. Dependendo do tipo de atividade, esta perda pode sequer ser sentida.

Nota: A relação desempenho x temperatura x economia (de energia) é discutida também neste artigo.
Os dispositivos de resfriamento pode ser ativados toda vez que se alcança certos picos na temperatura.
As zonas térmicas, ou thermal zones, pode ter mais de um ponto de acionamento (trip points).

Teoricamente, o governor térmico da ACPI deveria ter informações corretas do sistema para se basear no controle da temperatura do sistema. Mas isto nem sempre é verdadeiro.
O arquivo de configuração do thermald pode ser usado para corrigir e otimizar o comportamento do sistema.

Abaixo, segue um exemplo do arquivo de configuração:

<?xml version="1.0"?>


        Example Laptop
        *
        QUIET
        
                
                        pkg-temp-0
                        /sys/class/thermal/thermal_zone1/
                        1
                
        
        
                
                        cpu package
                        
                                
                                        pkg-temp-0
                                        80000
                                        passive
                                        PARALLEL
                                        
                                                1
                                                rapl_controller
                                                 50 
                                                 10 
                                        
                                        
                                                2
                                                intel_pstate
                                                 40 
                                                 10 
                                        
                                        
                                                3
                                                intel_powerclamp
                                                 30 
                                                 10 
                                        
                                        
                                                4
                                                cpufreq
                                                 20 
                                                 8 
                                        
                                        
                                                5
                                                Processor
                                                 10 
                                                 5 
                                        
                                
                        
                
        



Se você não sabe o que está fazendo, recomendo não alterar as configurações do thermald. Como já disse antes, ele funciona muito bem sozinho.
Uma vez alteradas as configurações, é necessário parar o serviço e reiniciá-lo:


systemctl restart thermald

Se quiser, é possível observar interativamente o funcionamento do thermald:


sudo service thermald stop
sudo thermald --no-daemon --loglevel=debug

Divirta-se! 😉

Referências