Created attachment 643132 [details] Output of enlightenment_start When trying to start enlightenment_start to use Wayland session using ECORE_EVAS_ENGINE=wayland_egl ELM_DISPLAY=wl ELM_ACCEL=gl enlightenment_start fails to start and produces error:- Enlightenment cannot initialize X Connection... LOAD WL_WL MODULE Could not create wayland canvas LOAD WL_X11 MODULE X11 connect failed! LOAD WL_DRM MODULE ERR<2882>:ecore_drm2 ../efl-1.24.2/src/lib/ecore_drm2/ecore_drm2_device.c:602 ecore_drm2_device_open() Could not connect to input manager ERR<2882>:ecore_evas ../efl-1.24.2/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c:163 _ecore_evas_drm_init() Failed to open device Could not create ecore_evas_drm canvas<<<< Enlightenment Error >>>> Enlightenment cannot create a compositor. See err.txt for more info and complete message. Notes - I can run Weston and Wayfire without issues and Enlightenment will not start in sddm when using Wayland. emerge --info:- Portage 2.3.99 (python 3.7.7-final-0, default/linux/amd64/17.1/desktop, gcc-9.3.0, glibc-2.30-r8, 5.4.38-gentoo x86_64) ================================================================= System uname: Linux-5.4.38-gentoo-x86_64-AMD_Ryzen_7_2700X_Eight-Core_Processor-with-gentoo-2.6 KiB Mem: 16378264 total, 12632712 free KiB Swap: 16777212 total, 16777212 free Timestamp of repository gentoo: Tue, 02 Jun 2020 08:00:01 +0000 Head commit of repository gentoo: 3e24f76827fb4b305327d68a57216e4c73befd00 sh bash 5.0_p17 ld GNU ld (Gentoo 2.33.1 p2) 2.33.1 app-shells/bash: 5.0_p17::gentoo dev-lang/perl: 5.30.1::gentoo dev-lang/python: 2.7.18::gentoo, 3.6.10-r2::gentoo, 3.7.7-r2::gentoo, 3.8.2-r2::gentoo dev-util/cmake: 3.16.5::gentoo sys-apps/baselayout: 2.6-r1::gentoo sys-apps/openrc: 0.42.1::gentoo sys-apps/sandbox: 2.13::gentoo sys-devel/autoconf: 2.13-r1::gentoo, 2.69-r4::gentoo sys-devel/automake: 1.16.1-r1::gentoo sys-devel/binutils: 2.33.1-r1::gentoo sys-devel/gcc: 9.3.0::gentoo sys-devel/gcc-config: 2.2.1::gentoo sys-devel/libtool: 2.4.6-r6::gentoo sys-devel/make: 4.2.1-r4::gentoo sys-kernel/linux-headers: 5.4-r1::gentoo (virtual/os-headers) sys-libs/glibc: 2.30-r8::gentoo Repositories: gentoo location: /var/db/repos/gentoo sync-type: rsync sync-uri: rsync://rsync.gentoo.org/gentoo-portage priority: -1000 sync-rsync-verify-metamanifest: yes sync-rsync-extra-opts: sync-rsync-verify-jobs: 1 sync-rsync-verify-max-age: 24 jacendi-overlay location: /var/lib/layman/jacendi-overlay sync-type: laymansync sync-uri: https://bitbucket.org/jacendi/jacendi-overlay masters: gentoo priority: 50 sabayon location: /var/lib/layman/sabayon sync-type: laymansync sync-uri: git://github.com/Sabayon/for-gentoo.git masters: gentoo priority: 50 steam-overlay location: /var/lib/layman/steam-overlay sync-type: laymansync sync-uri: https://github.com/anyc/steam-overlay.git masters: gentoo priority: 50 ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="*" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-O2 -pipe" DISTDIR="/var/cache/distfiles" ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="ftp://mirror.bytemark.co.uk/gentoo/ https://mirror.bytemark.co.uk/gentoo/ http://mirror.bytemark.co.uk/gentoo/ rsync://mirror.bytemark.co.uk/gentoo/ http://mirrors.evowise.com/gentoo/ https://mirrors.evowise.com/gentoo/ https://www.mirrorservice.org/sites/distfiles.gentoo.org/ http://www.mirrorservice.org/sites/distfiles.gentoo.org/ ftp://ftp.mirrorservice.org/sites/distfiles.gentoo.org/ rsync://rsync.mirrorservice.org/distfiles.gentoo.org/" LANG="en_GB.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" LINGUAS="en" MAKEOPTS="-j9" PKGDIR="/var/cache/binpkgs" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git" PORTAGE_TMPDIR="/tmp" USE="X a52 aac acl acpi alsa amd64 bash-completion berkdb bluetooth branding bzip2 cairo cdda cdr cli crypt dbus dri dts dvd dvdr elogind emboss encode exif ffmpeg flac fortran gdbm gif gpm gtk iconv icu ipv6 jpeg lcms ldap libnotify libtirpc lock mad mng mp3 mp4 mpeg mtp multilib ncurses nls nptl ogg opengl openmp pam pango pcre pdf png ppds pulseaudio qt5 readline sdl seccomp spell split-usr ssl startup-notification svg symlink tcpd tiff truetype udev udisks unicode upower usb virgl vorbis wayland wxwidgets x264 xattr xcb xml xv xvid zlib" ABI_X86="64" ADA_TARGET="gnat_2018" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="libinput" KERNEL="linux" L10N="en-GB" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-2" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_7" PYTHON_TARGETS="python2_7 python3_7" QEMU_USER_TARGETS="x86_64" RUBY_TARGETS="ruby24 ruby25" USERLAND="GNU" VIDEO_CARDS="amdgpu radeonsi" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
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(-)