For Developers‎ > ‎


mus+ash (pronounced "mustash") is a project to separate the window management and shell functionality of ash from the chrome browser process. The benefit is performance isolation for system components outside of the browser, and a sharper line between what components are considered part of the ChromeOS UX and what are part of the browser. mus+ash is built on top of Mandoline UI Service ("Mus") and the Ash system UI and window manager.


Build Instructions
mus+ash builds only for Chrome OS (either for device or on Linux with target_os="chromeos"). It requires aura and toolkit_views. There are no special build flags other than target_os.

Build chrome:
ninja -C out/foo chrome

out/foo/chrome --enable-features=Mash

By default, each service will run in its own process, including chrome and all of chrome's renderers. It's also possible to run just the mus window service in the browser process in a background thread (this is an incremental milestone called "mushrome"):

out/foo/chrome --enable-features=Mus

For debugging you can pass --wait-for-debugger which will show an alert box on Windows before starting each new process. The message box will show the name of the service.