Gestão de bateria Windows e distribuições linux

“Sobre a gestão de bateria entre o Windows 11 e as distribuições Linux, especialmente o Ubuntu 23.10, tenho observado que, ao executar o Ubuntu, a bateria se esgota rapidamente. Suspeito que a gestão de energia no Windows seja mais eficiente. Alguém pode confirmar essa situação? E, caso seja verdade, existem maneiras de mitigar esse problema?”

2 curtidas

Geralmente usando TLP da pra melhorar o consumo, mas a nível windows não, as fabricantes colocam ajustam essa parte na tabela ACPI de maneira muito automática e no Linux isso e genérica e quase impossível bater o mesmo tempo do windows mas com muito ajuste e possível

No Ubuntu instalando o TLP essa questão melhora bastante. O TLP faz alguns ajustes para que tenha uma economia de bateria: TLP - Optimize Linux Laptop Battery Life — TLP 1.6 documentation

Geralmente, o TLP é instalar e esquecer que ele existe. Por padrão ele já consegue economizar bastante bateria. Mas claro que tem como fazer alguns ajustes finos nele para que se economize ainda mais bateria.

Claro, há também o Powertop, que é por onde se pode ver o que está drenando a bateria.

1 curtida

Na maioria das distros, que eu me lembre, precisa ativar com systemctl enable tlp.service ou ele não funciona direito.

Dito isso, notebooks da samsung tem uma compatibilidade muito boa com linux.

Na época em que eu usava windows 10 a bateria durava por volta de 3 horas e logo quando eu comecei a usar linux eu percebi uma melhora de quase uma hora. Por outro lado, eu não percebo diferença no dreno da bateria usando tlp, MAS o notebook fica mais silencioso.

Olá!

Essa questão é ainda motivo de desagrado para donos de notebooks… porém não é um problema que pode ser colocado na conta do LINUX. Não, não…

Sendo bem direto o Windows é um produto comercial que embarca zilhões de tecnologias proprietárias, e entre elas especificamente há diversas otimizações em baixo nível para gestão de baterias em que no acordo comercial a Microsoft tem acesso aos devkit básicos de fabricantes permitindo assim, para além do próprio Windows/Kernel NT, melhor gestão do fluxo de energia no notebook. Daí se vê em marcas mais conhecidas como Dell, Asus, Lenovo, Acer os utilitários e até os bloats que atuam em questões como essas frente a suporte de hardware.

Do outro lado temo o “Linux” que cumpre excelentemente su papel em gestão de periféricos naquilo que há dentro da árvore de dispositivos reconhecidos e controláveis. E isso se deve na grande parte por comunidades e engenheiros que fazem engenharia reversa junto a documentação “capada” em que fabricantes apresentam o mínimo da especificação técnica de manuseio em baixo nível de seus equipamentos. Raras exceções começamos a ver vendors/montadoras como a System76, Tuxedo ( e aos poucos Lenovo e Dell começando a entregar melhor parte de dev kits dos fabricantes dos períféricos) mostrando que em Linux é tão viável quanto em Windows fazer essa gestão se tiver apoio.

Dito isto, n os mais recentes patchs no Kernel estão também trazendo melhorias significativas no power profiles e management dado que além de baterias o controle em nível de hardware do P-states, cores performance, cores “econômicos” e outras estão mais transparentes para que o espaço do usuário usufrua uma vez que o Kernel já consegue manipular. Isso veio porque a Intel e AMD decidiram apoiar. No caso AMD por exemplo, só depois do kernel 6.5 que veio esse controle que a Intel já tinha há anos. Enfim, aliado isso a outro módulos que controlam baterias ai sim vai se chegando na autonomia que o Windows tem. Por hora é preciso contar com esses apps bons TLP, Powertop e similares que fazem uma “gestão induzida”, mas na medida em que melhores relações na cadeia de fabricante, distribuidor e formato de consumo permitir teremos melhorias.

A conversa sobre isso é bem ampla.
Uma parceria como a Qualcomm e Canonical pode ajudar dar um bom pontapé nesse cenário, dado que um notebook ARM com os drivers suportados pelo fabricante, em Linux, a autonomia tende a ser super dahora.

Resumindo muito, é só pensar Android e os bilhões de smartphones, todos usam kernel Linux, mas são devidamente suportados pelos fabricantes e vendors com seus drivers proprietários também, a eficiência da bateria é bem boa, certo? Produto comercial.

1 curtida

O Linux não tem problemas de gestão de bateria. O que ocorre são limitações específicas, não necessariamente associadas ao desenvolvimento do Linux, que acabam afetando número considerável de usuários.

Primeiramente, boa parte dos laptops têm chip gráfico dedicado da Nvidia e, especialmente no segmento de entrada, esses chips tendem a ser defasados. Esse fato é uma das principais causas de superaquecimento e duração de bateria reduzida no Linux. Isso porque qualquer chip Nvidia anterior a Turing (RTX 2000) tem gerenciamento de energia porco ou inexistente, mesmo com o driver proprietário. E isso não é culpa do Linux, mas da Nvidia e de seu comportamento anti-consumidor.

Para você ter ideia, a primeira coisa que faço ao instalar qualquer distro no meu laptop de trabalho é desabilitar totalmente a Nvidia GeForce GT 740M ali presente. O computador esquenta muito menos e a duração da bateria chega a dobrar (ou até triplicar, a depender da atividade). Este guia mostra o passo a passo para “cortar o mal pela raiz”, desabilitando até mesmo a comunicação PCI-E do chip: GitHub - bayasdev/nvidia-gpu-off: The definitive guide to completely turn off your Nvidia dedicated GPU on Optimus laptops running Linux. Apenas isso realmente resolve. A duração da bateria fica semelhante àquela obtida no Windows.

Outro ponto relevante é a falta de aceleração por hardware para determinadas tarefas em browsers no Linux. E isso afeta grande parte dos computadores (e a Nvidia também tende a atrapalhar nesse ponto). Por exemplo, se a decodificação de vídeos não for feita pelo chip gráfico, será feita pelo processador, e com isso mesmo tarefas “simples” como assistir a vídeos do YouTube podem conduzir a elevado uso de CPU.

Enfim, muitas variáveis interferem nisso, e o debate é extenso. Mas, se seu laptop tiver GPU Nvidia, você já encontrou a principal causa do problema.

De fato, a duração da bateria é um problema significativo no universo Linux. Deixei meu Lenovo com o Fedora 40 ligado e sem nenhum programa em execução em segundo plano. Às 13h, fechei a tampa com a bateria carregada em 100%. Às 16h40, ao abrir a tampa para retomar o trabalho, a bateria estava completamente descarregada. Será que existe alguma configuração que eu deveria ajustar?

Bom, normalmente a única coisa que faço quanto a bateria é instalar o TLP e o Powertop.
O TLP ele faz algumas configurações para economizar mais bateria no sistema e o Powertop permite que você verifique o que está consumindo mais bateria.

Outra coisa é verificar se o Notebook continua ligado ao fechar a tampa. Se continua ligado, configurar para suspender, vai fazer o notebook consumir menos bateria.

E claro, é bom verificar a saúde da bateria.

1 curtida

Eu sigo essas duas dicas que encontrei num Github:
Desligar o bluetooth quando não estiver usando
Instalar o powertop e rodar o comando:

sudo powertop --auto-tune
sudo powertop --calibrate

a tela vai ficar piscando por um tempo, subindo e descendo o brilho.

Muito obrigado pelas dicas. Estou implementando-as no Fedora 40.

Ótimas dicas. A autonomia se tornou compatível ou até melhor quando utilizava o Windows.

1 curtida

Apenas um detalhe de que algumas distros por padrão apenas suspende o notebook quando fecha a tampa. E a suspensão consome ainda um pouco de bateria, pois a memória RAM ainda precisa ficar ativa para os dados ficarem salvos.

Tem a opção da Hibernação, mas não sei quais distros deixam a hibernação ativada por padrão e como ativa isso no Linux.

A julgar pelo que eu li na wiki do arch o correto na seria rodar o calibrate primeiro antes do auto-tune? Nessa ordem sua eu acho que ele não teria efeito prático.

Tem o “power-profiles-daemon”, mas ou você usa o power-profiles-daemon ou vc usa o TLP os dois juntos não funfa.