Skip to content

backends/native: Add a udev flag to disable a GPU's KMS capability

Vivek Kasireddy requested to merge vivekkasireddy/mutter:disable_kms into main

In multi-GPU environments, there are cases where a user would like to use a specific GPU device in "render only" mode while letting other GPU devices use KMS. Therefore, adding a udev flag to disable (or ignore) KMS will enable the user to designate a GPU device as "render only".

If this flag is set, the native backend will configure the relevant GPU device in headless mode (dummy MetaKmsImplDevice) and will not probe further for KMS capabilities during device initialization.

Also, some drivers provide an option to disable the display capability (e.g, disable_display provided by i915 and xe) but it may not be possible to reliably detect this situation using drmSetClientCap or drmGetCap. This is because limiting DRIVER_MODESET cap may be an implementation detail.

In all these cases, it makes sense to not unnecessarily probe or initialize KMS capbilities or possibly fail in add_drm_device().

Merge request reports