[systemd-devel] [PATCH] logind: allow suspending if there are no displays

Lennart Poettering lennart at poettering.net
Mon Apr 28 08:10:22 PDT 2014


On Mon, 28.04.14 00:44, Mantas Mikulėnas (grawity at gmail.com) wrote:

> 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).

Isn't the right approach to ask nivida to just support the normal kernel
APIs for this? I mean, we can tape over things, and we can shift arounds
so that things keep breaking for other people, but how about just asking
them to fix their stuff?

> ---
>  src/login/logind-action.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/login/logind-action.c b/src/login/logind-action.c
> index 1928f43..c488f04 100644
> --- a/src/login/logind-action.c
> +++ b/src/login/logind-action.c
> @@ -86,7 +86,7 @@ int manager_handle_action(
>                  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;
>                  }


Lennart

-- 
Lennart Poettering, Red Hat


More information about the systemd-devel mailing list