Configurando o "Nitro Sense" no Fedora

Já faz um tempo que minha vida anda tranquila e com a mente vazia e tranquila, eu pensei: “Porquê não arranjar uma sarna pra coçar?” e com isso estou mais uma vez tentando migrar novamente para o Linux, especificamente o Fedora KDE.

Meu hardware atual é um Acer Nitro V e um dos principais recursos que ele possui no Windows é o software Nitro Sense, onde é possível definir o perfil de energia, otimização de bateria, realizar verificação da saúde dos componentes e a principal função, controlar a velocidade das Fans, que podem fazer um barulho ensurdecedor quando o notebook está entregando o seu máximo de desempenho.

Para o mundo Linux, temos um software a altura do Nitro Sense, o Div Acer Manager Max
(DAMX para os mais chegados), sendo uma opção viável para controlar o seu notebook Acer, com uma instalação relativamente fácil para a base Ubuntu (que sempre utilizei), porém, descobri que no Fedora, o buraco e um pouco mais embaixo, ao menos, se você possuir o Secure Boot ativado e se esse for seu caso, espero te ajudar com esse artigo.

Módulos do kernel, assinatura e secure boot

O kernel Linux e composto por diversos módulos e quando o assunto é Secure Boot, todos os módulos do kernel devem ser assinados para que possam ser utilizados no sistema e quando realizamos a adição de um novo módulo (como por exemplo, os drivers da NVIDIA), se o kernel não for assinado, o sistema irá ser iniciado apenas com o Nouveau, devido a falta do módulo NVIDIA assinado junto ao kernel, visto que esse módulo e reconhecido como um módulo não confiável.

Por trás dos panos, o DAMX serve como uma interface para o Linuwu-sense, um módulo que libera diversos recursos para o seu notebook Acer Predator ou Nitro e devido a algumas poucas pesquisas, graças a um outro problema que eu tive para fazer os drivers da NVIDIA subirem no fedora, o Secure Boot precisa de um kernel “assinado” e módulos externos, não fazem parte da assinatura do kernel, ao menos que você assine o kernel de forma manual.

Assinar o kernel manualmente no Linux permite executar versões personalizadas do sistema com o Secure Boot ativado, mantendo a segurança do boot. O processo utiliza chaves criptográficas registradas via MOK (mokutil) para que o sistema reconheça o kernel como confiável. Isso evita a necessidade de desativar o Secure Boot, algo importante em casos de dual boot com o Windows 11, prevenindo possíveis problemas no sistema da Microsoft.

Construindo o módulo Linuwu-sense

O procedimento a seguir, foi retirado do fórum do Fedora, sendo todos os créditos ao usuário Vladislav Grigoryev que ofertou esta solução.

Configurando o DKMS e o MOK para permitir módulos assinados no Secure Boot

O primeiro passo é configurar o DKMS no Fedora para assinar o kernel e para isso, vamos precisar de dois pacotes, o dkms e o openssl, no terminal, basta digitar o seguinte comando:

sudo dnf install dkms openssl

Após a instação, vamos utilizar o DKMS para criar uma chave pública e privada com o utilitário MOK, que será utlilizada para assinar o kernel no Secure Boot, através do seguinte comando:

sudo dkms generate_mok

Agora, vamos definir a senha a ser utilizada na chave pública com o seguinte comando. Lembre-se de guardar a senha, pois ela será solicitada no próximo Boot

sudo mokutil -i /var/lib/dkms/mok.pub

Agora, basta reiniciar o sistema, que pode ser feito com o comando:

sudo systemctl reboot

No próximo boot aparecerá a tela azul do MOK Manager, onde você deverá:

  1. Escolher “Enroll MOK”

  2. Confirmar a chave

  3. Digitar a senha criada anteriormente

Feito isso, basta reiniciar novamente seu computador para continuarmos o processo.

Instalando o módulo linuwu_sense

O primeiro passo, será instalar o git, caso o sistema ainda não tenha o mesmo, que pode ser feito através do comando:

sudo dnf install git-core

Após a instalação, vamos utilizar o seguinte comando:

sudo git clone https://github.com/0x7375646F/Linuwu-Sense \ /usr/src/linuwu-sense-git

Que irá realizar o download do módulo Linuwu-sense através do repositório oficial e colocá-lo na pasta /usr/src/linuwu-sense-git pasta essa, tradicionalmente utilizada pelo DKMS.

Após isso, vamos utilizar o seguinte comando:

sudo tee /usr/src/linuwu-sense-git/dkms.conf << EOF > /dev/null PACKAGE_NAME="linuwu-sense" PACKAGE_VERSION="git" BUILT_MODULE_NAME[0]="linuwu_sense" BUILT_MODULE_LOCATION[0]="src" DEST_MODULE_LOCATION[0]="/extra" AUTOINSTALL="yes" EOF

Esse comando cria o arquivo dkms.conf, responsável por informar ao DKMS como compilar e instalar o módulo linuwu_sense. Nele são definidos o nome e a versão do pacote, o nome do módulo gerado, a pasta onde está o código-fonte (src), o local onde o módulo será instalado no sistema e a opção AUTOINSTALL=“yes”, que faz o módulo ser recompilado automaticamente sempre que o kernel for atualizado.

Após isso, vamos realizar a instalação do módulo, com o comando:

sudo dkms install linuwu-sense/git

Ao finalizar a instalação, vamos utilizar estes dois comandos:

sudo tee /etc/modprobe.d/linuwu-sense.conf << EOF > /dev/null blacklist acer_wmi EOF 

sudo tee /etc/modules-load.d/linuwu-sense.conf << EOF > /dev/null linuwu_sense EOF

Esses comandos criam arquivos de configuração para gerenciamento de módulos do kernel. O primeiro adiciona blacklist acer_wmi, impedindo que o módulo acer_wmi seja carregado, geralmente para evitar conflitos com o módulo personalizado linuwu_sense. Já o segundo comando configura o sistema para carregar automaticamente o módulo linuwu_sense durante a inicialização do Linux.

Feito isso, basta apenas utilizar o comando:

sudo systemctl restart systemd-modules-load.service

Que irá reiniciar o serviço de carregamento de módulos do kernel, para reconhecer a nova adição.

Instalando o DAMX

Com os módulos já carregados, vamos realizar a instalação do DAMX. Para isso, vamos acessar o GitHub do projeto e neste caso, vamos utilizar o comando de instalação remota oferecido pelo projeto em seu README.

curl -fsSL https://raw.githubusercontent.com/PXDiv/Div-Acer-Manager-Max/refs/heads/main/scripts/remoteSetup.sh -o /tmp/setup.sh && sudo bash /tmp/setup.sh

Logo após, o DAMX estará instalado e pronto para funcionar em seu sistema.

Ativando o botão Nitro

Caso você queira acessar o software através do botão nitro, basta procurar o menu de atalhos de seu sistema e configurá-lo. No fedora KDE, basta acessar as configurações do sistema e na guia atalhos, clicar em adicionar novo.

Selecione a opção aplicativo e busque por DAMX.

O mesmo estará sem um atalho padrão definido, basta apenas clicar em adicionar e pressionar o botão nitro em seu teclado.

Após isso, basta apenas clicar em aplicar e o “Nitro Sense” estará configurado em seu Fedora com Secure Boot ativo.

1 curtida