udev: Don't ignore drm devices with mismatching seat when headless
The seat we'll have is not a real seat, so lets not filter out drm devices when running headlessly. Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3912 Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4281>
This commit is contained in:
parent
b7e6f6d144
commit
edb91a3cc6
@ -137,9 +137,7 @@ gboolean
|
|||||||
meta_udev_is_drm_device (MetaUdev *udev,
|
meta_udev_is_drm_device (MetaUdev *udev,
|
||||||
GUdevDevice *device)
|
GUdevDevice *device)
|
||||||
{
|
{
|
||||||
MetaLauncher *launcher = meta_backend_get_launcher (udev->backend);
|
|
||||||
const char *device_type;
|
const char *device_type;
|
||||||
const char *device_seat;
|
|
||||||
|
|
||||||
/* Filter out devices that are not character device, like card0-VGA-1. */
|
/* Filter out devices that are not character device, like card0-VGA-1. */
|
||||||
if (g_udev_device_get_device_type (device) != G_UDEV_DEVICE_TYPE_CHAR)
|
if (g_udev_device_get_device_type (device) != G_UDEV_DEVICE_TYPE_CHAR)
|
||||||
@ -149,6 +147,15 @@ meta_udev_is_drm_device (MetaUdev *udev,
|
|||||||
if (g_strcmp0 (device_type, DRM_CARD_UDEV_DEVICE_TYPE) != 0)
|
if (g_strcmp0 (device_type, DRM_CARD_UDEV_DEVICE_TYPE) != 0)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
|
/* Skip devices that do not belong to our seat. */
|
||||||
|
if (!meta_backend_is_headless (udev->backend))
|
||||||
|
{
|
||||||
|
MetaLauncher *launcher = meta_backend_get_launcher (udev->backend);
|
||||||
|
const char *device_seat;
|
||||||
|
const char *seat_id;
|
||||||
|
|
||||||
|
g_return_val_if_fail (launcher, TRUE);
|
||||||
|
|
||||||
device_seat = g_udev_device_get_property (device, "ID_SEAT");
|
device_seat = g_udev_device_get_property (device, "ID_SEAT");
|
||||||
if (!device_seat)
|
if (!device_seat)
|
||||||
{
|
{
|
||||||
@ -156,11 +163,6 @@ meta_udev_is_drm_device (MetaUdev *udev,
|
|||||||
device_seat = "seat0";
|
device_seat = "seat0";
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Skip devices that do not belong to our seat. */
|
|
||||||
if (launcher)
|
|
||||||
{
|
|
||||||
const char *seat_id;
|
|
||||||
|
|
||||||
seat_id = meta_launcher_get_seat_id (launcher);
|
seat_id = meta_launcher_get_seat_id (launcher);
|
||||||
if (g_strcmp0 (seat_id, device_seat))
|
if (g_strcmp0 (seat_id, device_seat))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user