This problem is solved, but since I couldn’t find ANY mention of this specific problem or any solution to it online, I thought I’d share my solution in case it’s useful to anyone else who runs into it in the future. Everything I could find in a search was related to projectors on laptops, which negates the “projector as the only display” option since laptops by definition have a built-in display, and solutions always involved using that built-in display to fix it.
I have a mini PC hooked up to a projector for my home theater, which once upon a time ran Kodi (it’s still there but doesn’t get used much anymore) and nowadays mostly runs Firefox to view sites like Netflix, Hulu, and Crunchyroll. It boots into Ubuntu Linux by default, but it came with Windows 11 Pro on it, which basically got left there on another partition to rot after repartitioning most of the space to be used by Linux.
Well, until my son found a game on Steam he wanted to play that required Windows but performed like crap in an emulator (his laptop is a MacBook Pro). I thought “this little media PC should handle games really well, it was designed for that actually, so let’s reboot it into Windows and try it there.”
Except I couldn’t (apparently) get it to boot into Windows. After I picked Windows off the GRUB menu, the projector would switch to a message saying “INVALID FORMAT” and that was that. I hooked up an additional monitor to the media PC and tried it (the monitor I had hooked up when I initially loaded Linux on it before connecting it to the projector), and discovered it boots into Windows just fine with that monitor hooked up, and it fact, it would even run the projector fine with that monitor hooked up, too. If I did any of 1) unplugging the second monitor, or 2) telling the Displays settings to display only to the projector, then it would immediately go back to “INVALID FORMAT”.
Everything I could find online about that message seemed to indicate that the PC was trying to transmit to the projector on a resolution that it didn’t support. But in the Displays settings, it was set to one that it did support and it worked fine as long as the other monitor was connected. I was pulling my hair out for a bit.
Then as I was talking through it with a friend online, I started to wonder if maybe it was ignoring the existing settings I had for that display (which were set with another monitor present) and going back to the defaults and/or auto-detecting it wrong when the projector was by itself, and maybe those defaults/auto-detected settings were wrong. But how would I even check this if I can’t see the display to fix it?
SOLUTION: What I ended up doing was installing TightVNC Server, and then connecting to it from another computer over VNC. Then I opened the Displays settings window and watched it while I unplugged the external monitor. As expected, it switched to 480p resolution, which this projector doesn’t support (it only does 720p and 1080p). So, over VNC, I switched it back to 1080p, and the projector screen lit up with my desktop. And it survived reboot. Yay.
I did initially try to enable RDP and connect over that, since it’s built into Windows 11 Pro, but connecting over RDP would log out the console user, and wouldn’t let the remote user touch the display settings (the settings the remote user could see applied to the virtual desktop over RDP rather than the one physically connected to the computer), so VNC was the fallback, and worked fine because it mirrored the existing user’s screen instead of creating a separate login session. I just had to remember to turn them both back off afterwards.