Re: [E-devel] Running Wayland under elogind
For anyone interested I made my crude hackish patch for adding elogind support to EFL public in my repo. https://github.com/Obsidian-StudiosInc/os-xtoo/blob/master/dev-libs/efl/files/elogind.patch Others including myself are interested in playing around with Wayland via elogind vs systemd. I had it for myself sometime back, just making it public for others to tests, review, make changes in EFL upcoming meson build to support such or modify existing make. As a hackish way to bypass the need for journald, I added #ifdef HAVE_SYSTEMDD With 2 Ds, that nothing matches. Just means to avoid that ifdef, when enabling systemd. Since HAVE_SYSTEMD is set for logind usage. IMHO there should be a test for journald specifically when systemd is enabled in build. That way no new configure option, but if for some reason journald is not present, like someone has elogind but not all of systemd. They can still build EFL with systemd enabled. I do not think it makes sense for EFL to have systemd and elogind build options. I think it can be handled both ways via just systemd. Though an elogind option would be clearer for others. Disable systemd, enable elogind as I am doing in my ebuild. You can only set one or the other not both. https://github.com/Obsidian-StudiosInc/os-xtoo/blob/master/dev-libs/efl/efl-.ebuild#L32 -- William L. Thomson Jr. pgp3BrnBga4iS.pgp Description: OpenPGP digital signature -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] Running Wayland under elogind
Super stoked, first time ever I have seen Wayland I was able to start E on wayland, on 1 display. Now I can try out multi patches! Not to mention play with Wayland etc. On Tue, 3 Apr 2018 10:08:27 -0400 "William L. Thomson Jr."wrote: > This does not look good... > > $ /bin/loginctl >SESSIONUID USER SEAT TTY > > 0 sessions listed. This was for sure the problem. I have not worked it out 100%, but made progress. Basically on Gentoo they were installing. /etc/pam.d/elogind-user But nothing sourced or used that file. I noticed bits of consolekit in /etc/pam.d/system-login So I added the following. --- a/etc/pam.d/system-login +++ b/etc/pam.d/system-login @@ -12,5 +12,7 @@ sessionoptionalpam_lastlog.so silent sessioninclude system-auth sessionoptionalpam_ck_connector.so nox11 +sessionoptionalpam_keyinit.so force revoke +sessionoptionalpam_elogind.so sessionoptionalpam_motd.so motd=/etc/motd sessionoptionalpam_mail.so Though not sure its the right file or location. I am seeing some odd stuff in Terminals when under X11 after that modification. I assume same under Wayland. I do not get a prompt right away, not till I hit enter. Seems something else is off there. At least some progress!!! I still got some errors, but E started and did not seem like it was running under X, so pretty 100% it was Wayland :) -- William L. Thomson Jr. pgpEQ0H5p74jF.pgp Description: OpenPGP digital signature -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] Running Wayland under elogind
Thanks for the reply and idea where the problem resides. On Wed, 28 Mar 2018 15:55:55 -0400 Christopher Michaelwrote: > > The problem looks like line 104: > > ERR<4042>:elput lib/elput/elput_logind.c:506 _logind_connect() Could > not get systemd session > > Essentially, the elput code is trying to execute: sd_pid_get_session > but that is returning an error. Perhaps there is some elogind > environment variable (or some other method) to setup a session ?? Thanks I think something is not right with either elogind or dbus, a runtime issue not build. Seems to build fine against elogind. Maybe something not configured right in environment. Hopefully not something another component of systemd helps setup. Or something with the login process not starting a session. I think I am missing like. XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0 XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0 Seems like those should come from dbus or something. Those are vars I need to set in Entrnace. The question is where to get the values, and seems elogind relies on dbus for some of that. This does not look good... $ /bin/loginctl SESSIONUID USER SEAT TTY 0 sessions listed. Consolekit2 provides some of that as well, maybe conflicting with elogind not sure. $ ck-list-sessions Session4: unix-user = '10001' realname = '(null)' seat = 'Seat1' session-type = 'unspecified' session-class = 'user' session-state = 'active' active = TRUE x11-display = ':0.0' x11-display-device = '/dev/tty7' display-device = '' remote-host-name = '' is-local = TRUE on-since = '2018-04-03T13:41:18.290571Z' login-session-id = '' XDG_RUNTIME_DIR = '/var/run/user/10001' VTNr = '7' I played around with suid, and I got some other error relating to dbus. One is as my user, the other root. https://github.com/Obsidian-StudiosInc/entrance/files/1865642/wayland.1.log https://github.com/Obsidian-StudiosInc/entrance/files/1865643/wayland.2.log Thanks for any feedback and help on this. I am sure other non-systemd users will appreciate being able to run E under Wayland via elogind. -- William L. Thomson Jr. pgpeJQWOs0stY.pgp Description: OpenPGP digital signature -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] Running Wayland under elogind
On 03/28/2018 11:19 AM, William L. Thomson Jr. wrote: Since I do not run Systemd, as others, the only hope for me to run Wayland is via elogind vs logind/systemd. I made some hackish changes to the build system to get it to build. Which I think elogind is 100% api compatible and the same as logind. No compile time issues, but I ran into runtime issues. Build wise, I think there should be 2 modifications. Rather than check/enable/disable systemd. Maybe it should check for things it actually needs like journald and logind. I had to rename the define for journald. HAVE_SYSTEMD -> HAVE_SYSTEMDD https://github.com/Enlightenment/efl/blob/master/src/lib/eina/eina_log.c#L32 Obviously no HAVE_SYSTEMDD, just did that so that when I set HAVE_SYSTEMD, it did not try to build against journald which is not present. I think that should be changed to like HAVE_JOURNALD and HAVE_LOGIND. That way they can be enabled if present, individually. There could still be a global option for systemd. The runtime issues can be seen in the following log file. My gut says something in the elogind environment is not setup properly. Its not a code thing, its something not correct at runtime. Since EFL builds fine against elogind. That says code is good, but something is off at runtime. At least that is my assumption as to why its not working. https://github.com/Obsidian-StudiosInc/entrance/files/1850078/wayland.log (prefix with view-source: in firefox to view vs download) Just wanted to get others feedback. Code vs runtime issue with elogind. The problem looks like line 104: ERR<4042>:elput lib/elput/elput_logind.c:506 _logind_connect() Could not get systemd session Essentially, the elput code is trying to execute: sd_pid_get_session but that is returning an error. Perhaps there is some elogind environment variable (or some other method) to setup a session ?? Cheers, dh -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] Running Wayland under elogind
Since I do not run Systemd, as others, the only hope for me to run Wayland is via elogind vs logind/systemd. I made some hackish changes to the build system to get it to build. Which I think elogind is 100% api compatible and the same as logind. No compile time issues, but I ran into runtime issues. Build wise, I think there should be 2 modifications. Rather than check/enable/disable systemd. Maybe it should check for things it actually needs like journald and logind. I had to rename the define for journald. HAVE_SYSTEMD -> HAVE_SYSTEMDD https://github.com/Enlightenment/efl/blob/master/src/lib/eina/eina_log.c#L32 Obviously no HAVE_SYSTEMDD, just did that so that when I set HAVE_SYSTEMD, it did not try to build against journald which is not present. I think that should be changed to like HAVE_JOURNALD and HAVE_LOGIND. That way they can be enabled if present, individually. There could still be a global option for systemd. The runtime issues can be seen in the following log file. My gut says something in the elogind environment is not setup properly. Its not a code thing, its something not correct at runtime. Since EFL builds fine against elogind. That says code is good, but something is off at runtime. At least that is my assumption as to why its not working. https://github.com/Obsidian-StudiosInc/entrance/files/1850078/wayland.log (prefix with view-source: in firefox to view vs download) Just wanted to get others feedback. Code vs runtime issue with elogind. -- William L. Thomson Jr. pgp1MQSv56uLg.pgp Description: OpenPGP digital signature -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel