backend/native: Don't warn on EACCES if headless
Since commit 1bf70334 "tests/runner: Make test runner use the headless backend", tests are run with the native backend in headless mode, which will attempt to open each GPU and show a warning (fatal during tests) if it cannot. However, in headless mode we might not be logged in on any seat (for example we might be logged in via ssh instead), which means we might legitimately not have permission to use any GPUs, even if they exist. Downgrade the warning to a debug message in this case. Resolves: https://gitlab.gnome.org/GNOME/mutter/-/issues/2381 Signed-off-by: Simon McVittie <smcv@debian.org> Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2584>
This commit is contained in:
parent
9a2c5d7d74
commit
64a67aa00b
@ -525,8 +525,20 @@ on_udev_device_added (MetaUdev *udev,
|
||||
new_gpu_kms = create_gpu_from_udev_device (native, device, &error);
|
||||
if (!new_gpu_kms)
|
||||
{
|
||||
g_warning ("Failed to hotplug secondary gpu '%s': %s",
|
||||
device_path, error->message);
|
||||
if (meta_backend_is_headless (backend) &&
|
||||
g_error_matches (error, G_IO_ERROR,
|
||||
G_IO_ERROR_PERMISSION_DENIED))
|
||||
{
|
||||
meta_topic (META_DEBUG_BACKEND,
|
||||
"Ignoring unavailable secondary gpu '%s': %s",
|
||||
device_path, error->message);
|
||||
}
|
||||
else
|
||||
{
|
||||
g_warning ("Failed to hotplug secondary gpu '%s': %s",
|
||||
device_path, error->message);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@ -563,9 +575,22 @@ init_gpus (MetaBackendNative *native,
|
||||
|
||||
if (!gpu_kms)
|
||||
{
|
||||
g_warning ("Failed to open gpu '%s': %s",
|
||||
g_udev_device_get_device_file (device),
|
||||
local_error->message);
|
||||
if (meta_backend_is_headless (backend) &&
|
||||
g_error_matches (local_error, G_IO_ERROR,
|
||||
G_IO_ERROR_PERMISSION_DENIED))
|
||||
{
|
||||
meta_topic (META_DEBUG_BACKEND,
|
||||
"Ignoring unavailable gpu '%s': %s'",
|
||||
g_udev_device_get_device_file (device),
|
||||
local_error->message);
|
||||
}
|
||||
else
|
||||
{
|
||||
g_warning ("Failed to open gpu '%s': %s",
|
||||
g_udev_device_get_device_file (device),
|
||||
local_error->message);
|
||||
}
|
||||
|
||||
g_clear_error (&local_error);
|
||||
continue;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user