Skip to content

Install on Windows 10 or later using WSL V.2 Manual installation

lwvmobile edited this page Dec 28, 2022 · 15 revisions

PRE-REQUISITES (all these commands need an elevated prompt, so run them as administrator):

If you are running Home Edition please foolow this guide before proceed

  • dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
  • dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  • DISM /Online /Enable-Feature /All /FeatureName:Microsoft-Hyper-V /norestart
  • Reboot your PC
  • Install last Linux kernel package. Here the download link
  • Reboot

WSL INSTALL (all these commands need user CMD prompt, so don't run them as administrator)

  • wsl --set-default-version 2
  • Download Ubuntu 20.04/22.04 WSL Appx Bundle
  • Rename the AppxBundle to Ubuntu.zip and extract all the content
  • In Ubuntu extracted folder locate the x64 appx, rename it to .zip and extract the content From CMD:
  • cd to extracted x64 Ubuntu files
  • Ubuntu.exe install --root

DSD-FME INSTALL (all these commands need user CMD prompt, so don't run them as administrator)

  • wsl.exe DEBIAN_FRONTEND=noninteractive sudo apt update
  • wsl.exe DEBIAN_FRONTEND=noninteractive sudo apt upgrade -y
  • wsl.exe DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC sudo apt install -y git make cmake socat libitpp-dev libsndfile1-dev portaudio19-dev gcc g++ sox librtlsdr-dev libncurses5-dev libncursesw5-dev pulseaudio libpulse-dev
  • wsl.exe git clone /~https://github.com/lwvmobile/dsd-fme
  • wsl.exe git clone /~https://github.com/lwvmobile/mbelib
  • cd ..
  • cd ..
  • wsl.exe cd mbelib; mkdir build; cd build; cmake .. ; make; sudo make install; cp libmbe* /usr/lib
  • wsl.exe cd dsd-fme; mkdir build; cd build; cmake .. ; make; sudo make install

WSL AUDIO OUTPUT

ON WINDOWS:

  • Download Pulse for Windows here: Download
  • Unzip pulseaudio to C:\
  • Create a config.pa file under C:\pulse and paste these lines:

load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;172.16.0.0/12

load-module module-esound-protocol-tcp auth-ip-acl=127.0.0.1;172.16.0.0/12

load-module module-waveout sink_name=output source_name=input record=0

  • Download NSSM from here: Download
  • Exctract nssm-x.x\win64\nssm.exe
  • nssm.exe install PulseAudio C:\pulse\bin\pulseaudio.exe -F C:\pulse\config.pa (as admin of course)
  • net start pulseaudio

ON WSL:

  • Edit ~/.bashrc and add these lines:

export HOST_IP="$(ip route |awk '/^default/{print $3}')"

export PULSE_SERVER="tcp:$HOST_IP"

  • source ~/.bashrc