After much trial and error, it turns out this problem had nothing to do with qubes or even with my GPUs.
See, when i first installed qubes os, i had to permanently enable the nomodeset kernel command line parameter to avoid a blue screen of death at boot. Thread. This was needed no matter which kernel version or Linux distro i used.
The breakthrough was when i finally tried switching to a new monitor, and removing the nomodeset flag (i.e, reverting to stock defaults but on a new monitor). This worked normally.
So evidently my hardware setup was misbehaving if:
- using
nomodesetplus a linux kernel newer than 6.6, OR - using stock kernel flags, plus my viotek monitor.
Apparently the hardware i have really doesn’t like something about this monitor. Fwiw it’s a Viotek GN32DB. i tried doing an EDID override but nothing worked. So i think my long term solution will just be to buy a new monitor…