On multi-monitor setups, Nvidia drivers, including fbdev, assign monitors incorrectly. For instance, my 1440p primary monitor gets ID 1, while my 1080p secondary monitor gets ID 0. Swapping ports does make the 1440p monitor have ID 0, but puts the BIOS and systemd boot menu on the secondary monitor, which I don’t want.
This becomes problematic with Wayland and fbdev, as Wayland lacks an easy way to set a default monitor. This causes Xwayland games to start in 1080p with no option to scale up, sometimes locking the FPS to the refresh rate of the secondary monitor (75Hz).
In short, there’s no way to:
- Assign ID 0 to the main monitor
- Have the BIOS and systemd boot on the main monitor
It’s always one or the other. Here’s an image showing fbdev using the secondary monitor’s resolution, resulting in a low resolution and small font on the main monitor.
Ideally, fbdev should prioritize the monitor displaying the BIOS and systemd boot. Disabling fbdev resolves this, launching the TTY in 1440p on the main monitor, but with its ID still as 1 instead of 0.