Summary: | x11-wm/enlightenment - Cannot start Wayland Session using enlightenment_start | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | John <john> |
Component: | Current packages | Assignee: | Joonas Niilola <juippis> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | bonbons |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | Output of enlightenment_start |
Description
John
2020-06-02 12:43:51 UTC
Judging from the error log, there seems to be some issues with dbus/logind. Could you paste 'emerge -pv --nodeps efl enlightenment' and make sure your dbus is running? And that elogind has been started at boot. You may have to issue "dbus-launch enlightenment_start", although I don't believe it will change anything. I'm seeing more and more errors like these with elogind - I hope they won't make systemd a hard-dependency. [ebuild R ~] dev-libs/efl-1.24.2::gentoo USE="X dds drm eet elogind examples fbcon fontconfig gif gles2 glib gnutls gstreamer harfbuzz hyphen ibus jpeg2k libressl luajit nls pdf pulseaudio scim sdl sound ssl svg system-lz4 tga tiff wayland webp xcf xim xpm -bmp -connman -debug -doc -fribidi -ico -json -lua -mono -opengl -physics -pmaps -postscript -psd -raw -systemd -tgv -tslib -unwind -v4l -vnc -xpresent -zeroconf" 0 KiB [ebuild R ~] x11-wm/enlightenment-0.24.1:0.17/0.24.1::gentoo USE="acpi bluetooth nls pam udisks wayland xwayland -connman -doc -geolocation -policykit -systemd -wifi" 0 KiB Total: 2 packages (2 reinstalls), Size of downloads: 0 KiB rc-update dbus | default devfs | sysinit dmesg | sysinit elogind | boot Yes dbus running and elogind running. elogind starts at boot time. John This problem got fixed on the efl git https://git.enlightenment.org/core/efl.git/commit/?id=ee9836c5e78a9b52a5265e6ec4156a025fb6a1a6 This should work out of the box now. It was a path issue. "export EFL_ELOGIND_LIB=/pathtolib" should work too now. https://forums.gentoo.org/viewtopic-t-1116786.html Unfortunately that patch is not backwards-compatible with efl-1.24.3, since they've completely rewritten systemd and elogind support in efl. However it tells us where the problem is, and we might be able to workaround it for 1.24.3. Patchelf in ebuild, or simply patching it by ourself. Got it working with a few tweaks: 1. Modified the ebuild so systemd is always activated for meson (it doesn't have to be actually installed) https://pastebin.com/ajuUGcm4 2. created a systemd service file that points to elogind (/usr/local/lib64/pkgconfig/libsystemd.pc) : # SPDX-License-Identifier: LGPL-2.1+ # # This file is part of elogind. # # elogind is free software; you can redistribute it and/or modify it # under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation; either version 2.1 of the License, or # (at your option) any later version. prefix=/usr/local exec_prefix=/usr/local libdir=/lib64 #if 0 /// To be able to act as a drop-in replacement, elogind has a systemd subdir # includedir=/usr/include #else // 0 includedir=/usr/include/elogind #endif // 0 Name: systemd Description: systemd Library URL: https://github.com/elogind/elogind Version: 243.7 Libs: -L${libdir} -lelogind Cflags: -I${includedir} 3. export PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig:"$PKG_CONFIG_PATH" 4. emerge the modified ebuild New updated efl-1.25.0 should fix this issue. Could you test? It doesn't work, same error as before, because meson gets wrong parameters: ### meson setup --buildtype plain --libdir lib64 --localstatedir /var/lib --prefix /usr --sysconfdir /etc --wrap-mode nodownload --build.pkg-config-path /usr/share/pkgconfig --pkg-config-path /usr/share/pkgconfig --native-file /var/tmp/portage/dev-libs/efl-1.25.0/temp/meson.x86_64-pc-linux-gnu.amd64.ini --buildtype=release -D buffer=false -D cocoa=false -D drm-deprecated=false -D g-mainloop=false -D install-eo-files=true -D mono-beta=false -D dotnet=false -D pixman=false -D wl-deprecated=false -D dotnet-stylecop-severity=Warning -D edje-sound-and-video=true -D eeze=true -D libmount=true -D native-arch-optimization=true -D xinput2=true -D xinput22=true -Dx11=true -Ddebug-threads=false -Ddrm=true -Dsystemd=true -Dbuild-examples=false -Dfb=false -Dfontconfig=true -Dfribidi=false -Dglib=true -Dgstreamer=true -Dharfbuzz=true -Dhyphen=true -Delua=true -Dnls=true -Dphysics=true -Dpulseaudio=true -Dsdl=false -Daudio=true -Dsystemd=false -Dtslib=false -Dv4l2=false -Dvnc-server=false -Dwl=true -Dxpresent=false -Davahi=false -Dembedded-lz4=false -D opengl=es-egl -D crypto=openssl -D network-backend=none -D evas-loaders-disabler=avif,jp2k,json,pmaps,ps,psd,raw,tga,tgv,webp,xpm -D ecore-imf-loaders-disabler=xim -D bindings=cxx,lua -D lua-interpreter=luajit /var/tmp/portage/dev-libs/efl-1.25.0/work/efl-1.25.0 /var/tmp/portage/dev-libs/efl-1.25.0/work/efl-1.25.0-build ### It gets both systemd=true and false which results in no elogind support. The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c76b03773d845d9644690dc37f4c4e2c09e1e5d5 commit c76b03773d845d9644690dc37f4c4e2c09e1e5d5 Author: Joonas Niilola <juippis@gentoo.org> AuthorDate: 2020-09-25 05:32:41 +0000 Commit: Joonas Niilola <juippis@gentoo.org> CommitDate: 2020-09-25 05:33:29 +0000 dev-libs/efl: fix elogind-systemd detection on 1.25.0 Bug: https://bugs.gentoo.org/726762 Signed-off-by: Joonas Niilola <juippis@gentoo.org> dev-libs/efl/efl-1.25.0-r1.ebuild | 302 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 302 insertions(+) It works for me now (on an amd64 system). The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4216eff4a7e63222dcd921e87f879c8ce7f9f7d1 commit 4216eff4a7e63222dcd921e87f879c8ce7f9f7d1 Author: Joonas Niilola <juippis@gentoo.org> AuthorDate: 2020-09-28 06:07:37 +0000 Commit: Joonas Niilola <juippis@gentoo.org> CommitDate: 2020-09-28 06:08:02 +0000 dev-libs/efl: either elogind or systemd is needed for wayland Bug: https://bugs.gentoo.org/726762 Signed-off-by: Joonas Niilola <juippis@gentoo.org> dev-libs/efl/efl-1.25.0-r1.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Hello, enlightenment_start works now and can start wayland session. Thanks John efl-1.25.1 started needing either elogind or systemd for wayland support. Looking at the motivation in this bug report it feels enlightenment needs efl to be built with support for either of them, not any random efl-based application to run under a wayland compositor. As such requiring either of systemd/elogind for efl feels wrong (blindly requiring either of them for efl feels like requiring either of them for for gtk3). Can that requirement be moved to enlightenment ebuild in the idea of: DEPEND=" ... wayland? ( || (dev-libs/efl[systemd] dev-libs/efl[elogind] ) ) ... " Do I understand you correctly, that you want this to be moved *from* efl: REQUIRED_USE=" wayland? ( gles2-only !opengl || ( elogind systemd ) )" to enlightenment as you demonstrated? Does efl with wayland build without either of them enabled? It could make sense if yes. (In reply to Joonas Niilola from comment #13) > Do I understand you correctly, that you want this to be moved *from* efl: > REQUIRED_USE=" > wayland? ( gles2-only !opengl || ( elogind systemd ) )" > > to enlightenment as you demonstrated? > > Does efl with wayland build without either of them enabled? It could make > sense if yes. Yes REQUIRED_USE="... wayland? ( gles2-only !opengl || ( elogind systemd ) ) ... " would become REQUIRED_USE="... wayland? ( gles2-only !opengl ) ... " and enlightenment would get the requirement for its efl to be build with either one of elogind/systemd. Up until efl-1.24 I've been able to run e.g. terminology under sway with neither elogind nor systemd. Just successfully tested that now with terminology and my suggested change applied. Terminology runs just fine under sway. The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4003b1f5fe76db52348b0a5e1da2c770ca963ae2 commit 4003b1f5fe76db52348b0a5e1da2c770ca963ae2 Author: Joonas Niilola <juippis@gentoo.org> AuthorDate: 2020-11-25 12:23:16 +0000 Commit: Joonas Niilola <juippis@gentoo.org> CommitDate: 2020-11-25 12:27:06 +0000 dev-libs/efl: elogind/systemd not needed for wayland during compile - allows other efl software, like terminology, to be used without elogind/systemd. Closes: https://bugs.gentoo.org/726762 Signed-off-by: Joonas Niilola <juippis@gentoo.org> dev-libs/efl/{efl-1.25.1-r1.ebuild => efl-1.25.1-r2.ebuild} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Additionally, it has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e976c167bf4ba1aa0fbc6ee2d1aab4b1bf5d74a2 commit e976c167bf4ba1aa0fbc6ee2d1aab4b1bf5d74a2 Author: Joonas Niilola <juippis@gentoo.org> AuthorDate: 2020-11-25 12:20:23 +0000 Commit: Joonas Niilola <juippis@gentoo.org> CommitDate: 2020-11-25 12:27:06 +0000 x11-wm/enlightenment: wayland requires elogind/systemd support in efl Bug: https://bugs.gentoo.org/726762 Signed-off-by: Joonas Niilola <juippis@gentoo.org> .../{enlightenment-0.24.2.ebuild => enlightenment-0.24.2-r1.ebuild} | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) |