summaryrefslogtreecommitdiff
path: root/src/login
diff options
context:
space:
mode:
authorMantas Mikulėnas <grawity@gmail.com>2014-04-28 00:58:56 +0300
committerLennart Poettering <lennart@poettering.net>2014-05-16 19:50:42 +0200
commitd36d90933a832bd1e1eb8e3d16b3de73f91636b4 (patch)
tree2be222174b3cbc906ae2eb5ab2ace2c92df09f86 /src/login
parent2dcf7ec6ec0c28297311108acba119cd6e055e64 (diff)
logind: allow suspending if there are no displays
With proprietary graphics drivers, there won't be any 'drm' devices in sysfs, so logind will never suspend the system upon closing the lid, even if only one (internal) display is connected. This has been reported by multiple users so far. IMHO, it's better to suspend the system in this case for safety reasons, to avoid having nvidia blob users' laptops overheat, for the same reason that sleep inhibitors are overridden (LidSwitchIgnoreInhibited=yes).
Diffstat (limited to 'src/login')
-rw-r--r--src/login/logind-action.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/login/logind-action.c b/src/login/logind-action.c
index ae9cd4894a..36ee4418b8 100644
--- a/src/login/logind-action.c
+++ b/src/login/logind-action.c
@@ -79,14 +79,12 @@ int manager_handle_action(
return 0;
}
- /* If we have more than one or no displays connected,
- * don't react to lid closing. The no display case we
- * treat like this under the assumption that there is
- * no modern drm driver available. */
+ /* If we have more than one display connected,
+ * don't react to lid closing. */
n = manager_count_displays(m);
if (n < 0)
log_warning("Display counting failed: %s", strerror(-n));
- else if (n != 1) {
+ else if (n > 1) {
log_debug("Ignoring lid switch request, %i displays connected.", n);
return 0;
}