As title.
Hi all, I have literally been going crazy for days without finding a solution.
I premise that I am completely new to the world of linux, and as a pc gamer, from windows 11 I decided to move to a more ethical OS.
And precisely, being a pc gamer, I have an interest in controlling the fans and temperatures of my gpu.
I think I’ve tried every possible application. CoreCtrl, LACT, radeon-profile, amdgpu-fan, amdgpu-fancontrol, and all of them either won’t start, or give me some kind of error.
However, I would like to dwell on CoreCTRL because it seems to me to be the most well-done application.
Which package did you install from where? Did you compile it yourself? Did you follow the CoreCtrl wiki for AMD GPUs? You don’t directly adjust the fan curve…you need first to find the starting speed of the fans as described in the AMD GPUs wiki…
Btw, the CoreCtrl setup instructions are heavily outdated as they still rely on old grub instead of grub2…
The Wiki page mentioned before is fo grub2. It also says the instructions on this page are just an example and users should consult their distribution’s documentation.
So, to CoreCTRL i used opi. The same for amdgpu-fan.
In fact, to finish the installation of CoreCTRL I had to do sudo grub2-mkconfig -o /boot/grub2/grub.cfg instead of sudo grub-mkconfig -o /boot/grub/grub.cfg.
To install LACT i used the rpm file. I downloaded it and then i used zypper to run it.
In my opinion there is an underlying error or problem, as if all these programs cannot get some kind of permission to have control over the parameters.
This program will search your sensors for pulse width modulation (pwm)
controls, and test each one to see if it controls a fan on
your motherboard. Note that many motherboards do not have pwm
circuitry installed, even if your sensor chip supports pwm.
We will attempt to briefly stop each fan using the pwm controls.
The program will attempt to restore each fan to full speed
after testing. However, it is ** very important ** that you
physically verify that the fans have been to full speed
after the program has completed.
Found the following devices:
hwmon0 is nvme
hwmon1 is amdgpu
hwmon2 is amdgpu
hwmon3 is k10temp
hwmon4 is spd5118
hwmon5 is spd5118
hwmon6 is mt7921_phy0
Found the following PWM controls:
hwmon1/pwm1 current value: 0
hwmon1/pwm1 is currently setup for automatic speed control.
In general, automatic mode is preferred over manual mode, as
it is more efficient and it reacts faster. Are you sure that
you want to setup this output for manual control? (n)
I type y. and the output is:
hwmon1/pwm1_enable stuck to 2
Manual control mode not supported, skipping hwmon1/pwm1.
There are no usable PWM outputs.
@alxzntr So as a test, select the pwm option rather than auto, boot to openSUSE and see if the pwmconfig command works, cancel out and see if your other applications work…
The BIOS settings are only for the CPU and system fans. You can not control the GPU fans via the BIOS as the GPU has its own controler which can not be connected to the motherboard fan connectors. I also own a MSI board with the same type of UEFI Bios. I only set the pump and fand speed of the AIO CPU cooler and the case fans.
Im not familiar with the AMD drivers, but there shouldn’t be a need for modern GPUs to control the fans as the controler takes care. On my Nvidias, there is the possibility to override the internal controler settings via manual mode in the nvidia-settings. But it is not recommended, as the fan controler for modern gaming GPUs is better than any user intervention.
It is normal that the fans of modern GPUs are completely off until the controler detects a need to start, based on the temperature.
@hui You are not the first person to tell me this. Maybe I still need to get into the mindset that I’m not on win 11 anymore, and I need to trust the Linux default settings.
@malcolmlewis But those settings are about the cpu fan and case fan. no?
# sensors-detect version 3.6.2
# System: Micro-Star International Co., Ltd. MS-7D75 [1.0]
# Board: Micro-Star International Co., Ltd. MAG B650 TOMAHAWK WIFI (MS-7D75)
# Kernel: 6.11.6-2-default x86_64
# Processor: AMD Ryzen 7 7800X3D 8-Core Processor (25/97/2)
Running in automatic mode, default answers to all questions
are assumed.
Some south bridges, CPUs or memory controllers contain embedded sensors.
Do you want to scan for them? This is totally safe. (YES/no):
Module cpuid loaded successfully.
Silicon Integrated Systems SIS5595... No
VIA VT82C686 Integrated Sensors... No
VIA VT8231 Integrated Sensors... No
AMD K8 thermal sensors... No
AMD Family 10h thermal sensors... No
AMD Family 11h thermal sensors... No
AMD Family 12h and 14h thermal sensors... No
AMD Family 15h thermal sensors... No
AMD Family 16h thermal sensors... No
AMD Family 17h thermal sensors... No
AMD Family 15h power sensors... No
AMD Family 16h power sensors... No
Hygon Family 18h thermal sensors... No
AMD Family 19h thermal sensors... No
Intel digital thermal sensor... No
Intel AMB FB-DIMM thermal sensor... No
Intel 5500/5520/X58 thermal sensor... No
VIA C7 thermal sensor... No
VIA Nano thermal sensor... No
Some Super I/O chips contain embedded sensors. We have to write to
standard I/O ports to probe them. This is usually safe.
Do you want to scan for Super I/O sensors? (YES/no):
/dev/port: Operation not permitted
Some systems (mainly servers) implement IPMI, a set of common interfaces
through which system health data may be retrieved, amongst other things.
We first try to get the information from SMBIOS. If we don't find it
there, we have to read from arbitrary I/O ports to probe for such
interfaces. This is normally safe. Do you want to scan for IPMI
interfaces? (YES/no):
/dev/port: Operation not permitted
Some hardware monitoring chips are accessible through the ISA I/O ports.
We have to write to arbitrary I/O ports to probe them. This is usually
safe though. Yes, you do have ISA I/O ports even if you do not have any
ISA slots! Do you want to scan the ISA I/O ports? (YES/no):
/dev/port: Operation not permitted
Lastly, we can probe the I2C/SMBus adapters for connected hardware
monitoring devices. This is the most risky part, and while it works
reasonably well on most systems, it has been reported to cause trouble
on some systems.
Do you want to probe the I2C/SMBus adapters now? (YES/no):
Using driver `i2c-piix4' for device 0000:00:14.0: AMD KERNCZ SMBus
Next adapter: AMDGPU SMU 0 (i2c-0)
Do you want to scan it? (yes/NO/selectively):
Next adapter: AMDGPU SMU 1 (i2c-1)
Do you want to scan it? (yes/NO/selectively):
Next adapter: AMDGPU DM i2c hw bus 0 (i2c-2)
Do you want to scan it? (yes/NO/selectively):
Next adapter: AMDGPU DM i2c hw bus 1 (i2c-3)
Do you want to scan it? (yes/NO/selectively):
Next adapter: AMDGPU DM i2c hw bus 2 (i2c-4)
Do you want to scan it? (yes/NO/selectively):
Next adapter: AMDGPU DM i2c hw bus 3 (i2c-5)
Do you want to scan it? (yes/NO/selectively):
Next adapter: AMDGPU DM aux hw bus 0 (i2c-6)
Do you want to scan it? (yes/NO/selectively):
Next adapter: AMDGPU DM aux hw bus 1 (i2c-7)
Do you want to scan it? (yes/NO/selectively):
Next adapter: AMDGPU DM i2c hw bus 0 (i2c-8)
Do you want to scan it? (yes/NO/selectively):
Next adapter: AMDGPU DM i2c hw bus 1 (i2c-9)
Do you want to scan it? (yes/NO/selectively):
Next adapter: AMDGPU DM i2c hw bus 2 (i2c-10)
Do you want to scan it? (yes/NO/selectively):
Next adapter: AMDGPU DM i2c hw bus 3 (i2c-11)
Do you want to scan it? (yes/NO/selectively):
Next adapter: AMDGPU DM aux hw bus 1 (i2c-12)
Do you want to scan it? (yes/NO/selectively):
Next adapter: AMDGPU DM aux hw bus 2 (i2c-13)
Do you want to scan it? (yes/NO/selectively):
Next adapter: AMDGPU DM aux hw bus 3 (i2c-14)
Do you want to scan it? (yes/NO/selectively):
Next adapter: SMBus PIIX4 adapter port 0 at 0b00 (i2c-15)
Do you want to scan it? (YES/no/selectively):
Client found at address 0x49
Probing for `National Semiconductor LM75'... No
Probing for `National Semiconductor LM75A'... No
Probing for `Dallas Semiconductor DS75'... No
Probing for `National Semiconductor LM77'... No
Probing for `Analog Devices ADT7410/ADT7420'... No
Probing for `Maxim MAX6642'... No
Probing for `Texas Instruments TMP435'... No
Probing for `National Semiconductor LM73'... No
Probing for `National Semiconductor LM92'... No
Probing for `National Semiconductor LM76'... No
Probing for `Maxim MAX6633/MAX6634/MAX6635'... No
Probing for `NXP/Philips SA56004'... No
Probing for `SMSC EMC1023'... No
Probing for `SMSC EMC1043'... No
Probing for `SMSC EMC1053'... No
Probing for `SMSC EMC1063'... No
Client found at address 0x4b
Probing for `National Semiconductor LM75'... No
Probing for `National Semiconductor LM75A'... No
Probing for `Dallas Semiconductor DS75'... No
Probing for `National Semiconductor LM77'... No
Probing for `Analog Devices ADT7410/ADT7420'... No
Probing for `Analog Devices ADT7411'... No
Probing for `Maxim MAX6642'... No
Probing for `Texas Instruments TMP435'... No
Probing for `National Semiconductor LM92'... No
Probing for `National Semiconductor LM76'... No
Probing for `Maxim MAX6633/MAX6634/MAX6635'... No
Probing for `NXP/Philips SA56004'... No
Probing for `Analog Devices ADT7481'... No
Client found at address 0x4f
Probing for `National Semiconductor LM75'... No
Probing for `National Semiconductor LM75A'... No
Probing for `Dallas Semiconductor DS75'... No
Probing for `Maxim MAX6642'... No
Probing for `Texas Instruments TMP421'... No
Probing for `Texas Instruments TMP422'... No
Probing for `Texas Instruments TMP435'... No
Probing for `Texas Instruments TMP441'... No
Probing for `Maxim MAX6633/MAX6634/MAX6635'... No
Probing for `NXP/Philips SA56004'... No
Client found at address 0x51
Handled by driver `spd5118' (already loaded), chip type `spd5118'
(note: this is probably NOT a sensor chip!)
Client found at address 0x53
Handled by driver `spd5118' (already loaded), chip type `spd5118'
(note: this is probably NOT a sensor chip!)
Next adapter: SMBus PIIX4 adapter port 2 at 0b00 (i2c-16)
Do you want to scan it? (YES/no/selectively):
Next adapter: SMBus PIIX4 adapter port 1 at 0b20 (i2c-17)
Do you want to scan it? (YES/no/selectively):
Sorry, no sensors were detected.
Either your system has no sensors, or they are not supported, or
they are connected to an I2C or SMBus adapter that is not
supported. If you find out what chips are on your board, check
https://hwmon.wiki.kernel.org/device_support_status for driver status.
I think I figured out why I can’t access the fan control.
Apparently my motherboard, an MSI B650 Tomahawk “uses a Nuvoton NCT6687-R chip for fan, voltage and temperature readings. You need kernel module nct6687d-dkms-gitAUR to access those values.”, as the Arch wiki says about lm-sensors.
In any case, I think I will keep the default settings for the time being.
Thanks anyway for your help!
TL;DR:
OP, you can fix all this. Kinda. NGL, it’s a little tricky for a newcomer, but it’s not bad, totally doable, and there’s help, so fear not
For the GPU:
You’re seeing this: https://gitlab.freedesktop.org/drm/amd/-/issues/2402 behaviour CoolerControl or LACT definitely work - to the extent that is possible given hardware and driver limitations. Some others definitely do not, so I’d start with one of those two.
Either way, you will need this kernel parameter: amdgpu.ppfeaturemask=0xffffffff
For the mobo:
Your motherboard (case and CPU) fans are not natively supported, but can be made to work with a special driver. Most (probably all) control software will work with those fans when you get that driver working.
TL:
I decided not to post the long version because it’s… well, it’s really long. I don’t want to overwhelm you with info, OP, and I know the switch to linux can be overwhelming at first. So I’ve just given you the bullet-point answers. It’ll be enough to get you there with a search engine. But I did keep the full post in my clipboard, so if you’re feeling more “I want all the infos”, or you’d rather spend time reading a long answer than searching for a short one, let me know and I’ll hit ctrl+v, or just quiz me if there’s something specific that isn’t clear
Even if you don’t want to use that software, I’d definitely check out CoolerControl’s documentation (this GPU bug is on their readme and issues) and their discord if you want to search to see other user’s journeys to a working system, or just talk with them. Feel free to @ me if you’re stuck.