A systemd service to disable the C6 state upon system boot, preventing Ryzen freezes. Here is some info on the bug.
This simply installs
zenstates.py from ZenStates-Linux and creates a one-shot service based on it.
zenstates.py script requires the
msr kernel module. Ensure that you're either loading the
msr module at startup or have it compiled into the kernel. If
/dev/cpu/*/msr exists, then your
msr module is active.
Refer to your specific distribution and init system to find out how to load kernel modules. For instance, if you're using systemd, refer to
yay -S disable-c6-systemd sudo systemctl enable disable-c6.service sudo systemctl start disable-c6.service
git clone https://github.com/jfredrickson/disable-c6.git cd disable-c6 git submodule init git submodule update sudo ./install.sh
This will install a systemd unit called
disable-c6 to the default location,
/usr/local/lib/systemd/system/disable-c6.service, and offer to enable/start the service for you.
You can also customize the install location. See
./install.sh --help for options.