Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New version? #170

markhindley opened this issue Aug 14, 2020 · 31 comments

New version? #170

markhindley opened this issue Aug 14, 2020 · 31 comments


Copy link


I completely understand that keeping in sync with systemd updates is time consuming. However, Debian bug #968379 appears to be caused by a breakage in the libelogind0/libsystemd0 compatibility with wireshark now using libsystemd0 symbols only present in version 246.

Are you working on a new version of elogind?

Many thanks


Copy link

Salz commented Aug 16, 2020

New versions in systemd 246 compared to elogind 243.7 are (sorted by version)

T sd_bus_enqueue_for_read@@LIBSYSTEMD_245
T sd_bus_message_dump@@LIBSYSTEMD_245
T sd_bus_message_sensitive@@LIBSYSTEMD_245
T sd_event_add_child_pidfd@@LIBSYSTEMD_245
T sd_event_source_get_child_pidfd@@LIBSYSTEMD_245
T sd_event_source_get_child_pidfd_own@@LIBSYSTEMD_245
T sd_event_source_get_child_process_own@@LIBSYSTEMD_245
T sd_event_source_send_child_signal@@LIBSYSTEMD_245
T sd_event_source_set_child_pidfd_own@@LIBSYSTEMD_245
T sd_event_source_set_child_process_own@@LIBSYSTEMD_245
T sd_journal_open_namespace@@LIBSYSTEMD_245
T sd_bus_call_method_asyncv@@LIBSYSTEMD_246
T sd_bus_call_methodv@@LIBSYSTEMD_246
T sd_bus_emit_signalv@@LIBSYSTEMD_246
T sd_bus_interface_name_is_valid@@LIBSYSTEMD_246
T sd_bus_member_name_is_valid@@LIBSYSTEMD_246
T sd_bus_object_path_is_valid@@LIBSYSTEMD_246
T sd_bus_reply_method_errnofv@@LIBSYSTEMD_246
T sd_bus_reply_method_errorfv@@LIBSYSTEMD_246
T sd_bus_reply_method_returnv@@LIBSYSTEMD_246
T sd_bus_service_name_is_valid@@LIBSYSTEMD_246
T sd_bus_set_propertyv@@LIBSYSTEMD_246
T sd_journal_enumerate_available_data@@LIBSYSTEMD_246
T sd_journal_enumerate_available_unique@@LIBSYSTEMD_246
T sd_notify_barrier@@LIBSYSTEMD_246
T sd_path_lookup@@LIBSYSTEMD_246
T sd_path_lookup_strv@@LIBSYSTEMD_246

Do you think it is enough to just return -ENOTSUP on all of these and see what breaks? I'll start looking into providing such mockup patch.

Copy link

Yamakuzure commented Aug 16, 2020

Hey @markhindley and @Salz !
Thank you very much for this information.

Originally I wanted to upgrade to v245, but then read that there are people sticking to v244 of systemd due to stability reasons.
But now that v246 is out, I guess it is time to upgrade to that one.
The debian bug you mentioned is a good reason for that, too.

However, I have to plea for some patience. Although elogind is on top of my todo list, it is number 1 in fact, Corona Killed My Spare Time.

At least I finally got my new laptop, and it is almost fully operational now.
(Feelds good when the laptop goes to sleep in less than a second instead of freezing up like the old one did.)

Hopefully I can get through upgrading elogind during the next week.

And sorry for the long wait!

Copy link

mirabilos commented Aug 16, 2020 via email

Copy link

Yamakuzure commented Aug 17, 2020

Strange... Only banned users aren't allowed to view the forum.
However, you can always log in with your gitlab or github account. No registration needed.
I just tried and viewing requires a password. That is not right, hang on...

@mirabilos : Found it. Whenever I edit a forum, my brwoser thinks the "password" field is something to log into the admin area and writes my password into it. So I must not forget to remove that whenever I edit something, or boards end up fully password protected. 🙄

Copy link

mirabilos commented Aug 17, 2020 via email

Copy link

@mirabilos Thanks for the hatred. Users get banned, not browsers.
Besides, the thread on my forum is perfectly readably with lynx, w3m and elinks. Thanks.

Copy link

Just to add some feedback, elogind master is now at the level of systemd-v245. It compiles fine, but I neither checked Travis nor tested it in action, as we need v246 anyway.

Copy link

Folks, I am at systemd/systemd Tag v246 now. I have not pushed to elogind/master, yet, because there is plenty of stuff to do until that compiles. The systemd devs have (again) shuffled many functions around, adding new source files and renaming/moving others.
But I am at it and hope to get a compiling version soon, which then can be used to branch of v246-stable to go for a first release candidate.

@Yamakuzure Yamakuzure self-assigned this Aug 31, 2020
Copy link

Hey all, the master branch is now at level with systemd-v246

However, this is only the "it compiles" status, there is a lot of testing and cleaning up to do. Someone really bold could try it out, but I wouldn't advise it, as I haven't even run the test suite, which too needs a good look at it.

If anybody wants to help, you could do either of the following tasks while I am working on cleaning up the sources:

  1. Go through the XML files in man/ and check whether they are
    a. complete in content and files, and
    b. not telling people about stuff that isn't even in elogind
  2. Compare test/ with systemd-v246 to see whether tests are missing that we have to add.

Here's the plan:

  • Once I have cleaned up the sources, and the man pages and test programs are checked, I will branch out v246-stable and sync it with systemd-stable/v246-stable.
  • When the v246-stable sync is done, it is time for a v246.x-rc1 pre-realease, so wider testing can take place
  • I have reactivated quite a few issues, that seem to have resurfaced, so we'll go through them. Also there are a few new ones
  • When these issues are dealt with, it is time for rc2
  • There are some feature requests that will be very helpful, so now is the time to get them done
  • Testing, fixing, and eventually full release of v246.x
  • Eventually backport fixes and additions in v246-stable to master

This is a bit more work than in previous releases. But there have been quite some changes under the hood, and I'd like to be careful about those.

Copy link

A v246-rc1 is almost done. I am mainly battling with travis, it failed on stuff systemd upstream has forgotten. The last issue seem to be some c-ansi errors in testing.

Copy link
Collaborator starts looking good again, so with any luck I'll push out the v246-rc1 pre-release in a few hours.

Copy link
Collaborator can be tested now! 🥳

Copy link

Lahvuun commented Nov 10, 2020

I tried doing a simple revbump:

<       SRC_URI="${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
>       SRC_URI="${PN}/${PN}/archive/v246.0-rc1.tar.gz -> ${P}.tar.gz"
<       "${FILESDIR}/${P}-nodocs.patch"
>       "${FILESDIR}/elogind-246_rc1-nodocs.patch"
> S="${WORKDIR}/elogind-246.0-rc1"

and it builds fine, but doesn't seem to work.

After a reboot rc-service status elogind just returns status: crashed and I can't run bspwm or sway. Doesn't look like there are any logs so I'm kind of at a loss here. Any way I can debug this?

Copy link

Doesn't look like there are any logs so I'm kind of at a loss here. Any way I can debug this?

Try merging with USE="debug". You should then see at least something in /var/log/messages. 

Edit: But only if you start elogind without daemonizing it.
Sorry, but there seems to be a problem with the internal mechanisms of forking processes off. I have to analyze what upstream has changed where, and how to adapt.
The first fork succeeds, but the double fork fails. No idea why, yet

Copy link
Contributor Author

markhindley commented Nov 11, 2020 via email

Copy link
Contributor Author

markhindley commented Nov 11, 2020 via email

Copy link

246.9999 ie git

>>> Test phase: sys-auth/elogind-246.9999
meson test -C /tmp/portage/sys-auth/elogind-246.9999/work/elogind-246.9999-build --num-processes 9
[1/85] Generating version.h with a custom command
  1/167 cc-sd-bus.h_c                           OK             0.05s
  2/167 cc-sd-bus.h_c-ansi                      OK             0.04s
  3/167 cc-sd-bus.h_c-std=iso9899_1990          OK             0.04s
  4/167 cc-sd-bus.h_c-std=iso9899_2011          OK             0.06s
  5/167 cc-sd-bus.h_c-std=iso9899_2017          OK             0.05s
  6/167 cc-sd-bus.h_c++                         OK             0.07s
  7/167 cc-sd-bus.h_c++-std=c++98               OK             0.05s
  8/167 cc-sd-bus.h_c++-std=c++11               OK             0.05s
  9/167 cc-sd-bus-protocol.h_c                  OK             0.04s
 10/167 cc-sd-bus-protocol.h_c-ansi             OK             0.03s
 11/167 cc-sd-bus-protocol.h_c-std=iso9899_1990 OK             0.04s
 12/167 cc-sd-bus-protocol.h_c-std=iso9899_2011 OK             0.03s
 13/167 cc-sd-bus-protocol.h_c-std=iso9899_2017 OK             0.04s
 14/167 cc-sd-bus-protocol.h_c++                OK             0.02s
 15/167 cc-sd-bus-protocol.h_c++-std=c++98      OK             0.02s
 16/167 cc-sd-bus-protocol.h_c++-std=c++11      OK             0.03s
 17/167 cc-sd-bus-vtable.h_c                    OK             0.05s
 18/167 cc-sd-bus-vtable.h_c-ansi               OK             0.05s
 19/167 cc-sd-bus-vtable.h_c-std=iso9899_1990   OK             0.05s
 20/167 cc-sd-bus-vtable.h_c-std=iso9899_2011   OK             0.04s
 21/167 cc-sd-bus-vtable.h_c-std=iso9899_2017   OK             0.05s
 22/167 cc-sd-bus-vtable.h_c++                  OK             0.08s
 23/167 cc-sd-bus-vtable.h_c++-std=c++98        OK             0.07s
 24/167 cc-sd-bus-vtable.h_c++-std=c++11        OK             0.08s
 25/167 cc-sd-daemon.h_c                        OK             0.04s
 26/167 cc-sd-daemon.h_c-ansi                   OK             0.04s
 27/167 cc-sd-daemon.h_c-std=iso9899_1990       OK             0.04s
 28/167 cc-sd-daemon.h_c-std=iso9899_2011       OK             0.02s
 29/167 cc-sd-daemon.h_c-std=iso9899_2017       OK             0.02s
 30/167 cc-sd-daemon.h_c++                      OK             0.04s
 31/167 cc-sd-daemon.h_c++-std=c++98            OK             0.04s
 32/167 cc-sd-daemon.h_c++-std=c++11            OK             0.04s
 33/167 cc-sd-device.h_c                        OK             0.04s
 34/167 cc-sd-device.h_c-ansi                   OK             0.02s
 35/167 cc-sd-device.h_c-std=iso9899_1990       OK             0.02s
 36/167 cc-sd-device.h_c-std=iso9899_2011       OK             0.02s
 37/167 cc-sd-device.h_c-std=iso9899_2017       OK             0.03s
 38/167 cc-sd-device.h_c++                      OK             0.05s
 39/167 cc-sd-device.h_c++-std=c++98            OK             0.04s
 40/167 cc-sd-device.h_c++-std=c++11            OK             0.05s
 41/167 cc-sd-event.h_c                         OK             0.04s
 42/167 cc-sd-event.h_c-ansi                    OK             0.04s
 43/167 cc-sd-event.h_c-std=iso9899_1990        OK             0.04s
 44/167 cc-sd-event.h_c-std=iso9899_2011        OK             0.04s
 45/167 cc-sd-event.h_c-std=iso9899_2017        OK             0.03s
 46/167 cc-sd-event.h_c++                       OK             0.04s
 47/167 cc-sd-event.h_c++-std=c++98             OK             0.04s
 48/167 cc-sd-event.h_c++-std=c++11             OK             0.04s
 49/167 cc-sd-hwdb.h_c                          OK             0.02s
 50/167 cc-sd-hwdb.h_c-ansi                     OK             0.02s
 51/167 cc-sd-hwdb.h_c-std=iso9899_1990         OK             0.02s
 52/167 cc-sd-hwdb.h_c-std=iso9899_2011         OK             0.02s
 53/167 cc-sd-hwdb.h_c-std=iso9899_2017         OK             0.03s
 54/167 cc-sd-hwdb.h_c++                        OK             0.03s
 55/167 cc-sd-hwdb.h_c++-std=c++98              OK             0.03s
 56/167 cc-sd-hwdb.h_c++-std=c++11              OK             0.03s
 57/167 cc-sd-id128.h_c                         OK             0.03s
 58/167 cc-sd-id128.h_c-ansi                    OK             0.03s
 59/167 cc-sd-id128.h_c-std=iso9899_1990        OK             0.03s
 60/167 cc-sd-id128.h_c-std=iso9899_2011        OK             0.03s
 61/167 cc-sd-id128.h_c-std=iso9899_2017        OK             0.04s
 62/167 cc-sd-id128.h_c++                       OK             0.03s
 63/167 cc-sd-id128.h_c++-std=c++98             OK             0.03s
 64/167 cc-sd-id128.h_c++-std=c++11             OK             0.04s
 65/167 cc-sd-journal.h_c                       OK             0.05s
 66/167 cc-sd-journal.h_c-ansi                  OK             0.03s
 67/167 cc-sd-journal.h_c-std=iso9899_1990      OK             0.03s
 68/167 cc-sd-journal.h_c-std=iso9899_2011      OK             0.05s
 69/167 cc-sd-journal.h_c-std=iso9899_2017      OK             0.03s
 70/167 cc-sd-journal.h_c++                     OK             0.05s
 71/167 cc-sd-journal.h_c++-std=c++98           OK             0.05s
 72/167 cc-sd-journal.h_c++-std=c++11           OK             0.05s
 73/167 cc-sd-login.h_c                         OK             0.04s
 74/167 cc-sd-login.h_c-ansi                    OK             0.04s
 75/167 cc-sd-login.h_c-std=iso9899_1990        OK             0.03s
 76/167 cc-sd-login.h_c-std=iso9899_2011        OK             0.03s
 77/167 cc-sd-login.h_c-std=iso9899_2017        OK             0.02s
 78/167 cc-sd-login.h_c++                       OK             0.04s
 79/167 cc-sd-login.h_c++-std=c++98             OK             0.03s
 80/167 cc-sd-login.h_c++-std=c++11             OK             0.03s
 81/167 cc-sd-messages.h_c                      OK             0.03s
 82/167 cc-sd-messages.h_c-ansi                 OK             0.03s
 83/167 cc-sd-messages.h_c-std=iso9899_1990     OK             0.03s
 84/167 cc-sd-messages.h_c-std=iso9899_2011     OK             0.03s
 85/167 cc-sd-messages.h_c-std=iso9899_2017     OK             0.03s
 86/167 cc-sd-messages.h_c++                    OK             0.04s
 87/167 cc-sd-messages.h_c++-std=c++98          OK             0.03s
 88/167 cc-sd-messages.h_c++-std=c++11          OK             0.04s
 89/167 cc-sd-path.h_c                          OK             0.03s
 90/167 cc-sd-path.h_c-ansi                     OK             0.03s
 91/167 cc-sd-path.h_c-std=iso9899_1990         OK             0.03s
 92/167 cc-sd-path.h_c-std=iso9899_2011         OK             0.04s
 93/167 cc-sd-path.h_c-std=iso9899_2017         OK             0.02s
 94/167 cc-sd-path.h_c++                        OK             0.04s
 95/167 cc-sd-path.h_c++-std=c++98              OK             0.03s
 96/167 cc-sd-path.h_c++-std=c++11              OK             0.03s
 97/167 dlopen-pam_elogind                      OK             0.01s
 98/167 test-utf8                               OK             0.01s
 99/167 test-dev-setup                          SKIP           0.01s
100/167 test-locale-util                        OK             0.01s
101/167 test-copy                               OK             0.02s
102/167 test-static-destruct                    OK             0.01s
103/167 test-random-util                        OK             0.01s
104/167 test-format-table                       OK             0.01s
105/167 test-format-util                        OK             0.01s
106/167 test-util                               OK             0.02s
107/167 test-json                               OK             0.01s
108/167 test-mountpoint-util                    OK             0.02s
109/167 test-exec-util                          OK             1.04s
110/167 test-hexdecoct                          OK             0.01s
111/167 test-alloc-util                         OK             0.01s
112/167 test-io-util                            OK             0.00s
113/167 test-fs-util                            OK             0.02s
114/167 test-umask-util                         OK             0.02s
115/167 test-proc-cmdline                       OK             0.02s
116/167 test-fd-util                            OK             0.04s
117/167 test-stat-util                          OK             0.01s
118/167 test-escape                             OK             0.02s
119/167 test-string-util                        OK             0.02s
120/167 test-extract-word                       OK             0.01s
121/167 test-parse-util                         OK             0.01s
122/167 test-user-util                          OK             0.01s
123/167 test-process-util                       OK             0.63s
124/167 test-pretty-print                       OK             0.01s
125/167 test-verbs                              OK             0.01s
126/167 test-signal-util                        OK             0.01s
127/167 test-selinux                            OK             0.01s
128/167 test-sizeof                             OK             0.01s
129/167 test-hashmap                            OK             0.03s
130/167 test-set                                OK             0.00s
131/167 test-set-disable-mempool                OK             0.01s
132/167 test-list                               OK             0.01s
133/167 test-procfs-util                        OK             0.01s
134/167 test-unaligned                          OK             0.01s
135/167 test-prioq                              OK             0.01s
136/167 test-log                                OK             0.01s
137/167 test-ellipsize                          OK             0.01s
138/167 test-strip-tab-ansi                     OK             0.01s
139/167 test-cgroup                             OK             0.01s
140/167 test-path-util                          OK             0.00s
141/167 test-siphash24                          OK             0.01s
142/167 test-strxcpyx                           OK             0.01s
143/167 test-conf-files                         OK             0.01s
144/167 test-conf-parser                        OK             0.33s
145/167 test-id128                              OK             0.01s
146/167 test-hash                               SKIP           0.01s
147/167 test-bus-util                           OK             0.00s
148/167 test-sd-path                            OK             0.01s
149/167 test-bus-address                        OK             0.01s
150/167 test-bus-signature                      OK             0.00s
151/167 test-bus-queue-ref-cycle                OK             0.01s
152/167 test-bus-error                          OK             0.01s
153/167 test-bus-server                         OK             0.01s
154/167 test-bus-vtable                         OK             0.01s
155/167 test-bus-match                          OK             0.00s
156/167 test-bus-introspect                     OK             0.01s
157/167 test-event                              OK             0.83s
158/167 test-login                              OK             0.00s
159/167 test-sd-device                          OK             0.07s
160/167 test-sd-device-thread                   OK             0.01s
161/167 test-sd-device-monitor                  SKIP           0.01s
162/167 test-login-shared                       OK             0.01s
163/167 test-login-tables                       OK             0.00s
164/167 test-libelogind-sym                     OK             0.00s
165/167 check-help-loginctl                     OK             0.02s
166/167 check-help-elogind-inhibit              OK             0.02s
167/167 check-help-busctl                       OK             0.02s

Summary of Failures:

 99/167 test-dev-setup                          SKIP           0.01s
146/167 test-hash                               SKIP           0.01s
161/167 test-sd-device-monitor                  SKIP           0.01s

Ok:                 164 
Expected Fail:      0   
Fail:               0   
Unexpected Pass:    0   
Skipped:            3   
Timeout:            0   

Full log written to /tmp/portage/sys-auth/elogind-246.9999/work/elogind-246.9999-build/meson-logs/testlog.txt
>>> Completed testing sys-auth/elogind-246.9999

Copy link

Yamakuzure commented Nov 13, 2020

I will put out rc2 in a few minutes, because:

sed-m7550 ~ # loginctl --version
elogind 246.00 (246.0-rc1-9-g0d52911+)
+PAM +AUDIT -SELINUX +SMACK +UTMP +ACL default-hierarchy=hybrid

sed-m7550 ~ # loginctl
    139 1004 sed  seat0    

1 sessions listed.

It works now! 😄

Edit: done 😉

Copy link

Lahvuun commented Nov 14, 2020

I installed rc2 with portage but rc-service elogind status still returns crashed. There is, however, a process called elogind-daemon and loginctl lists my session. I'm also able to run bspwm but not sway. Sway complains about unset XDG_RUNTIME_DIR which really isn't, and /run/user/1000 doesn't exist either.

Copy link

the same

 elogind                                                                                                                                       [  crashed  ]
~ $ rc-service elogind status
 * status: crashed

Copy link

Yamakuzure commented Nov 14, 2020 via email

Copy link

Fixed with 7db52c0

sed@sed-m7550 ~/pryde/elogind elogind [v246-stable {origin/v246-stable} ❯❯]
17:08:36 $ /etc/init.d/elogind status
 * status: started

sed@sed-m7550 ~/pryde/elogind elogind [v246-stable {origin/v246-stable} ❯❯]
17:09:24 $ rc-service elogind describe
 * No description for elogind
 * healthcheck: no description
 * unhealthy: no description
 * cgroup_cleanup: Kill all processes in the cgroup

sed@sed-m7550 ~/pryde/elogind elogind [v246-stable {origin/v246-stable} ❯❯]
17:09:31 $ rc-service elogind status
 * status: started

Hmmm... I think I'll take a look at what the rc-service elogind describe output means and how I can make that one nicer and more descriptive.

Copy link
Contributor Author

markhindley commented Nov 14, 2020 via email

Copy link

I am not quite sure yet, but will investigate. Thanks for the feedback!

Yamakuzure added a commit that referenced this issue Nov 21, 2020
Configuration loading has been enhanced to additionally search for
configuration files (*.conf) in:

* /etc/elogind/logind.conf.d
* /run/elogind/logind.conf.d
* /usr/local/lib/elogind/logind.conf.d
* /usr/lib/elogind/logind.conf.d
* /lib/elogind/logind.conf.d (if split-usr is set)

Additionally elogind now looks into the following paths for
configuration files with [Sleep] configurations:

* /etc/elogind/sleep.conf.d
* /run/elogind/sleep.conf.d
* /usr/local/lib/elogind/sleep.conf.d
* /usr/lib/elogind/sleep.conf.d
* /lib/elogind/sleep.conf.d (if split-usr is set)

Closes: #172

This also fixes the log messages about unknown Sections in
Bug: #170

Signed-off-by: Sven Eden <>
Copy link

@markhindley : The "Unknown section" issue is probably fixed in dd77166

Yamakuzure added a commit that referenced this issue Nov 22, 2020
Configuration loading has been enhanced to additionally search for
configuration files (*.conf) in:

* /etc/elogind/logind.conf.d
* /run/elogind/logind.conf.d
* /usr/local/lib/elogind/logind.conf.d
* /usr/lib/elogind/logind.conf.d
* /lib/elogind/logind.conf.d (if split-usr is set)

Additionally elogind now looks into the following paths for
configuration files with [Sleep] configurations:

* /etc/elogind/sleep.conf.d
* /run/elogind/sleep.conf.d
* /usr/local/lib/elogind/sleep.conf.d
* /usr/lib/elogind/sleep.conf.d
* /lib/elogind/sleep.conf.d (if split-usr is set)

Closes: #172

This also fixes the log messages about unknown Sections in
Bug: #170

Signed-off-by: Sven Eden <>
(cherry picked from commit dd77166)
Copy link

perfect7gentleman commented Nov 24, 2020

there are still problems with 246.9999

(EE) systemd-logind: failed to get session: Failed to activate service 'org.freedesktop.login1': timed out (service_start_timeout=25000ms)
(EE) parse_vt_settings: Cannot open /dev/tty0 (Permission denied)
(EE) Server terminated with error (1). Closing log file.

So, cannot log in Plasma X-Session, downgrading to 243 resolves it.

Copy link

The same problem with Wayland session.

Copy link

@perfect7gentleman : I finally found the issue that made rc2 horrible.
elogind forks nicely again, and logs to syslog without pretending to be a kernel module now. 😃

Copy link

seems to work again.

Copy link

Although I am waiting for answers on the other issues, I will release the new elogind version tomorrow.

Whatever pops up then, can be fixed. 😉

Yamakuzure added a commit that referenced this issue Dec 19, 2020
This is the first release of the new version 246 series.
We start with 246.9 to be in sync with upstream systemd tagging.

The latest upstream commit this version is synced to is

One important note: If you have a localized Linux with translated man
pages installed, you have to use `LC_ALL=C` when calling `man` for
elogind manuals about `logind.conf` or `loginctl`. Otherwise you will
see the translated pages for the systemd versions.

Changes and Additions
* Removed unused source files and headers.
* pam_elogind: Do not ask for 'elogind-user-record', nothing sets
  that up.
* suspend/hibernate: Read current config before acting. This way
  users can change their configurations and have them applied without
  the need to restart or SIGHUP elogind.
* Enable checking for BTRFS before calculating an offset to a
  swap_file before hibernating.
* Makefile: Allow parallel debug and release builds.
* cgroup controller detection has been enhanced to be more reliable.
* Makefile: Fully wrap meson/ninja to be compatible with JetBrains
  CLion IDE.
* Support config files in .d directories: (#170, #172)
  Configuration loading has been enhanced to additionally search for
  configuration files (*.conf) in:
    * /etc/elogind/logind.conf.d
    * /run/elogind/logind.conf.d
    * /usr/local/lib/elogind/logind.conf.d
    * /usr/lib/elogind/logind.conf.d
    * /lib/elogind/logind.conf.d (if split-usr is set)
    Additionally elogind now looks into the following paths for
    configuration files with [Sleep] configurations:
    * /etc/elogind/sleep.conf.d
    * /run/elogind/sleep.conf.d
    * /usr/local/lib/elogind/sleep.conf.d
    * /usr/lib/elogind/sleep.conf.d
    * /lib/elogind/sleep.conf.d (if split-usr is set)
    Additional to the system shutdown skript directory, elogind will
    now also look into `/etc/elogind/system-shutdown` for shutdown
    hook skripts.
* Add functionality to try to lay present nvidia cards to sleep when
  suspending/hibernating (#140)
  New logind.conf entry: `HandleNvidiaSleep` default: `no`
* Actually heed SuspendMode= settings in logind.conf
* Prefer syslog over kmsg, elogind is a daemon, not a kernel module.
* Make broadcasting of PowerOff/Suspend cancellation optional. (#175)
  New logind.conf entryies:
  * `BroadcastPowerOffInterrupts` default: `yes`
  * `BroadcastSuspendInterrupts` default: `yes`

Fixed Bugs
* Fix two potential NULL pointer issues.
* Execute wakeup skripts in serial order. (#72)
* Fix creation of user runtime directories.
* Fix elogind double fork, so logging works as expected.
* Make privilege check on suspend/hibernate optional. (#167)
* `man logind.conf`: Document sleep modes/states (#180)
  (You might need to use `LC_ALL=C` to actually see this, as
   translations installed are for systemd logind.conf.)

Signed-off-by: Sven Eden <>
Copy link

Done. 😉

enometh pushed a commit to enometh/elogind that referenced this issue Aug 3, 2022
* README: add related projects


* fix readme feature section

correct animations part (we support webp animation as well) and mention

* remove duplicate Contribution Guideline heading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet

No branches or pull requests

6 participants