On my dual monitor system 2x HDMI screens with RX580 - setting the ppfeaturemask to
0xfffd7fff causes a serious problem.
The GPU starts at it’s base clocks of 300Mhz Core and memory and it seems that there is something bad relating to the VSync / blanking interval in the AMDGPU code.
I get green artefacting horizontal lines flashing down both monitors AND these lines are in sync with each other across both screens.
I’ve tired to capture it - but it’s rather difficult.
I also have
amdgpu.dc=1 amdgpu.dpm=1 set, these on their own without the featuremask cause no issues. I am running a 4.19.4 linux kernel.
Overall however there is an issue that has persisted for some time.
During idle the amdgpu code forces my RX580 into a higher power state than needed - that means the memory clock is pushed to 2000Mhz always, the VCore is pushed to 0.95V and the Core jumps all over the place - completely unnecessarily - additionally the PCI-e slot very rarely goes into power saving state and always runs at full speed. This is a problem that does not occur on windows.
Overall this leads to substantial power consumption increases. At idle I measure 180W via my UPS. Granted this is a very beefy workstation system with lots of disks and monitors also attached to the UPS. But by manually downclocking the GPU to it’s 300Mhz idle state (artifacting present) or unplugging the second screen, it idles at between 112W -128W - the same as Windows does.
ROCM output below
======================== ROCm System Management Interface ========================
GPU Temp AvgPwr SCLK MCLK PCLK Fan Perf PwrCap SCLK OD MCLK OD GPU%
0 38.0c 36.122W 900Mhz 2000Mhz 8.0GT/s, x16 31.76% auto 145.0W 0% 0% 0%
1 30.0c 28.102W 300Mhz 300Mhz 2.5GT/s, x8 31.76% auto 145.0W 0% 0% 0%
======================== End of ROCm SMI Log ========================
Any ideas what’s happening? Bad DC code with memory and vsync handling somewhere in amdgpu codebase?
This looks like I need to make a kernel bug report.
And I know it worked in the past - since I’ve previously made my own overclocking bash script.