Mycroft on Windows

You can actually get it running on Windows Subsystem for Linux. Unfortunately, the audio is not supported yet, but you can already type commands and test skills as a developer.

http://allthingssmart.xyz/running-mycroft-on-windows-subsystem-for-linux

I did a little reading and found something that seems to be about successfully getting audio out of WSL, though I can’t try it because I don’t have WSL.

Though I do wonder if I could do similar to what the person in the allthingssmart link did by installing Windows SUA and then installing something along the lines of http://debian-interix.net/ or similar into it?

(On a side note, I’ve already discovered that mycroft doesn’t install right at all in Cygwin64, though I may have simply been doing it wrong… :sweat_smile: )

And yes, I know, none of these are supported configurations in any way, shape, or form, I shouldn’t expect them to work straight off the bat (or at all really, I suppose), and I’m pretty much on my own messing about with them.

Hello there. Sorry about the necro rise, but seems like makes sense to ask on this thread.

Im planning to try some of this alternative routes to have Mycroft on windows, but would like to ask first if there are any news or ETA for the windows installer before diving into dangerous waters.

Thanks!

Hi there @Novack - I know that @AIIX has done some work on Windows using WSL, but there hasn’t been any progress towards a Windows-based installer yet.

Hi There,
recently I saw a very nice guide how to install Mycroft on Windows or Mac using a Virtual Linux, but unfortunately I lost the link.
Does anyone know where to find it, or maybe has an alternative one?
Much apretiated.
/R

this worked flawlesly for me, but be warned there is some very noticeable latency in audio i/o

and in our fancy new docs:
https://mycroft-ai.gitbook.io/docs/using-mycroft-ai/get-mycroft/macos-and-windows-with-virtualbox

1 Like

Thanks for the virtual machine option, I’m having some issues with the wsl version, if I don’t get it running soon I will try this :slight_smile:

Finally a documentation that invites to be read :slight_smile:
I didn’t see the proper announce, is the documentation still in the works?

EDITED: yes, I see the new documentation is properly referenced on home site :slight_smile:

Yeah, it’s been a quiet release so far. Will do a proper announcement soon, but wanted to get feedback from the community and fix any broken links etc before we do that.

1 Like

I set up the Virtual Machine yesterday, following the instruction, using the default settings. I allocated 2048mb RAM of my 16000 to the machine instead of the default 1024. Still the setup of Ubuntu did not complete after more than 2h. Should I also allocate 2 or 3 CPU to the machine before restarting? it seems weird that it is not a problem to run it on a raspberry but the setup takes that long on the PC. Especially while Installing ubuntu 18.04 (now I am using 19) was very quick compared to that when I installed it from the microsoft store. The default setting include setting up the machine and the “hard drive” in the user folder on my system drive (SSD).

That does sound like a long time. Where did the setup get stuck? Was it during the Ubuntu installation?

Yes, I think so, unfortunately I could copy the output, it was not possible to highlight at that moment in the setup, and in cannot make screen shots. It said something about" waiting for the seed to finish " if I remember correctly. I’m back on the road, I will try again Monday and maybe take a pic with my phone if there is the same problem again…

1 Like

I’m back, with my screenshot of my weird ubunutu installation problem. just as a reminder, this is happening “directly” after I started the Ubunutu machine from the VirtualBox. after the first three [OK] I stopped at some point and safed the progress, now when I continued it when on for some seconds, but then fell back into the “a start job is running…”
I couldn’t relocate more CPUs to the machine, I think I would have had to do that while setting up the system. anyone any idea? I followed the introduction very fastidiously…
thanks in advance

Welcome to the systemd haters world! That’s just one of the many reasons (but not the main one) why many many linux users hate this init system-thing.

Do you use snaps at all? I also personally dislike them.
My bet is you’re using some and there is a problem with it, its filesystem or whatsoever…

If you don’t know what a snap is or aren’t you using, perhaps the best would be disable the service at boot time, to do this, you should boot with a live CD/USB, and disable snapd (or whichever name has on ubuntu), by mounting the hard disk and removing the snapd.service from /<mountpoint>/etc/systemd/system/ (you need to search inside the directories below, like multi-user.target.wants or the like.

If you use snaps, and you need them (ie: you have no way to install something in other some more mature and appropiate way), you should try to change the Type of the Unit. Here someone explain how.

In both cases, if you cannot finally boot (I think if in 2h 12min hasn’t booted, you won’t boot never), you will need to boot with a liveCD, and mount the disk.

hej, thanks for your help!
I am not sure if you understood what I am trying to do, but that might also be because I have, as you assumed, no idea what you are talking about :smiley:

I am running Ubuntu on VirtualBox, so I am using an Image to boot the OS. How would I use the USB instead in this situation?

I am really new to all this, so I have also no real idea what that would take me to do. If I use the USB, just plug it in and search for the directories and delete it? If it is possible to use the boot-stick in the virtual machine at all…
thanks a lot!

Sorry for the delay.

I think the easiestfor you would be to install another virtualbox VM and make sure you aren’t using snaps. Pay attention and if you see that word anywhere, try to avoid them. You can safely use ubuntu without them.

If you ask about liveCD/USB, yes, you can mount the ubuntu .iso file under the CD settings, then under settings should be a “boot order” where you must specify to boot first from CD. Then the liveCD/installation environment should start.

Once on the live environment, instead of install into hard disk, you can mount the hard disk and browse the files and delete them.

But again, if you’re new to linux, perhaps the easiest way should be install the operative system again, and make sure not to use snaps for the moment.

If you want, you can try Debian instead Ubuntu, it deliver a desktop as well and it doesn’t use snaps, so problem solved, and Mycroft works with any linux, a debian or ubuntu is more or less the same.

its been a while, but today I tried a few things. it ended up with me trying the debian minimal image. i got quite far, but after installation I had problems connecting to the mirror server, and I am pretty sure that this is because of my network settings. I am connected to the wifi with my fritz-wifi stick. I chose “network bridge” in the virtual-box settings as seen in a tutorial (these settings are missing in the mycroft tutorial, are they important?). But I have no connecting, I think. Anyone has an idea how to fix that? I had to put in my network settings manually, and I dont think that did any good…
still trying…
@edit: as always, the moment I press send and I try the next thing, it works… I used my phone to make a hotspot, and the network is connected. it seems that my dorm-router somhow blocks the connection?

@problem: so I got debian running, and mycroft cloned, so far so good. now when I run the “debug command”, it tells me that there is"Errno 28 No spave left on device", which is BS, because I allocated 8gb to the virtual drive of which 4gb are taken. I think the mycroft setup also stopped (at a very late stage though) with some kind of space error problem. anyone has an thought on that? thanks again, still hoping …! :):tired_face:!
I tried to add another vitrual hard drive to the machine, I think debian doesn’t recognize it. not sure what my df tells my as well… seems like I am need to redo the machine again tomorrow…
DF screenshot

well, you’re facing some strange problems :expressionless:

Virtualbox should work with Network Bridge, that type would use an IP from your LAN’s range if you’re using a DHCP server on it, or you could configure manually if you don’t have any or you don’t want to use it. If it is working when tethering from your phone, perhaps there is a firewall on your host OS forbidding the DHCP through the ethernet adapter.
You can set up the static IP easily by editing /etc/network/interfaces and, if your guest ethernet adapter is named for example enp0s0, then put something like

auto enp0s0
iface enp0s0 inet static
      address 192.168.0.231
      netmask 255.255.255.0
      gateway 192.168.0.1

And put a free IP address of your home range, whatever it is, I guessed the most typical here, a 192.168.0.0/24, but yours can be different. Correct also your gateway

Then, edit /etc/resolv.conf and put a nameserver, if your router has the IP 192.168.0.1, it would be something like

nameserver 192.168.0.1
nameserver 8.8.8.8

Then reboot the virtual machine or restart the network daemon with the command systemctl restart networking.

Now it should appear the configured IP on the adapter in the output of the command

$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp0s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether c8:60:00:98:ed:99 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.231/24 brd 192.168.0.255 scope global noprefixroute enp3s0
       valid_lft forever preferred_lft forever
    inet6 fe80::c0e6:e966:d55a:eebc/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

Finally, if the IP is not showing or the status is not UP, then somethingis failing here. You can test to ping your router IP, then ping outside your network (google.com) and that should solve your DHCP problems.

I cannot see the screenshot you posted. So I can’t tell you if you ran out of space. Debian minimal should be… well, minimal, and 8GB should be enough for system installation and mycroft and dependencies. My Mark I uses 5,4GB, so yours should be like this. Perhaps did you install a desktop environment?

Again, the easiest way for you, should be reinstall once again, yet there are ways to solve space issues, but in this stage, I would just reinstall and give enough space disk (20 or 32GB should be enough for any scenario). Have in mind that virtualbox doesn’t preallocate the disk space, that means that even if you assign… 200GB, if you use just 6GB, the space on disc allocated is 6GB.

wow, thanks for the very fast reply!
first, lets try the screenshot again:


seems to work now.

maybe I found the problem. I put in the IP of my PC/Wifi-stick, maybe that was the problem? I thought I need to give it the same config. I will try it the next time with another static one. since I will have to set up the machine again anyway…
I now the part with the disk space, thats why I am confused about the error messages of mycroft. since also VB only shows abt 4gb used of the drive… I am certain that it is the small image.
@gez-mycroft is the network-bridge setting important? maybe its needed in the general manual as well?
or should I try it without it once?
thanks guys for all the help with these weird problems. I will try to put them all in one doc when I am finished, maybe it can help someone else as well!
@edit: as i mentioned, I stay in a dorm and the wifi should be quite crowded. is there a possibility to search for a free ip address beforehand? or is that “192.168.0.0/24” a real suggestion including the slash?