[Solved] AMD GPU fans spin down with Lutris

Hi,

I’ve got a Sapphire Pulse RX 580 card in my linux box, for some reason the GPU fans will slightly increase in rpm when I start playing something in Lutris, they will then spin down to idle speed (~780rpm) and not change again, irrespective the load or temperature on the GPU.

The card works perfectly fine when stress testing with Valley benchmark in Linux. The fans will ramp up to about 1,700 rpm when the GPU hits 50 degrees C and then slow down again. Fans respond to load and temps during the whole benchmark, this is normal behavior. The card also works as expected in my MacPro or under Windows in the same linux box (tested last night). So the card is not faulty.

In Lutris, if I play WoW / GW2 the card temps will ramp up to 85-95 degrees C and the fans will stay at ~780 rpm. I’ve tried and tested this now on the latest PoP_OS! release, Debian 10 (4.19) and Debian 11 Testing (5.11), all with the same results. I’ve also tried Wine (5.0), Wine Staging and the same happens. Under Debian I’m running the firmware-amd-graphics package, PoP has the driver baked into the kernel. All Vulkan libs installed as well. I haven’t tried another distro such as Manjaro yet, I will give that a go. I’ve not tested under Steam yet as I don’t have any steam games, but I’ll see if I can test that later.

Standard DXVK shipping with Lutris, I’ve also tried 'doitsujin’s DXVK builds, same results. I’ve tried various Lutris settings relating to graphics, no change. I’m thinking there is something else I’m not seeing / doing? I can’t understand how the card will work while running the Valley benchmark and then act completely different in the same environment under Lutris?

Other system specs.

H97 chipset mobo (yes, slightly older)
Xeon 3.1Ghz CPU
16GB ram
No other peripherals.

Thanks.

have you tried running the windows version of the valley benchmark using wine?

might be helpful to get an apples to apples comparison.

also, if you have a steam account, might be worth seeing if you have any games to try native vs proton on, that could rule out a lutris specific issue

i’m not sure if you’re referring to your system wine version or the lutris runner wine versions when you mention having “tried” 5.0 and staging. if you haven’t installed the lutris 6.0 wine runner yet and tried that it’s worth a shot.

Thank you for your reply and suggestions.

OK, so I’ve run the Windows version in Lutris and compared that to the Linux executable. In order to compare like for like I had to switch to Gnome on XOrg as Gnome Wayland locks the refresh rate on Lutris/Win to 60fps. Both running 1920x1200 full screen, Direct X11 no vsync.

Native Linux - tops out at 65 degrees C and during that time the fan speed is ~1,450rpm.
Lutris/Win exe - tops out at 63 degrees C and fan speed is ~1,350 rpm.

So the above seems to be in order and pretty much hits the correct fan curve.

For a test in WoW patch 9.05, I now get the following various results depending on which version of DirectX I’m using.

DX11 Legacy 63 dC @1250 rpm (game is pretty much a slideshow as it stutters)
DX11 63 dC @ 1150 rpm (as above)
DX12 66 dC @ 970-1000 rpm (great gameplay, smooth)

So somewhere something is not happy in-game. However, this is better than the ~780 rpms I’m getting, still not trustworthy though for a 3 hour raid!

This all, unfortunately for comparison sake, is not on the Debian based installs I had, this is on a fresh updated Manjaro install.

In terms of which wine version, I’m running the default Lutris-6.0 version for these tests.

Can I ask what DXVK version you are running? With my Sapphire Pulse rx 580 8gb I needed to use CORECTRL to set a custom fan profile as the default fan speeds were a little on the low side and my card would rapidly overheat in any BfA raid. Haven’t raided in Shadowlands and sold my card to move to a rx 5600 xt (issues with dx12 on this).

sounds like messing with the fan curves might help

check out radeon profile or amdgpu-fan or corectrl

suggestions taken from this reddit thread

1 Like

Thanks both, I’ll go back to my Debian Testing build and run one of the scripts then to see how I can keep the card temps down. Windows for me is an ultimate last resort. I was hoping the driver would just deal with fan curves irrespective of application.

@jhu I’ve tried 1.6, 1.7 and the latest default shipping with Lutris, ~1.8. I’ve also tried ‘doitsojin’ dxvk builds. https://github.com/doitsujin/dxvk/releases?after=v0.95

Dx12 in WoW removes all the jerky ‘compiling Shaders’ issues, the only remaining issue I have is SSAO still leaves banding across the screen, but I just turn it off.

1 Like

Yeah I need to use the ASSAO for Ambient Inclusions and dial back the SSAO to get good images on the rx 580, but play is so much smoother than dx11.

Well that is interesting…

Game is unplayable with SSAO disabled, but at high or good (the 2 settings where I needed it to play on my rx 580), so far (touch wood) I have not had any issues with the RADV driver and my fps with Graphics Quality 10 (less the SSAO) has been pretty stable at 75 even in Isle of Conquest and Ashran (low was 60).

Nope gpu crash with SSAO disabled. I was using Auto for the Vulkan ICD Loader, and with both AMDVLK and RADV installed, it seemed to be defaulting to AMDVLK. In WoW, I selected the RADV ACO graphics card explicitly. Performance seems to closer to the AMDVLK driver so I tried explicitly select radeon_icd.x86_64.json and bang, even with SSAO disabled, gpu crash. Reset back to the Auto and fps drops but no crash.

Interesting, it’s practically unplayable for me with SSAO turned on, even on the lowest setting. I just get loads of dark bars across the screen.

It is frustrating as it appears to have both a RADV and vkd3d component.

RADV works with the 1.7.1 dxvk release. AMDVLK also works here.

1.8.1 dxvk and RADV crashes while AMDVLK performance declines significantly over the 1.7.1 release.

It appears to point to some form of exception not being handled in the RADV while the AMDVLK does handle it, but in doing so performance declines. That said, I have Ghostrunner in Proton Experimental running just fine through dx12. Use the same dx12 file for WoW and it crashes. So there is also something with WoW dx12 implementation or the shader caches getting corrupted. Same for Warframe.

Every game uses different stuff with dx12. Probably wine, vkd3d, and/or mesa need fixes.

@Half As for the original topic, gpu driver controls fan speed. The only way its going to be something else with one thing and normal with another is if performance of one doesn’t match usage.

Well I ended up setting amdgpu-fancontrol as a system service with a temp / pwm matrix. I can hear the fans kicking in properly now around 55 degC and then ramping up when I get to 67 degC, so much better! Oh and I’ve got MangoHUD as well to keep an eye on things ingame.

I’m going to mark this solved now. Thanks for all the input and suggestions.

2 Likes

One more comment from me.

There seems to be an issue with kernel 5.10 / 5.11 and amdgpu drivers. PWM values don’t stick at all. After installing amdgpu-fancontrol I ran more tests and while the fan speeds would briefly increase they would quickly settle back down to initial pwm values. I have verified this by running a follow on the fancontrol service and pwm values will always stick, in my card’s default, to 20% pwm, irrespective of temps. So while the script might be polling sysfs, the changes don’t stick.

I have ‘fixed’ all my fan issues by reverting to known good kernel 4.19. I don’t ‘need’ a higher kernel for my linux box, so until 5.x is fixed I’ll run with 4.19. Now my fans spin up / down without any additional fan control software / scripts.

1 Like