Running Mycroft on Windows subsystem for Linux (WSL)

Recently, Mycroft released the Mycroft Mark II on Kickstarter. So far, I hadn’t heard much of Mycroft, so I wanted to test their product before committing to their campaign. Unfortunately, the software is still in development and they don’t support all major platforms yet. On the Mycroft website they only offer a few ways to experience their product: the Mark I (their first device), a Raspberry Pi, Linux and Android. I own a Windows machine and I was desperate to get it running myself. Luckily Windows recently release Windows Subsystem for Linux (WSL) as part of the Windows 10 Fall Creators Update. After some tweaking, I was able to install a text only version of Mycroft on Windows.

Before you start, please remember the following:

  • This method works on the latest developer built, but given that there are still frequent updates, it might not work on earlier builds.
  • Sound on WSL is not officially supported. Therefore this tutorial will focus on the text interaction. While I agree that the voice commands are the whole purpose of buying a Mycroft Mark II, this will already allow you to test the skills and observe the basic interaction patterns.
  • Mycroft still processes the requests online and you will need a Mycroft account. This will cost you 1.99 $/month.

Windows Subsystem for Linux (WSL)

To start, you have to set up WSL yourself. It is all very well explained in the Windows documentation, but I will include the steps here as well. Let’s get started.

Press Windows key + “Turn Windows features on or off”. In the window that opens, you can now enable “Windows Subsystem for Linux”. Press ok and reboot your machine.

The second step is installing a Linux distribution. In the latest Windows 10 versions (1709+), this works via the Windows store. Open the store and search for Ubuntu. This will show you the following result.

Click on “Get the apps”, select Ubuntu and install it by clicking on “Get”. Once you have restarted your machine you can launch Ubuntu. You can start the ‘app’ via Windows key + “Ubuntu”. This will open the Ubuntu Bash. Ubuntu will first install itself and this might take some time. Once the installation has finished, Ubuntu will ask you for a username and a password. Make sure that you don’t forget this since you’ll need it in the set-up.

Installing Mycroft

The following steps are exactly as they are shown in the official Mycroft readme. These are the Bash commands that you should execute in the Ubuntu Bash. You can paste the commands in the Bash window by right clicking. When this doesn’t work, right click on the top of the window, select properties and enable “QuickEdit Mode”. The cloning and installing might take a while and be prepared to wait half an hour for it to complete.

cd ~/
git clone https://github.com/MycroftAI/mycroft-core.git
cd mycroft-core
bash dev_setup.sh

After the installation has completed, you can start Mycroft using the following commands.

cd ~/mycroft-core
./start-mycroft.sh all
./start-mycroft.sh cli

The first command is to browse to the relevant folder. The second and the third command will first start the required services and the command line interface. The last two lines can be replaced by one line by changing ‘all’ and ‘cli’ to ‘debug’.

Immediately afterwards you should see something like this.

You can now type and Mycroft will interpret and process the words for you. Don’t worry if it doesn’t work immediately. It can take up to a minute before everything is ready.

Pairing

By default, Mycroft won’t be able to do much. You’ll need to connect it to the Mycroft server to handle the processing. This is done via the pairing process. Just say (or type) “Hey Mycroft, pair my device” and it will provide you with a 6-letter combination. This can be used to connect it to your account.

When the pairing is completed, you can install skills. These will improve the functionality of Mycroft. The current list of skills is available here. Some skills like ‘Date Time’ or ‘Volume’ are base skills that are included in the default installation. On top of these base skills, there is a whole range of community skills that can connect to other platforms like Pandora or Home-assistant. Skills can be easily installed by just saying “Install [skill name]”.

This should allow you to try out Mycroft. I’m still trying to get the sound working and will update this post as soon as I’ll find a way.

One Reply to “Running Mycroft on Windows subsystem for Linux (WSL)”

  1. I think this is a VERY cool direction to be going. I like the idea of being able to call APIs, Powershell scripts / commands, etc. I think it’d even be cool to co-opt Cortana to handle the TTS. How can I help?

Leave a Reply

Your email address will not be published. Required fields are marked *