Ir ao conteúdo

Algum tutorial simples de undervolting para Ryzen 7 5700X3D no Linux Mint?


Ir à solução Resolvido por Marcos FRM,

Posts recomendados

Postado

Depois de bastante tempo decidi me aventurar no linux, e escolhi o mint. A instalação foi super tranquila, o sistema roda estável e reconhece tudo o que eu queria. Achei programas equivalentes para equalização do áudio, o cad tem versão para linux, e tudo o mais só requer uma fase de adaptação.

 

Tudo exceto o undervolting. Meu pc tem um 5700x3d, e a placa-mãe não tem ajuste da curva pbo na BIOS. No windows uso o pbo2 tuner para fazer undervolting automático no boot, mas não achei algo similar no linux. Pelo menos, não tão fácil.

 

Encontrei um script feito para o 5800x3d, mas que não tem empeciho algum para funcionar exatamente igual para o 5700x3d:

 

https://github.com/svenlange2/Ryzen-5800x3d-linux-undervolting

 

O script precisa do ryzen_smu

 

https://github.com/leogx9r/ryzen_smu

 

Com requisitos, ele fala que precisa de kernel headers, gcc e make, e esses  dois últimos parecem já estar no mint. Faltou só o kernel headers

 

https://thelinuxcode.com/install-kernel-headers-linux/

 

E acho que é aí que mora o problema, pois ao tentar executar, aparece a mensagem de erro dizendo que o driver não foi carregado.

 

Sei que a regra número 1 é ler as instruções, mas mesmo assim, não tá rolando.

 

Se alguém puder ajudar, ou se tiver sugestão de um modo mais fácil de fazer o undervolt que evite toda essa volta, eu agradeço.

 

  • Membro VIP
Postado

leogx9r/ryzen_smu está descontinuado. O fork com desenvolvimento ativo é https://github.com/amkillam/ryzen_smu . Não tem como fugir de compilar o driver ryzen_smu, pois sem ele não tem como falar com a SMU do processador.

 

Com DKMS, a cada atualização do kernel, o módulo será automaticamente recompilado sem você precisar fazer manualmente:

 

https://github.com/amkillam/ryzen_smu?tab=readme-ov-file#ubuntu--debian

 

Preste a atenção que eles esqueceram de atualizar o README, pois nas instruções acima ainda está o repositório leogx9r/ryzen_smu. Substitua a segunda linha por "git clone https://github.com/amkillam/ryzen_smu.git" (sem aspas).

 

EDIT

Ah, não esqueça de configurar para o módulo ser carregado na inicialização:

 

echo ryzen_smu | sudo tee /etc/modules-load.d/ryzen_smu.conf

 

(reinicie e veja se funciona)

  • KairanD alterou o título para Algum tutorial simples de undervolting para Ryzen 7 5700X3D no Linux Mint?
Postado
Em 26/06/2025 às 15:20, Marcos FRM disse:

leogx9r/ryzen_smu está descontinuado. O fork com desenvolvimento ativo é https://github.com/amkillam/ryzen_smu . Não tem como fugir de compilar o driver ryzen_smu, pois sem ele não tem como falar com a SMU do processador.

 

Com DKMS, a cada atualização do kernel, o módulo será automaticamente recompilado sem você precisar fazer manualmente:

 

https://github.com/amkillam/ryzen_smu?tab=readme-ov-file#ubuntu--debian

 

Preste a atenção que eles esqueceram de atualizar o README, pois nas instruções acima ainda está o repositório leogx9r/ryzen_smu. Substitua a segunda linha por "git clone https://github.com/amkillam/ryzen_smu.git" (sem aspas).

 

EDIT

Ah, não esqueça de configurar para o módulo ser carregado na inicialização:

 

echo ryzen_smu | sudo tee /etc/modules-load.d/ryzen_smu.conf

 

(reinicie e veja se funciona)

 

Realmente está complicado. Refiz a instalação com o fork do amkillam, a entrada do ryzen_smu está no modules-load.d, mas o módulo não inicia de modo algum. Estava vendo o método de instalação stand alone, e nessa situação o módulo requer uma assinatura para iniciar, ou então eu desativo o secure boot na BIOS. Desabilitei e nada também. 

Postado

Pelo visto existe, o modinfo ryzen_smu mostra a seguinte saída: 

 

~$ modinfo ryzen_smu
filename:       /lib/modules/6.8.0-63-generic/updates/dkms/ryzen_smu.ko.zst
license:        GPL
version:        0.1.7
description:    AMD Ryzen SMU Command Driver
author:         Leonardo Gates <leogatesx9r@protonmail.com>
srcversion:     7E6DEBA54E2B39748C71992
alias:          pci:v00001022d000014F8sv*sd*bc*sc*i*
alias:          pci:v00001022d000014BBsv*sd*bc*sc*i*
alias:          pci:v00001022d000014E8sv*sd*bc*sc*i*
alias:          pci:v00001022d000014D8sv*sd*bc*sc*i*
alias:          pci:v00001022d000014B5sv*sd*bc*sc*i*
alias:          pci:v00001022d000014A4sv*sd*bc*sc*i*
alias:          pci:v00001022d000014B5sv*sd*bc*sc*i*
alias:          pci:v00001022d00001122sv*sd*bc*sc*i*
alias:          pci:v00001022d00001507sv*sd*bc*sc*i*
alias:          pci:v00001022d0000153Asv*sd*bc*sc*i*
alias:          pci:v00001022d00001630sv*sd*bc*sc*i*
alias:          pci:v00001022d00001480sv*sd*bc*sc*i*
alias:          pci:v00001022d000015D0sv*sd*bc*sc*i*
alias:          pci:v00001022d00001450sv*sd*bc*sc*i*
depends:        
retpoline:      Y
name:           ryzen_smu
vermagic:       6.8.0-63-generic SMP preempt mod_unload modversions 
sig_id:         PKCS#7
signer:         localhost.localdomain Secure Boot Module Signature key
sig_key:        30:67:43:11:6F:B0:29:C3:03:1B:6F:58:0F:A5:87:43:2E:99:3E:7B
sig_hashalgo:   sha512
signature:      03:86:32:7E:14:0E:54:1D:BE:3F:72:98:D3:9E:21:FE:96:52:11:EE:
        D4:11:FE:4B:60:B9:1B:D7:F5:B5:27:E6:70:18:15:3C:EA:B3:B4:91:
        5A:76:CB:90:36:97:74:B2:F0:AD:DE:8E:BB:4E:08:22:2B:BC:3F:13:
        A1:D6:59:EB:82:FF:E3:60:1E:F9:C0:80:B1:E4:1C:62:79:1B:2C:09:
        D5:C3:A3:18:D8:47:74:E3:70:86:0A:74:95:F1:5E:D8:C5:A6:3C:19:
        68:B9:78:A3:A0:95:92:9E:5D:9A:7D:51:B6:7B:42:C4:EE:26:6C:16:
        2C:88:36:E0:42:03:40:68:C4:BD:98:9A:A5:5E:0B:5A:52:85:7F:57:
        33:DD:B0:32:8C:45:30:BE:C4:B1:DB:89:62:28:8E:04:DB:7C:D8:A0:
        07:65:03:95:15:23:6A:BD:52:4A:45:44:4E:30:E0:86:3C:49:83:F5:
        ED:77:D8:86:C8:5D:8B:89:46:09:F8:97:EE:4C:B2:84:BA:1B:4A:23:
        53:05:0F:72:B9:7F:FC:00:AE:87:B6:12:86:CE:94:E5:94:0E:78:24:
        E4:75:6F:02:15:B3:6A:60:58:F3:E7:FA:C6:DA:5F:4D:B5:BA:91:0C:
        21:91:4D:83:CC:AD:A5:80:FC:9F:F5:34:C6:41:FB:3C
parm:           smu_timeout_attempts:When executing an SMU command, the driver will retry this many times before considering a command to have timed out. Default: 8192 (uint)

 

Acho esquisito, ele contnua referenciando o leogx9r, mas eu não duvidaria se, assim como eles esqueceram de mudar o readme, também esqueceram de mudar os dados dentro do módulo. O versionamento é coerente, o mais recente parece ser de fato o 0.1.7,

 

Se eu executo lsmod ou dmesg | grep ryzen_smu, ambos não retornam nada. 

  • Membro VIP
Postado

O autor é preservado, isso é praxe. No máximo deveriam adicionar mais nomes, mas não devem se importar muito com tais detalhes. Estou numa máquina virtual aqui (Fedora 42) e ele carrega mesmo sem uma CPU Ryzen:

 

$ sudo make dkms-install
$ sudo modprobe ryzen_smu
$ lsmod | grep ryzen_smu
ryzen_smu              45056  0


Tente usar o modprobe como feito acima. Vá que o arquivo em /etc/modules-load.d tenha ficado com algum problema.

Postado
~/ryzen_smu$ sudo make dkms-install
mkdir -p /usr/src/ryzen_smu-0.1.6
cp /home/default/ryzen_smu/dkms.conf /usr/src/ryzen_smu-0.1.6
cp /home/default/ryzen_smu/Makefile /usr/src/ryzen_smu-0.1.6
cp /home/default/ryzen_smu/*.c /usr/src/ryzen_smu-0.1.6
cp /home/default/ryzen_smu/*.h /usr/src/ryzen_smu-0.1.6
sed -e "s/@CFLGS@//" \
    -e "s/@VERSION@/0.1.6/" \
    -i /usr/src/ryzen_smu-0.1.6/dkms.conf
dkms add ryzen_smu/0.1.6
Error! DKMS tree already contains: ryzen_smu-0.1.6
You cannot add the same module/version combo more than once.
make: *** [Makefile:42: dkms-install] Error 3


 

~/ryzen_smu$ sudo modprobe ryzen_smu
modprobe: ERROR: could not insert 'ryzen_smu': Key was rejected by service

 

Está complicado. Esse "key rejected" foi o que me fez pensar ter alguma coisa a ver com um módulo não assinado digitalmente, daí precisar desativar o secureboot e afins, mas o modinfo mostra que esse também não é o problema, posso star entendendo errado.

Aliás, essa já é a segunda tentativa. Desde o post inicial eu já reinstalei completamente o SO, pra evitar que a tentativa de instalar a versão deprecada do ryzen_smu interferisse. 

  • Membro VIP
  • Solução
Postado

Rode

 

sudo dkms remove ryzen_smu/0.1.6 --all

 

e recomece com o código do amkillam/ryzen_smu.

 

Esqueceram (link ?) de sincronizar a versão no Makefile, por isso o DKMS acha que é 0.1.6.

 

EDIT

@strider16 Tem certeza que desativou o secure boot?

Postado

... e parece que era mesmo o secure boot 😛

A nomenclatura nas placas ASUS é estranha, mas resolveu, e a partir daí o script de undervolting também deu certo!

 

A próxima etapa vai ser o corectrl pra gpu, espero que seja mais fácil.


TKS!!

  • Membro VIP
Postado

Se você quiser tentar fazer funcionar com Secure Boot ativo, precisa adicionar ao MOK o certificado criado pelo DKMS:

 

$ sudo mokutil --import /var/lib/dkms/mok.pub

 

Eu acho que o caminho é /var/lib/dkms/mok.pub independente da distribuição (é o arquivo .pub, não o .key). Não existindo, confira na saída de "dkms generate_mok", em "Public certificate (MOK):".

 

Depois reiniciar. Antes do GRUB ser carregado, o MOK Manager aparecerá. Ali, pressione qualquer tecla, vá em "Enroll MOK -> Continue -> Yes" e digite a senha criada na invocação de mokutil (uma senha qualquer temporária). Por fim, "Reboot".

 

No Linux de novo, rode para conferir:

 

$ mokutil --list-enrolled
2bb010e24d fedoraca
e9ae780dc9 DKMS module signing key    <------- este

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!