Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@bzub
Last active January 24, 2024 12:15
Show Gist options
  • Star 18 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save bzub/65aabace4a60874c61ece4838b6219f3 to your computer and use it in GitHub Desktop.
Save bzub/65aabace4a60874c61ece4838b6219f3 to your computer and use it in GitHub Desktop.
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
Copy link

dimpase commented Aug 19, 2018

This works, thanks!

@Luna-La-Tuna
Copy link

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

@dimpase
Copy link

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
Copy link

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
Copy link

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
Copy link

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
Copy link

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

@vdegenne
Copy link

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
Copy link

Thank you very much! This worked.

@DarkevilPT
Copy link

and how to fix the android container if it freezes?

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