Occasional screen freezes with AMD

points out a functioning workaround for this bug in setting KMS mode to simple. Haven’t had a freeze since.

One of the suggested workarounds is to disable the atomic KMS API by provisioning an environment variable to force the mutter KMS mode to “simple”. I implemented this workaround three days ago, and have had no system freezes ever since. I do not know what tradeoffs there are by using simple vs. atomic; however, I have not noticed any performance or functionality impacts.
The environment variable can be provisioned persistently system-wide by executing the following two commands from terminal, and then rebooting:

sudo mkdir -p /etc/environment.d
echo "MUTTER_DEBUG_FORCE_KMS_MODE=simple" | sudo tee /etc/environment.d/mutter-kms.conf

debugmasks didn’t work for me.