https://bugs.kde.org/show_bug.cgi?id=498298

--- Comment #8 from Stephan Diestelhorst <stephan.diestelho...@gmail.com> ---
A small amount of update after tracing through powerdevil with GDB (do we
really need all these wrappers / adapters /... in there?! another day...). 
Reminder, the laptop suspends / suspend-then-hibernate-s fine when doing it via

$ sudo systemctl suspend-then-hibernate

or

$ sudo systemctl suspend

My suspend hotkey does not work and doing a 

$ qdbus org.freedesktop.PowerManagement /org/freedesktop/PowerManagement
Suspend

does not work either.  This is a Dbus message to powerdevil.  It gets received
correctly, and (after several curious translation steps) eventually calls
SessionManagement::suspendThenHibernate (in plasma workspace / libkworkspace)
which is what I have configured.

Unfortunately, SessionManagement::canSuspendThenHibernate is false and so
nothing happens.

AFAICS, this is a cached version of the value that gets only updated if the
backend (logind) updates this value.  The backend is connected via Dbus to
org.freedesktop.login1.  I can query the value manually:

$ qdbus --system org.freedesktop.login1 /org/freedesktop/login1
org.freedesktop.login1.Manager.CanSuspendThenHibernate 
no

$ qdbus --system org.freedesktop.login1 /org/freedesktop/login1
org.freedesktop.login1.Manager.CanHibernate 
no

which comes as a surprise.  Again.. doing the suspend-then-hibernate with
systemctl works.  Unfortunately, I have been unable to dive deeper into why
that is the case.  I have followed the code in systemd-logind and set
breakpoints on the running process at the interesting functions where it should
compute something about hibernation.  But none of the breakpoints trigger. 
Also, increasing the log-level of systemd to debug does not show any of the
debug messages in the code here.  It is as if the code in systemd-logind is
actually never called.

Maybe there is one more layer of caching / proxying going on.

Next step is to check who is actually listening on the Dbus at
org.freedesktop.login1.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to