Hi @Watford! I recently had a similar issue on a Zorin laptop that has an Nvidia GPU. If your laptop also has an Nvidia GPU, then this might be worth checking into. If not, it might give you something to look at but may end up not being relevant.
Under the /lib/systemd/system/ folder you should have a /lib/systemd/system/systemd-suspend.service file.
If you have an Nvidia GPU, then you will also have a /lib/systemd/system/nvidia-suspend.service service.
In my situation, this service file was not configured correctly. It was missing the WantedBy= section that used the systemd-suspend.service dependency. So the system would suspend but the GPU would freeze, so the display wouldn’t work until I did a hard reboot.
Here’s what my /lib/systemd/system/nvidia-suspend.service file looks like now:
[Unit]
Description=NVIDIA system suspend actions
Before=systemd-suspend.service
[Service]
Type=oneshot
ExecStart=/usr/bin/logger -t suspend -s "nvidia-suspend.service"
ExecStart=/usr/bin/nvidia-sleep.sh "suspend"
[Install]
WantedBy=systemd-suspend.service
Again, if your system has an Nvidia GPU, then you might want to inspect these two files. If you do not have an Nvidia GPU, then maybe the /lib/systemd/system/systemd-suspend file may still be helpful to look at.
Otherwise, I might suggest looking at the last bootlog after a hard reset with: sudo journalctl -b -1. There might be some helpful output there, and it might be worth sharing here if other efforts don’t work out!