Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Fix Crostini Wayland/X (sommelier) service

If you can't get X11 or Wayland GUI Linux apps to start anymore on Chrome OS, try the following.

In the Terminal app, this will show the status of your systemd user services/units:

systemctl --user

If sommelier@0.service and sommelier-x@0.service show a failed status, the following worked for me:

sudo ln -s /opt/google/cros-containers/bin/sommelier.elf /usr/bin/
systemctl --user restart sommelier@0.service
systemctl --user restart sommelier-x@0.service
export DISPLAY=:0

Check again to see if those services are started now:

systemctl --user

Hopefully now X/Wayland apps work again.

xclock
@dimpase

This comment has been minimized.

Copy link

@dimpase dimpase commented Aug 19, 2018

This works, thanks!

@gerardgarvey12

This comment has been minimized.

Copy link

@gerardgarvey12 gerardgarvey12 commented Aug 19, 2018

you are an amazing person and I am really glad you shared your information

@dimpase

This comment has been minimized.

Copy link

@dimpase dimpase commented Aug 20, 2018

The Chrome launcher does not start these apps, however (it used to work before). So I need to launch them from the terminal.

@jpelton-stroud

This comment has been minimized.

Copy link

@jpelton-stroud jpelton-stroud commented Aug 23, 2018

just got the dev update on my pixelbook i5, sadly fix isn't working for me. only sommelier-x@0.service is failing:

$ systemctl --user
● sommelier-x@0.service               loaded failed     failed    X11 sommelier at display 0                    

$ sudo ln -s /opt/google/cros-containers/bin/sommelier.elf /usr/bin/
ln: failed to create symbolic link '/usr/bin/sommelier.elf': File exists

$ systemctl --user restart sommelier-x@0.service
Job for sommelier-x@0.service failed because the control process exited with error code.
See "systemctl status sommelier-x@0.service" and "journalctl -xe" for details.

$ systemctl status sommelier-x@0.service
Unit sommelier-x@0.service could not be found.

$ sudo journalctl -xe
-- 
-- Unit UNIT has finished shutting down.
Aug 23 20:51:03 penguin systemd[93]: Starting X11 sommelier at display 0...
-- Subject: Unit UNIT has begun start-up
-- Defined-By: systemd
-- Support: https://www.debian.org/support
-- 
-- Unit UNIT has begun starting up.
Aug 23 20:51:03 penguin sommelier[1226]: error: failed to create virtwl context: No such device
Aug 23 20:51:03 penguin systemd[93]: sommelier-x@0.service: Main process exited, code=exited, status=1/FAILURE
Aug 23 20:51:03 penguin systemd[93]: Failed to start X11 sommelier at display 0.
-- Subject: Unit UNIT has failed
-- Defined-By: systemd
-- Support: https://www.debian.org/support
-- 
-- Unit UNIT has failed.
-- 
-- The result is failed.
Aug 23 20:51:03 penguin systemd[93]: sommelier-x@0.service: Unit entered failed state.
Aug 23 20:51:03 penguin systemd[93]: sommelier-x@0.service: Failed with result 'exit-code'.
Aug 23 20:51:03 penguin systemd[93]: sommelier-x@0.service: Service hold-off time over, scheduling restart.
Aug 23 20:51:03 penguin systemd[93]: Stopped X11 sommelier at display 0.
-- Subject: Unit UNIT has finished shutting down
-- Defined-By: systemd
-- Support: https://www.debian.org/support
-- 
-- Unit UNIT has finished shutting down.
Aug 23 20:51:03 penguin systemd[93]: sommelier-x@0.service: Start request repeated too quickly.
Aug 23 20:51:03 penguin systemd[93]: Failed to start X11 sommelier at display 0.
-- Subject: Unit UNIT has failed
-- Defined-By: systemd
-- Support: https://www.debian.org/support
-- 
-- Unit UNIT has failed.
-- 
-- The result is failed.
Aug 23 20:51:03 penguin systemd[93]: sommelier-x@0.service: Unit entered failed state.
Aug 23 20:51:03 penguin systemd[93]: sommelier-x@0.service: Failed with result 'exit-code'.

tried running export DISPLAY=:0 before systemctl --user restart sommelier-x@0.service, no change.

Any ideas would be greatly appreciated.

update:
reboot, launch terminal app, systemctl --user shows sommelier-x@0.service running;
starting the launcher while terminal is running crashes the GUI (which then reloads automagically);
rerunning systemctl --user in still open terminal app shows sommelier-x@0.service failed, and none of the above steps seem to revive it.

@dimpase

This comment has been minimized.

Copy link

@dimpase dimpase commented Aug 27, 2018

@jpelton-stroud - I also did see this, and some reboots fixed it.

I think chrome launcher for x11/wayland apps is currently broken, and trying to use it actually leads to this error on the container. Not using it, but just the terminal, to start x11/wayland apps does work.

@Lucaacer

This comment has been minimized.

Copy link

@Lucaacer Lucaacer commented Sep 2, 2018

It seems that both services are running on my Lenovo Pyro, but I will make a further check.

sommelier-x@0.service loaded active running X11 sommelier at display 0
sommelier@0.service loaded active running Master sommelier listening on socket wayland-0

Thanks for the hint.

@williamwilkerson2

This comment has been minimized.

Copy link

@williamwilkerson2 williamwilkerson2 commented Jul 31, 2020

How to disable X Wayland and enable X Org on Crostini?

@vdegenne

This comment has been minimized.

Copy link

@vdegenne vdegenne commented Dec 29, 2020

You are such a genius... Thanks a tone !
Has this issue been reported to the Chrome OS team by the way? Seems like a bug after all.

@TheTechRobo

This comment has been minimized.

Copy link

@TheTechRobo TheTechRobo commented Mar 17, 2021

Thank you very much! This worked.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment