Page MenuHomePhabricator

Modify EFL build system to support elogind as a systemd logind alternative
Closed, ResolvedPublic

Description

I am not sure if EFL needs all of Systemd or not. I am interested in running E under Wayland, without systemd. It seems this may be possible using the stand alone elogind. However since EFL is looking for libsystemd, and linking to that, among other files being installed, etc for systemd. I do not think I can even get anything to work unless I enable systemd when I build EFL.

I believe the EFL build system needs to be modified to link against libelogind, in cases where that is wanted over libsytemd. I am not sure about the rest of the systemd related files, etc. But that is all easily addressed once the linkage is done. For now I cannot even test out elogind, and efl/wayland due to the compile/linking issue.

Hoping it would be a trivial change to build system. Looking at make and configure files. It seems it is a pretty major change. I am not sure I am experienced enough with autotools to make such. Though I will happy test any such modifications ASAP.

wltjr created this task.Apr 21 2017, 9:47 AM

For now I am going to experiment with adding in an option --enable-elogind. If that works it will have to be a blocker for enable-systemd, one or the other not both.

stefan_schmidt triaged this task as Wishlist priority.May 3 2017, 4:23 AM
wltjr added a comment.May 25 2017, 7:56 AM

Just as an update, I had discussed this on list. Seems modifying the build system will not be as difficult. Just need to confirm if it builds and works. I think you can symlink libelongind -> libsystemd, to fake out the build system to think systemd is installed when it is just elogind. I think that will work, and if so reduced the modifications needed to the build system.

Due to lack of multi-display support and switching displays. I cannot test out Wayland, or have very little motivation as I cannot use it daily. Thus I have not tested out the symlink theory.

This comment was removed by vtolstov.
kanyck added a subscriber: kanyck.EditedMar 18 2018, 11:17 AM

Hello,
I've tried to make use of enlightment with wayland on Gentoo system with no success this far.
Weston seem to work fine, so wayland part is probably okay. However enlighthment refuses to start with
ERR<12234>:ecore_evas modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c:2340 _ecore_evas_wl_common_new_internal() Failed to connect to Wayland Display (NULL)
which is not very informative to me.
Obviously I don't have systemd on Gentoo, so assuming that being a problem I tried to symlink libsystemd-login.so -> libelogind.so and libsystemd-login.so.0 -> libelogind.so.0 with no apparent diffrence. Probably there are some more things I could try (pam, whatever...). It's brand new system I've just installed so there may be other reasons for it not to work.
Anyways, elogind is gaining its popularity so it's probably worth a shot.
Thanks,
Nick

This is actually on my list of things to get done. Unsure exactly when it will get done tho

Oh! I see! Thank you. Looking forward to make use of it!
Please let us know in this thread as soon as it's done.
And again, thanks for what you're doing!

Hey! Any progress on that?

zmike edited projects, added Restricted Project; removed efl.Jun 11 2018, 6:57 AM
bu5hm4n edited projects, added efl: display system, efl: system integration; removed Restricted Project.Jun 11 2018, 8:21 AM
devilhorns added a comment.EditedJul 17 2018, 7:36 PM

I have created a dev branch with some changes to enable this. The dev branch is here: https://git.enlightenment.org/core/efl.git/log/?h=devs/devilhorns/elput . When building, just pass --enable-elogind to the build process.

I am unable to actually Test this branch as installing Elogind will mess up my system, so I am relying on other people to test and report issues here.

After some initial testing, I will submit the branch for review so that it can be pushed to master.

Please let me know of any issues with this !!!

I have created a dev branch with some changes to enable this. The dev branch is here: https://git.enlightenment.org/core/efl.git/log/?h=devs/devilhorns/elput . When building, just pass --enable-elogind to the build process.

Can confirm it builds with --enable-elogind on.
Here's the build.log for configure part,

I'm running efl-git now e-git but I couldn't get wayland to work. If I understood correctly what raster said in IRC, wayland support is currently broken in e-git so it's not about my system.

Running happily on x11 though :). Will try again later with wayland.

devilhorns closed this task as Resolved.Jan 28 2019, 8:51 AM

Support for elogind has been upstreamed for a while now