Skip to content

monitor-manager-kms: Add heuristic to detect multi-GPU desktops

Previously we would start up providing at least one GPU has an output connector. It doesn't need to be connected so we can always start headless. This however missed an edge case...

On a desktop machine with a discrete graphics card as well as an unused integrated GPU, that would be detected as supported. Mutter would start up and wait forever for you to plug a monitor into the disused integrated GPU.

This isn't what most users of such a configuration want. In this case, and if the second GPU doesn't seem to have any KMS connectors, then the most logical conclusion is that it is using a kernel driver (like 'nvidia') which doesn't support KMS (at the moment). So then we need GDM to fall back to Xorg or else an image will never appear on the monitor which probably exists connected to an nvidia card. We just can't see that output (or connectors) while KMS support is disabled on nvidia.

So bail and let Xorg start instead for full Nvidia support.

This expands on the work of commit deb541ef which had very similar goals.

Closes: https://bugs.launchpad.net/bugs/1705369

Edited by Daniel van Vugt

Merge request reports