<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW --- - Laptop not suspending when lid is closed."
href="https://bugs.freedesktop.org/show_bug.cgi?id=76267#c7">Comment # 7</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW --- - Laptop not suspending when lid is closed."
href="https://bugs.freedesktop.org/show_bug.cgi?id=76267">bug 76267</a>
from <span class="vcard"><a class="email" href="mailto:stephensrmmartin@gmail.com" title="Stephen Martin <stephensrmmartin@gmail.com>"> <span class="fn">Stephen Martin</span></a>
</span></b>
<pre>(In reply to <a href="show_bug.cgi?id=76267#c6">comment #6</a>)
<span class="quote">> Hopping on board. Re this:
>
> > The binary driver does not implement the DRM interfaces in /sys. This means we
> > cannot detect how many displays are connected and then we decide not to handle
> > the lid switch since we cannot be sure about whether the device is in "docking"
> > mode, or not...
>
> Is this per a recent systemd change, or has this always been the case? If
> the former, I understand. If the latter, I disagree as only within the last
> few weeks have I noticed the change. I've never changed
> /etc/systemd/logind.con, and uncommenting `#HandleLidSwitch=suspend` as is
> often first suggested in Arch Linux forum posts should be irrelevant since
> it's the default behavior.
>
> I have no external monitors connected. As mentioned, nouveau works, but I
> can't use nouveau for anything legitimate
> (<a class="bz_bug_link
bz_status_NEW "
title="NEW --- - [NVA3] gpu lockup on boot unless noaccel=1"
href="show_bug.cgi?id=77371">https://bugs.freedesktop.org/show_bug.cgi?id=77371</a>).</span >
Nothing about nvidia has changed. Systemd has added logic that checks for
whether you have multiple monitors (or in docking mode) attached and prevents
lidclosing from suspending the machine.
That way, those who dock their laptops can close the lids and still use it via
the external monitor.
However, systemd checks for those monitors using the DRM interface mentioned by
Lennart.
Because nvidia does not implement that interface, systemd cannot really check
for whether there are other monitors (except, perhaps through Xorg, but not
everyone uses Xorg).
Thus, they have to make a choice.
1) Inconvenience non-docking users by assuming that suspend shouldn't occur on
lid close; this conveniences docking users, because they can actually close
their laptops and continue working.
2) Inconvenience docking users by assuming suspend should occur on lid close
and that there aren't other monitors; this conveniences non-docking users,
because they can actually close their laptops and have them suspend.
The team apparently went with 1).
Docking users would prefer 1, because their docking setups keep working as per
normal. If they chose 2, docking users would have to disable lidsuspend.
Non-docking users would prefer 2, because their lid suspend would keep working
as per normal. If they chose 1, non-docking users would have to manually
suspend.
In my opinion, the assumption should be to suspend on lid close if they can't
detect monitors.
Mainly, because there are surely far more people who use their laptops and want
it to suspend when the lid is closed; if they don't, they can just disable the
feature.
There are surely fewer people who dock their laptops or use an external monitor
in lieu of the laptop monitor; if they want to disable lid suspension, they can
do so manually.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>