Experimental Mycroft on WSL (Windows) with Pulseaudio
Please Note:
This is really experimental stuff and don’t plan to provide any support for this. Use at your own risk
All the skills that require some OS level dependencies will/might not work “Audio-control… desktop-control” etc
Audio delay should be expected as WSL doesn’t officially support audio and audio is routed through a pulseaudio server running on Windows
Demo:
Installation:
Enable WSL feature on Windows
Install “Ubuntu 18.04” from Windows Store
Download and Install Mycroft-Core sudo apt install git git clone https://github.com/MycroftAI/mycroft-core cd mycroft-core ./dev_setup.sh
Installing and enabling audio pass through with pulseaudio on WSL
In ubuntu terminal: sudo apt-get install pulseaudio
In ubuntu terminal: export PULSE_SERVER=tcp:127.0.0.1
Installing and configuring pulseaudio server on Windows
– Download Pulseaudio 1.1 windows binary from http://bosmans.ch/pulseaudio/pulseaudio-1.1.zip
– Unzip pulseaudio to any location
– Locate pulseaudio \etc\pulse\ folder in your extracted files
– Open default.pa in \etc\pulse\ with wordpad and locate line #load-module module-native-protocol-tcp
replace the above line with: load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1
– Open daemon.conf in \etc\pulse\ with wordpad and locate line ; exit-idle-time = 20
replace the above line with: exit-idle-time = -1
Starting Pulseaudio Server on Windows
– Open Windows Powershell
– cd into your pulseaudio/bin extracted folder
– run command .\pulseaudio.exe Windows should now ask you for firewall permissions for pulseaudio, make sure to grant "public" and "private" both network perms
– Running:
hej, thanks for the nice instructions.
I followed it up until one detail, since I was also having the instructions of the normal ubuntu opened on another tab, I send " bash dev_setup.sh " instead of ./dev_setup.sh. it executed anyway, and I realized too late. so I continued. but when I want to start mycroft for the first time with the debug included, it enter a loop:
“please update depndencies by running ./dev_setup_sh again”
if i do that it wants to install some packages, i press yes. then it doenst find them:
Unable to locate package: swig/portaudio19-dev/mpg123/flac/lifdann-dev/jq.
If I try the debug command it starts again, obviously.
sorry that I cannot post screenshots, I have some trouble with that at the moment.
How do I uninstall it best du remove everything and redo it? Or is another problem the reason?
thanks in advance
/R
@edit: removed the folder and did it again, now while running the "./dev_setup.sh. "the error already occured. The message befor read: "We detected that your computer has the libjack-jack2-0 package installed. "
Thanks for the fast respond, would you recommend to delete the mycroft-core before that?
and is it possible to paste in the “windows ubuntu”? that is a long line
Building dependency tree Reading state information… Done
E: Unable to locate package swig
E: Unable to locate package portaudio19-dev
E: Unable to locate package mpg123
E: Unable to locate package flac
E: Unable to locate package libfann-dev E: Unable to locate package jq
found out how to enable the copy/paste commands, so now here also with some propper output.
guess I will try the virtual machine option next week, unless someone has an idea what it might mean. I found an old version of python installed on my windows os. might that be in the way?
Does your ubuntu install have apt sources enabled ? can you try “sudo apt update” followed by “sudo apt dist-upgrade” to just make sure you have everything updated, before running the above “sudo apt install command”
Also windows version of python doesn’t have anything to do with the version running inside the Ubuntu terminal as that’s a separate base os install.
thanks for this input, I am currentyl not at my home desktop, but I tried it at my wifes PC and I ran the apt update (which was a lot) before and I am running mycroft now sucessfully. however without sound or mic support. I followed the instructions regarding pulseaudio. is it important that the powershell is running? I also got the error message, I think this is normal?
"PS C:\Program Files\pulseaudio\bin> .\pulseaudio.exe W: [(null)] pulsecore/core-util.c: Secure directory creation not supported on Win32. "
what i did not get is the request of the firewall. maybe thats the problem. i whitelisted it and got these errors:
PS C:\Program Files\pulseaudio\bin> .\pulseaudio.exe W: [(null)] pulsecore/core-util.c: Secure directory creation not supported on Win32.
W: [(null)] pulsecore/core-util.c: Secure directory creation not supported on Win32.
W: [(null)] pulsecore/core-util.c: Secure directory creation not supported on Win32.
W: [(null)] pulsecore/core.c: failed to allocate shared memory pool. Falling back to a normal memory pool.
W: [(null)] pulsecore/core-util.c: Secure directory creation not supported on Win32. W: [(null)] pulsecore/core-util.c: Secure directory creation not supported on Win32.
W: [(null)] pulsecore/core-util.c: Secure directory creation not supported on Win32.
E: [(null)] daemon/main.c: Failed to load directory.
<
which is better I assume, but still neither sound output nor mic reaction, direct input via keyboard works fine though
hey mycroft whats the time
Currently thirteen zero eight<
any suggestion? @edit:while booting the secont time (this time I connected a USB headset to check if it is a hardware prob) I saw an error message:
| ERROR | 935 | VolumeSkill | Couldn’t allocate mixer, ALSAAudioError(‘No such file or directory [default]’,)
maybe that hels as well… @edit:
I tried some things from this document: audi-troubleshooting but the commands have no effect. Iswicht to command ( : ) enter the command, hit enter, and nothing happends at all.
I’m back home, and tried all the above on my desktop. The exact same problems appeared. So mycroft is paired and running, but neither voice nor sound, and the commands from the audio troublshoot are not having any effect. Other commands do, though. So I can see the installed skills for examples with : skills or simply see the help page.
any input is much appretiated!
@AIIX, if you can still edit your post, could you edit the code lines to include syntax highlighting for whatever programming language you used (I’m guessing bash) and specify at the start of the instructions?
Some people use zsh or pwsh for their default system shell. It helps to determine which shell to launch.
Mycroft’s development has stopped, you most likely want to try OVOS/Neon instead
We recently had success running ovos on windows via docker (and natively in MacOS), it should be possible to run it under WSL as described in this thread but AFAIK noone has tried it yet
Thanks for telling me that! Can you ping a moderator to pin that to the top of the forum? It’d stop people like me wasting time trying to get a dead project working.