After a lot of other weird problems, I may have solved my problem by adding nomodeset to /etc/default/grub
here GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"
If you have trouble getting to this screen, you can press e
as soon as you see GRUB and then temporarily add nomodeset there. Then press ctrl+x to boot.