[Bug 204807] Hardware monitoring sensor nct6798d doesn't work unless acpi_enforce_resources=lax is enabled

bugzilla-daemon
2021-04-13T06:11:27Z

--- Comment #64 from Hans de Goede (jwrdegoede@fedoraproject.org) ---
Sydney, I understand that all the discussion can be somewhat confusing.

It should be perfectly safe to run Linux on your computer (but as you said no
there is no warranty), by default Windows also does not come with any software
to monitor the nct6775 sensors. So when installing Linux without making any
changes your computer will run the same way as with a pristine (no extra sw
installed) windows install.

Under Linux you will even be able to monitor the CPU temperature using the
CPU's builtin temp-sensors. What does not work is monitoring other
temperatures, voltages and fan-speeds. Nor controlling fan-speeds. But
typically a modern motherboard will automatically control the CPU fan speed
based on temperature, without needing the OS to do anything; Also most users
typically use their computer for other things then to monitor the computers
temps and voltages.

Matthew rightly advises against using "acpi_enforce_resources=lax" because that
opens races between the firmware and Linux which could result in writing to
another superIO register then intended. This can definitely lead to e.g.
stopping the fans even though the CPU is running hot, which is not good but all
modern CPUs have builtin overtemp protection, so at the worst the system will
simply shutdown (1).

Theoretically this could also lead to worse outcomes, such us changes your CPU
or RAM voltage which could damage your hardware. I am aware of at least one
semi-related case where RAM got seriously overvolted damaging both the RAM and
the CPU, this was not with a Super-IO solution though, but with I2C attached
sensor probing.

1) Repeatedly overheating your CPU to where it automatically shuts down is not
good for your CPU's health though and will likely shorten its lifetime.

TL;DR: Don't use "acpi_enforce_resources=lax", otherwise running Linux should
be safe and everything should work fine.