[SOLVED] GPU fans not spinning, and how to run GPU stress test
Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
GPU fans not spinning, and how to run GPU stress test
Nothing is wrong with my AMD Gigabyte GPU but I noticed that it's fans are not spinning (three fan GPU) although they do start spinning when I power on my tower. I pretty certain that this is because the GPU is in a special mode where the fans don't start spinning until the GPU reaches a certain temp.
Is there any way to make the fans run automatically when the desktop is on? Or would I not want to do that?
2nd question.
What's the best way in your opinion to run a diagnostic GPU stress test? I just want to know how for my own personal edification (There's nothing wrong with my brand new GPU)
Since you have a new GPU, check the kernel messages to make sure that the kernel recognizes it and loads the firmware. Then, check Xorg.0.log to make sure that X recognizes the GPU and enables acceleration.
For a stress test, run multiple glblurs in parallel. Make the windows large.
Code:
for ((n=0; n<8; n++)); do /usr/libexec/xscreensaver/glblur -fps & done
Three glblurs can max out my six-year-old GPU at 4K.
Ed
Sorry for the confusion. At first when I turn my tower on the fans power on, but then immediately after that anything I do and they don't spin.
This is normal/designed behavior on newer GPUs (going back at least a few years now - for example my GeForce 1080 does this, and is 2-3 years old, but my Radeon 290X does not, and is a year or two older than that) - you are exactly right, the fan is set to be 'off' unless the GPU hits a pre-defined temperature (usually 40-50* C). Nothing is wrong with operating this way, and this behavior is provided by the card's firmware. It is possible to override this either by A) connecting the fans directly to the computer's power supply (and they will just run all the time, at maximum speed) or B) software. On linux I'm not sure exactly what that software package is, but on Windows you would use something like Afterburner (which is based on Rivatuner) to set a manual fan-curve - this would only apply AFTER the system had booted up and the software was running (in other words, the software is over-riding the card's firmware behavior, not changing it). In general, I would just accept the default behavior, because it is set with sane values - the GPU is not in danger at lower temperatures, and the fans should be spinning up at higher temperatures (and with 3 separate fans, the odds that something is just 'blocking' the fan from spinning are low - if this was a single fan card I would tell you to check and make sure something isn't sticking the fan in place (e.g. like it sucked up a ziptie or something)).
Finally, if you want to see the GPU's temperature and fan RPM, psensor (which is basically a nice GUI application to get the same info 'sensors' will provide, as ondoho suggests) should be able to do that for you. This way you can confirm the GPU is indeed under some temperature threshold (for example my newer GeForce card does this, and the fan stays off under 50* C, and only comes on to about 900 RPM under 60* C), and not actually overheating (on a modern GPU that would generally be >90* C).
For loading the GPU up, I agree with the other suggestions - run a 3D game or some other 3D application (like the screensaver suggestion from EdGr is a good one). A lot of 'GPU stress test' applications (like Furmark) are strongly counterindicated by nVidia/AMD as they can create a significant amount of heat for the GPU, which can lead to thermal stress on the board, and/or premature failure (not to mention how much power it wastes).
Since you have a new GPU, check the kernel messages to make sure that the kernel recognizes it and loads the firmware. Then, check Xorg.0.log to make sure that X recognizes the GPU and enables acceleration.
For a stress test, run multiple glblurs in parallel. Make the windows large.
Code:
for ((n=0; n<8; n++)); do /usr/libexec/xscreensaver/glblur -fps & done
Three glblurs can max out my six-year-old GPU at 4K.
Ed
I'm still pretty new to this. Do you mean check the Kernel messages when the system first boots up? And what is the Xorg.0.log and how do I check it?
when I type the sensors command this is what shows up:
This is normal/designed behavior on newer GPUs (going back at least a few years now - for example my GeForce 1080 does this, and is 2-3 years old, but my Radeon 290X does not, and is a year or two older than that) - you are exactly right, the fan is set to be 'off' unless the GPU hits a pre-defined temperature (usually 40-50* C). Nothing is wrong with operating this way, and this behavior is provided by the card's firmware. It is possible to override this either by A) connecting the fans directly to the computer's power supply (and they will just run all the time, at maximum speed) or B) software. On linux I'm not sure exactly what that software package is, but on Windows you would use something like Afterburner (which is based on Rivatuner) to set a manual fan-curve - this would only apply AFTER the system had booted up and the software was running (in other words, the software is over-riding the card's firmware behavior, not changing it). In general, I would just accept the default behavior, because it is set with sane values - the GPU is not in danger at lower temperatures, and the fans should be spinning up at higher temperatures (and with 3 separate fans, the odds that something is just 'blocking' the fan from spinning are low - if this was a single fan card I would tell you to check and make sure something isn't sticking the fan in place (e.g. like it sucked up a ziptie or something)).
Finally, if you want to see the GPU's temperature and fan RPM, psensor (which is basically a nice GUI application to get the same info 'sensors' will provide, as ondoho suggests) should be able to do that for you. This way you can confirm the GPU is indeed under some temperature threshold (for example my newer GeForce card does this, and the fan stays off under 50* C, and only comes on to about 900 RPM under 60* C), and not actually overheating (on a modern GPU that would generally be >90* C).
For loading the GPU up, I agree with the other suggestions - run a 3D game or some other 3D application (like the screensaver suggestion from EdGr is a good one). A lot of 'GPU stress test' applications (like Furmark) are strongly counterindicated by nVidia/AMD as they can create a significant amount of heat for the GPU, which can lead to thermal stress on the board, and/or premature failure (not to mention how much power it wastes).
Thanks a lot obobskivich! You made a lot of useful information plain and concise! I appreciate it and I gave you some rep
There's a tool called 'stress'. From debian based, just
Code:
sudo apt install stress
. Then run something like this from command line.
If OP's concern is really about the GPU and its fan only, then stressing the CPU is pointless.
Although it could indirectly help troubleshoot the issue.
Quote:
Originally Posted by EdGr
For a stress test, run multiple glblurs in parallel. Make the windows large.
Code:
for ((n=0; n<8; n++)); do /usr/libexec/xscreensaver/glblur -fps & done
[ 11.739473] [drm] radeon kernel modesetting enabled.
...
[ 11.743892] [drm] radeon: 2048M of VRAM memory ready
[ 11.743894] [drm] radeon: 2048M of GTT memory ready.
[ 11.743902] [drm] Loading pitcairn Microcode
[ 11.921961] [drm] Internal thermal controller with fan control
In /var/log/Xorg.0.log, you should see lines like:
Code:
[ 51.092] (--) RADEON(0): Chipset: "PITCAIRN" (ChipID = 0x6819)
...
[ 52.547] (II) RADEON(0): glamor X acceleration enabled on AMD PITCAIRN (DRM 2.50.0, 5.4.51, LLVM 10.0.0)
Thanks! I find that glblur is good for testing GPUs and inducing vertigo.
Ed
Yeah I want to say that it's definitely not recognizing my GPU for what it is
When i do
Quote:
sudo dmesg | grep -i vga or I type dmesg | grep -i GPU or AMDGPU
Nothing shows up and i've gone through almost every line now and nothing seems to ackowledge my graphics card.
I started up a pc game 'Warband mount and Blade' on steam on this desktop and it ran really really poorly (and warband is not a super graphics intensive game.) I mean obviously my graphics card is working because I have my monitor plugged into it (display port at 1080p) but I think it's running at a stunted level of performance.
Further more when I type sensors in the terminal this is what I get
Yeah I want to say that it's definitely not recognizing my GPU for what it is
When i do
Nothing shows up and i've gone through almost every line now and nothing seems to ackowledge my graphics card.
I started up a pc game 'Warband mount and Blade' on steam on this desktop and it ran really really poorly (and warband is not a super graphics intensive game.) I mean obviously my graphics card is working because I have my monitor plugged into it (display port at 1080p) but I think it's running at a stunted level of performance.
You are in for an OS upgrade. You want a very recent OS to support your GPU.
Alternatively, you can install AMD's proprietary driver as a stopgap measure until the open-source drivers have caught up.
Ed
I just bought it, think it need proprietary drivers to function at its full potential?
It's this one the RX 5500 series
Quote:
AMD Radeon™ Product Family Compatibility
Radeon™ Software for Linux® is compatible with the following AMD products.
AMD Product Family Compatibility
AMD Radeon™ RX 5700/5600/5500 Series Graphics
Can't seem to find where the download for the proprietary drivers for my card are but I'll continue looking. Is it right in front of my face and I don't see it?
Thanks again, Ed. I think you're right that I need the proprietary drivers for it to function correctly.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.