As with most things like this, the trick is to:
- Make the problem reproducible so it can be reproduced and fixed by the appropriate driver developer.
- Capture stack traces when it fails.
Obviously, if the screen freezes and one needs to hard reboot the laptop, the problem is finding the crash dump / stack trace logging what happened.
Places to look for stack traces:
a) the Linux kernel logs in /var/log
b) journalctl -b -1
c) /var/lib/systemd/pstore
On ubuntu any crash dump that requires a hard reboot or similar is stored in the UEFI pstore.
systemd then reads the pstore at startup, and copies the output to /var/lib/systemd/pstore.
I don’t know if Arch Linux does the same, but it is worth a look.
There will be times where none of the above helps, as is the case here:
But I thought I would mention the above a,b,c as not many people know about c.