Corectrl/lact voltage controls unavailable

I have a Radeon 7800 XT and would like to undervolt it. I've tried both corectrl/lact and both only have access to power modes, power limit, and clocks. I have the amdgpu.ppfeaturemask=0xffffffff kernel flag set, and was able to undervolt in windows. Any ideas? I'm sure I'm missing something obvious.
Solution:
Hello I have 7800XT too and undervolting is only going to be supported in kernel 6.7. Then we will need to wait a bit for CoreCtl or Lact to take advantage of the new kernel.
Jump to solution
24 Replies
Icy
IcyOP12mo ago
Hoping someone may have an idea
CoreCtrl v1.3.8

==== Software ====
Kernel version: 6.6.9
Mesa version: 23.3.1

==== [GPU 0] ====
BIOS version: 113-EXT90506-100
Device: Navi 32
Device ID: 747E
Device model ID: 7801
Driver: amdgpu
Memory: 16368 MB
OpenGL version (compat): 4.6
OpenGL version (core): 4.6
PCI Slot: 0000:0c:00.0
Revision: C8
Unique ID: 0DD2119AF71E7390
Vendor: Advanced Micro Devices, Inc.
Vendor ID: 1002
Vendor model ID: 1EAE
Vulkan API version: 4206859

==== AMD Ryzen 5 2600 Six-Core Processor [CPU 0] ====
Architecture: x86_64
Bogomips: 6800.02
Bugs: sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypass retbleed smt_rsb srso div0
Byte order: Little Endian
CPU Family: 23
Cores: 6
Execution units: 12
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb hw_pstate ssbd ibpb vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 clzero irperf xsaveerptr arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif overflow_recov succor smca sev sev_es
L1 cache (data): 192 KiB (6 instances)
L1 cache (instructions): 384 KiB (6 instances)
L2 cache: 3 MiB (6 instances)
L3 cache: 512 KB
Microcode version: 0x800820d
Model: 8
Model Name: AMD Ryzen 5 2600 Six-Core Processor
Operation modes: 32-bit, 64-bit
Stepping: 2
Vendor ID: AuthenticAMD
Virtualization: AMD-V
CoreCtrl v1.3.8

==== Software ====
Kernel version: 6.6.9
Mesa version: 23.3.1

==== [GPU 0] ====
BIOS version: 113-EXT90506-100
Device: Navi 32
Device ID: 747E
Device model ID: 7801
Driver: amdgpu
Memory: 16368 MB
OpenGL version (compat): 4.6
OpenGL version (core): 4.6
PCI Slot: 0000:0c:00.0
Revision: C8
Unique ID: 0DD2119AF71E7390
Vendor: Advanced Micro Devices, Inc.
Vendor ID: 1002
Vendor model ID: 1EAE
Vulkan API version: 4206859

==== AMD Ryzen 5 2600 Six-Core Processor [CPU 0] ====
Architecture: x86_64
Bogomips: 6800.02
Bugs: sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypass retbleed smt_rsb srso div0
Byte order: Little Endian
CPU Family: 23
Cores: 6
Execution units: 12
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb hw_pstate ssbd ibpb vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 clzero irperf xsaveerptr arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif overflow_recov succor smca sev sev_es
L1 cache (data): 192 KiB (6 instances)
L1 cache (instructions): 384 KiB (6 instances)
L2 cache: 3 MiB (6 instances)
L3 cache: 512 KB
Microcode version: 0x800820d
Model: 8
Model Name: AMD Ryzen 5 2600 Six-Core Processor
Operation modes: 32-bit, 64-bit
Stepping: 2
Vendor ID: AuthenticAMD
Virtualization: AMD-V
No description
No description
HikariKnight
HikariKnight12mo ago
does the kernel argument actually show up in rpm-ostree kargs?
Icy
IcyOP12mo ago
xuerian@core:/var/home/xuerian$ rpm-ostree kargs
rd.driver.blacklist=nouveau modprobe.blacklist=nouveau nvidia-drm.modeset=1 rd.luks.options=discard resume=UUID=04f38788-df5b-4894-9545-34263013756d rhgb quiet root=UUID=4aaaffd4-3b6c-4cfb-9ad1-0a0a1af9df55 rw ostree=/ostree/boot.1/default/0525a55fb0cae0b3c75180c1a794d97a396a841f0e30622ed5dc8e7e25c8e26e/0 amdgpu.ppfeaturemask=0xffffffff amdgpu.ppfeaturemask=0xffffffff
xuerian@core:/var/home/xuerian$ rpm-ostree kargs
rd.driver.blacklist=nouveau modprobe.blacklist=nouveau nvidia-drm.modeset=1 rd.luks.options=discard resume=UUID=04f38788-df5b-4894-9545-34263013756d rhgb quiet root=UUID=4aaaffd4-3b6c-4cfb-9ad1-0a0a1af9df55 rw ostree=/ostree/boot.1/default/0525a55fb0cae0b3c75180c1a794d97a396a841f0e30622ed5dc8e7e25c8e26e/0 amdgpu.ppfeaturemask=0xffffffff amdgpu.ppfeaturemask=0xffffffff
Twice, apparently.
HikariKnight
HikariKnight12mo ago
lets probe it what features of the feature mask it actually supports printf 'amdgpu.ppfeaturemask=0x%x\n' "$(($(cat /sys/module/amdgpu/parameters/ppfeaturemask)))"
Icy
IcyOP12mo ago
xuerian@core:/var/home/xuerian$ cat /sys/module/amdgpu/parameters/ppfeaturemask
0xffffffff
xuerian@core:/var/home/xuerian$ cat /sys/module/amdgpu/parameters/ppfeaturemask
0xffffffff
HikariKnight
HikariKnight12mo ago
as setting all of them to f is generally not a good idea if the card doesnt support said function
Icy
IcyOP12mo ago
amdgpu.ppfeaturemask=0xffffffff as the formatted version.
HikariKnight
HikariKnight12mo ago
then its weird that it does not work corectrl is layered right?
Icy
IcyOP12mo ago
Yeah
xuerian@core:/var/home/xuerian$ rpm-ostree status
State: idle
Deployments:
● ostree-image-signed:docker://ghcr.io/ublue-os/bazzite:testing
Digest: sha256:993f2f8bfe02849875e98fb3d5cad5ca4e66a223db3a568956c53bc1dfd34890
Timestamp: 2024-01-07T18:55:04Z
LayeredPackages: corectrl
LocalPackages: lact-0.5.0-0.x86_64
Initramfs: '"-I /etc/crypttab /etc/modprobe.d/amdgpu.conf"'
xuerian@core:/var/home/xuerian$ rpm-ostree status
State: idle
Deployments:
● ostree-image-signed:docker://ghcr.io/ublue-os/bazzite:testing
Digest: sha256:993f2f8bfe02849875e98fb3d5cad5ca4e66a223db3a568956c53bc1dfd34890
Timestamp: 2024-01-07T18:55:04Z
LayeredPackages: corectrl
LocalPackages: lact-0.5.0-0.x86_64
Initramfs: '"-I /etc/crypttab /etc/modprobe.d/amdgpu.conf"'
HikariKnight
HikariKnight12mo ago
not really sure why it does not work then my rx6600 XT has the options
Icy
IcyOP12mo ago
Well, I do appreciate you sanity checking me
HikariKnight
HikariKnight12mo ago
i would remove the duplicate entry though at least
Icy
IcyOP12mo ago
Yeah, trying that now.
HikariKnight
HikariKnight12mo ago
i have to head off now though as it is late we use rpm-ostree kargs --append-if-missing= when we add kargs as that will avoid duplicates 🙂 so maybe worth adding with that once you have removed the feature masks i will check back in the thread if there is any new info when i get on the pc tomorrow
Icy
IcyOP12mo ago
Yeah, tbh I'm not sure how I added them and got two initially. I'm removing it via --editor. And good luck with the new build! 🙂
HikariKnight
HikariKnight12mo ago
which build? it is just late and i am going to bed haha
Icy
IcyOP12mo ago
Ah. My brain somehow got "when I [..] new pc tomorrow"
HikariKnight
HikariKnight12mo ago
ah
Icy
IcyOP12mo ago
🤷
HikariKnight
HikariKnight12mo ago
the new htpc was built months ago, so lets just say you were late with the good luck 😛 think i built it in the end of november but thanks 😄
Kyle Gospo
Kyle Gospo12mo ago
This works for me on a 6900 xt Same ppu setting
Icy
IcyOP12mo ago
rd.driver.blacklist=nouveau modprobe.blacklist=nouveau nvidia-drm.modeset=1 rd.luks.options=discard resume=UUID=04f38788-df5b-4894-9545-34263013756d rhgb quiet root=UUID=4aaaffd4-3b6c-4cfb-9ad1-0a0a1af9df55 rw amdgpu.ppfeaturemask=0xffffffff ostree=/ostree/boot.0/default/0525a55fb0cae0b3c75180c1a794d97a396a841f0e30622ed5dc8e7e25c8e26e/0
rd.driver.blacklist=nouveau modprobe.blacklist=nouveau nvidia-drm.modeset=1 rd.luks.options=discard resume=UUID=04f38788-df5b-4894-9545-34263013756d rhgb quiet root=UUID=4aaaffd4-3b6c-4cfb-9ad1-0a0a1af9df55 rw amdgpu.ppfeaturemask=0xffffffff ostree=/ostree/boot.0/default/0525a55fb0cae0b3c75180c1a794d97a396a841f0e30622ed5dc8e7e25c8e26e/0
didn't seem to make a difference. Whelp. Also, I have a 7800XT, I'm not sure how I ended up writing a 5700 😐
Solution
SUN·RA
SUN·RA12mo ago
Hello I have 7800XT too and undervolting is only going to be supported in kernel 6.7. Then we will need to wait a bit for CoreCtl or Lact to take advantage of the new kernel.
Icy
IcyOP12mo ago
Oh, glad to know I’m not crazy. Thanks!
Want results from more Discord servers?
Add your server