Display manager issues after installing E20 RC1 from Factory on Tumbleweed


I installed Enlightenment 20 RC1 on Tumbleweed using the X11:Enlightenment:Factory repository and after this my display managers have been giving me grief. See I logged out of Plasma 5 (my original desktop) and went into SDDM to login to the E20 I just installed and it failed to launch, rather my screen went black after entering my login credentials and I was returned to the SDDM login screen. After this I rebooted and tried to login to E20 RC1 again from SDDM and this too failed, so I went into tty1 (with Ctrl+F1 – I’m using VirtualBox 5.0.10 to use Tumbleweed, if relevant) and ran:

sudo systemctl disable sddm
sudo systemctl stop sddm

created ~/.xinitrc with the contents:

exec /usr/bin/enlightenment_start

and ran xinit and E20 failed to start and rather gave an error message shown here. After that as part of trying to problem-solve this problem myself I decided to check out whether or not this problem occurs with LightDM so I ran:

sudo zypper install lightdm

edited /etc/sysconfig/displaymanager, changing the DISPLAYMANAGER field from sddm to lightdm. Then I ran

rcxdm restart

(as root ofc) to get the error:

Job for display-manager.service failed because the control process exited with error code. See "systemctl status display-manager.service" and "journalctl -xe" for details.

so then I ran:

systemctl status display-manager.service

as per the error message and this gave the output:

● display-manager.service - X Display Manager
   Loaded: loaded (/usr/lib/systemd/system/display-manager.service; enabled; vendor preset: disabled)
  Active: failed (Result: exit-code) since Fri 2015-11-27 10:37:10 GMT; 2min 34s ago
Process: 5972 ExecStart=/usr/lib/X11/display-manager start (code=exited, status=1/FAILURE)
Nov 27 10:37:10 nohostname display-manager[5972]: KEYMAP: us
Nov 27 10:37:10 nohostname display-manager[5972]: Command: localectl set-keymap us
Nov 27 10:37:10 nohostname display-manager[5972]: I: Using systemd /usr/share/systemd/kbd-model-map mapping
Nov 27 10:37:10 nohostname display-manager[5972]: Starting service lightdmConfiguration file /usr/share/lightdm/lightdm.conf.d/50-suse-defaults.conf contains a deprecated [SeatDefaults] section, use [Seat:*] instead
Nov 27 10:37:10 nohostname display-manager[5972]: Failed to use bus name org.freedesktop.DisplayManager, do you have appropriate permissions?
Nov 27 10:37:10 nohostname systemd[1]: display-manager.service: Control process exited, code=exited status=1
Nov 27 10:37:10 nohostname systemd[1]: Failed to start X Display Manager.
Nov 27 10:37:10 nohostname systemd[1]: display-manager.service: Unit entered failed state.
Nov 27 10:37:10 nohostname systemd[1]: display-manager.service: Failed with result 'exit-code'.
Nov 27 10:37:10 nohostname display-manager[5972]: ..failed

Now when I reboot, despite the fact I had disabled the SDDM service, SDDM still starts on boot, the only difference is that now I can’t even login to Plasma 5. Hence I’m kind of stuck as to what to do.

Thanks for your time,

That doesn’t help in openSUSE.
We use a generic display-manager.service, not individual .service files for each display manager.
You have to set the display manager to use in /etc/sysconfig/displaymanager.

Although at least SDDM does come with each own .service file which you could enable instead of display-manager, but that’s not recommended.

created ~/.xinitrc with the contents:

exec /usr/bin/enlightenment_start

You shouldn’t do that either.
Just select enlightenment at the login screen, or set it as default in /etc/syconfig/windowmanager.

Now when I reboot, despite the fact I had disabled the SDDM service, SDDM still starts on boot, the only difference is that now I can’t even login to Plasma 5. Hence I’m kind of stuck as to what to do.

SDDM starts even though you set lightdm in /etc/sysconfig/displaymanager?
That would be strange…

To be able to login again, remove your ~/.xinitrc.

I cannot help you much with enlightenment though.

yeah and what’s even more strange, I just installed Entrance and set it as my DM in /etc/sysconfig/displaymanager and rebooted and yet again SDDM was my DM. At least your advice to remove ~/.xinitrc worked, so thanks.

Hm. Maybe the sddm.service is enabled instead of display-manager.service?

systemctl status sddm

Although according to your post you actually disabled it manually…

Maybe you have multiple DISPLAYMANAGER entries in /etc/sysconfig/displaymanager?
One would overwrite the other in this case.

Regarding enlightenment:
The command to start it is indeed “enlightenment_start”, at least that’s what is in the xsession file.
Maybe try to run that inside IceWM (or similar) to see whether it works then (or maybe you would get an error message that would provide a clue what’s wrong).

Also, as you say you use the X11:Enlightenment:Factory repo, try to do a full switch to that repo.
Enlightenment is contained in the Tumbleweed distribution (version 19 at the moment), you might have a mixture of incompatible packages installed…

what you mean remove the main tumbleweed repo? To be clear, I have Plasma 5 installed and I don’t really want to flush it down the toilet for the sake of E20. Is there a way to reinstall E20 and tell zypper to get all its dependencies from the X11:Enlightenment:Factory repo? It turns out that I enabled sddm after disabling it before I rmed .xinitrc just to make sure it should work, so I just disabled it and re-enabled display-manager.service and now I can switch to an alternate DM. Thanks.

I don’t see wolfi as suggesting that.

Yast → Software Management

Select “Repositories” view.
Click on the repo for enlightenment 20.

Near the top of the screen there should be an option “Switch system packages to this repo”

— that’s what I read wolfi as suggesting.

Maybe consider changing the enlightenment repo to a different priority (a lower priority number than the tumbleweed repos).

And note that, like wolfi, I cannot help with details of enlightenment. I’m unenlightened.

Yes, that’s exactly what I meant.
That should take all available packages from the Enlightenment repo and prevent a mixture.

You should definitely not remove the main Tumbleweed repo.
Although even that will not break your system (or Plasma5), but you won’t get any updates for a start.

Thanks that seems to have helped, but not totally resolved the problem, see now YaST is complaining that libpoppler.so.44 is required by evas_generic_loaders and is not provided by any package in the X11:Enlightenment:Factory repo. I have been looking for a package that provides this library in the Tumbleweed official repos but I can’t find one. Any ideas?

What repo URL are you using?

zypper lr -d

The evas_generic_loaders packacge in X11:Enlightenment:Factory for Tumbleweed should actually require libpoppler.so.57 AFAICS:

Maybe you use the Leap 42.1 repo by mistake?

May have installed 42.1 packages by mistake. So what I decided to do, was I got the source code of E20 RC1, compiled & installed it. It worked perfectly and now I can run E20 rc1. That’s the great thing about source code, it never lies! Rofl, most programs have a configure script in their source code directory, E20 included, and it tells you if you’re missing any dependencies. It turns out I was missing three dependencies xcb-utils-keysyms-devel, elementary-devel-1.16.0 and libefl1-1.16.0.

Just out of a “do unto others…” gesture I’ll say exactly, what I did for those with similar problems. I ran:

# The next line gets the source code
wget -cqO- https://download.enlightenment.org/rel/apps/enlightenment/enlightenment-0.20.0-rc.tar.xz | tar -xz
# change into the source code directory
cd enlightenment-0.20.0-rc
# Run the configure script. The --prefix=/usr option can be left off if you don't mind where on your system
# E20 is installed
./configure --prefix=/usr

this gave errors indicating I was missing libefl1 (namely it said that I was missing several efl components), elementary-devel (said I was missing elementary, even though it was installed) and xcb-util-keysyms-devel (namely it said that I was missing xcb-keysyms) so I installed them with:

sudo zypper install elementary-devel-1.16.0 libefl1-1.16.0 xcb-util-keysyms-devel-1.16.0

then compiled and installed E20 RC1 from source code with:

./configure --prefix=/usr
sudo make install