Hello @paul42 and welcome 
That is a really weird behavior. I have no solution, but we can investigate what problem it is at the logs:
Open a terminal and type:
journalctl --dmesg --boot 0 --no-hostname --no-pager
journalctl --dmesg --boot -1 --no-hostname --no-pager
and also the the xorg logs:
export logs=( "/var/log/Xorg*.log" "$HOME/.local/share/xorg/Xorg*.log" )
for x in ${logs[@]}; do echo -e "\n---$x---\n$(cat $x)"; done
Likely the logs are very big… So use an external service for that.