ilya-zlobintsev / LACT

Linux GPU Configuration Tool
MIT License
1.45k stars 34 forks source link

Vega 64 - Voltage not applying after PC restart #339

Closed Covin90 closed 3 months ago

Covin90 commented 5 months ago

Checklist

Bug description

Hello,

There's an issue on my machine with changing the voltage value, if I change the voltage and I restart the pc the voltage value is gonna be reverted to the default one 1.2v, the only way to fix this temporarely is to do these steps:

1 - Revert all the values to default 2 - Restart the pc 3 - Apply the new voltage value

In this case the new GPU voltage value is gonna be applied, but the moment I need to restart the pc then the same problem will arise.

Screenshot from 2024-06-06 22-42-35

LACT-sysfs-snapshot-20240606-223901.tar.gz

I've attached a screenshot and the debug snapshot as well,

Thank you

System info

- LACT version: lact-libadwaita 0.5.4-2
- GPU model: AMD Radeon RX Vega 64
- Kernel version: Linux PC-archlinux 6.9.3-arch1-1 #1 SMP PREEMPT_DYNAMIC Fri, 31 May 2024 15:14:45 +0000 x86_64 GNU/Linux
- Distribution: Arch Linux
ilya-zlobintsev commented 5 months ago

After the system boots and the voltage value is not applied, can you try restarting the service (sudo systemctl restart lactd) - does it change anything?

I'm also unable to reproduce this on a Vega 56.

Covin90 commented 5 months ago

I tried to issue the command but it doesn't change the behavior, the voltage is still locked at 1.2v even though I've set 1.1v in the app.

This is a screenshot right after the pc booted,

Screenshot from 2024-06-07 11-13-43

This one instead after I run and close a game, it seems like the voltage and memory clock value gets locked at the highest power state.

Screenshot from 2024-06-07 11-18-23

ilya-zlobintsev commented 5 months ago

Hmm, it looks like the voltage is actually configured (as you can see in the sliders - those show the value from the GPU, not just what you've configured it to before), but the problem is that the GPU doesn't always use this voltage.

LACT does not control specifically what voltage the GPU runs on, it just sets the voltage values at the appropriate p-states, and then the GPU clocks itself according to those p-states. So I'm afraid this is a GPU firmware issue, and there's not much that can be done on LACT's side.

You can also try changing the performance level or disabling certain power states to see if it changes this behaviour.

mbrowars commented 4 months ago

Same problem exists on my vega56. image

But in addition the voltage isnt changed at all even after i try to reapply the setting.

It worked some versions before but im unable to tell at which version this behaviour started.

As it turns out the p-states might be set correctly..
image

ilya-zlobintsev commented 4 months ago

@mbrowars could you be more specific which version you're currently running, and with which version it worked before?

mbrowars commented 4 months ago

@ilya-zlobintsev Im sorry but I wasnt able to find a hint for the last working version. As it turns out it was enough to delete the the /etc/lact/config.yaml and reinstall the tool. Now everything works fine again. I might have messed things up in the config.