Core Voltage Not Accepting Undervolt When Using Dual Monitors
Brief summary of the problem:
To get the best performance out of my Vega 64 I have to do the undervolt/overclock. I'm using CoreCtrl to modify the clocks and voltages. I have a undervolt of P7 to 1035mV instead of the stock 1200mV. I noticed that when I have both my monitors connected the core voltage is stuck at 1200mV no matter what I'm doing. The only way to reset the voltage is to unplug my second monitor. Once I plug in the second monitor the voltage rises back to 1200mV and the core clock never goes below P3. No matter what I set for the P7 core voltage it is always at the default of 1200mV. This behavior ruins the UV/OC that is needed for Vega 64.
Hardware description:
- CPU: Intel i5-11600k
- GPU: AMD Vega 64 Reference Design
- System Memory: 16GB
- Display(s): (1): 1440p 165 Hz, (2): 1440p 60 Hz
- Type of Display Connection: (1): DP, (2): HDMI
System information:
- Distro name and Version: Manjaro
- Kernel version: Linux anthony-desktop 5.19.7-1-MANJARO SMP PREEMPT_DYNAMIC Mon Sep 5 10:16:57 UTC 2022 x86_64 GNU/Linux
- Custom kernel: NA
- AMD official driver version: Latest kernel version
- Wayland
How to reproduce the issue:
Have both monitors connected, both at max resolution of 1440p and at their max refresh rate. Read cat /sys/kernel/debug/dri/0/amdgpu_pm_info / look at CoreCtrl Unplug second monitor Read cat /sys/kernel/debug/dri/0/amdgpu_pm_info / look at CoreCtrl Replug in the second monitor Read cat /sys/kernel/debug/dri/0/amdgpu_pm_info / look at CoreCtrl Verify that the UV/OC was still applied (Read /sys/class/drm/card0/device/pp_od_clk_voltage)
Attached files:
Logs:
Reading /sys/class/drm/card0/device/pp_od_clk_voltage after replugging the second monitor the UV/OC is still applied in the driver
OD_SCLK:
0: 852Mhz 800mV
1: 991Mhz 900mV
2: 1084Mhz 950mV
3: 1138Mhz 950mV
4: 1200Mhz 975mV
5: 1401Mhz 980mV
6: 1536Mhz 1000mV
7: 1600Mhz 1035mV
OD_MCLK:
0: 167Mhz 800mV
1: 500Mhz 800mV
2: 800Mhz 950mV
3: 1100Mhz 1000mV
OD_RANGE:
SCLK: 852MHz 2400MHz
MCLK: 167MHz 1500MHz
VDDC: 800mV 1200mV