Type the following command in a terminal window:
sudo nano /etc/modprobe.d/i915.conf
The file may not exist, and so nano might be presenting you with a blank file. This is ok. Put in the following line:
options i915 enable_psr=0
I also have two other lines in mine because I was following several different guides. It is my understanding that these two values are already at their defaults for 12th gen based on the Arch wiki and other random Google results:
options i915 enable_guc=3
options i915 enable_fbc=1
Save the file (ctrl+x, follow the prompts).
Now that you’re back to the shell prompt we need to call dracut to incorporate your changes:
sudo dracut --force
It may take a few seconds. When it finishes (usually without output), reboot your system. At that point the changes should have taken effect. You can check for any i915-related messages since the current boot with journalctl:
sudo journalctl -b | grep i915
I hope that helps. Good luck!
–Edit: added sudo to dracut line.