Skip to content

Build Instructions using docker and Windows 10

Risto edited this page Jun 22, 2022 · 15 revisions

Work-in-progress page

Building EdgeTX on Windows 10 using Docker images

Download and install Docker Desktop for Windows

Download and install GWSL to run Linux Companion and Simulator

  • Run GWSL to configure it. Accept page 1 and 2 defaults and add disable access control on page 3

Fetch a local copy of the EdgeTX repository or update your existing local EdgeTX repository

git clone --recursive -b main https://github.com/EdgeTX/edgetx.git EdgeTX
  • If you already have a local EdgeTX repository don't forget to update the submodules too, e.g.:
git fetch origin
git checkout main
git submodule update --init --recursive

Run build (example TX16s)

  • open a PowerShell
  • cd to your local repository
docker run --name="ETXDocker" -it --rm --mount src="$(pwd)",target="/src",type=bind ghcr.io/edgetx/edgetx-dev bash
cd src
mkdir -p build-output
cd build-output
cmake -DPCB=X10 -DPCBREV=TX16S -DCMAKE_BUILD_TYPE=Release ../
make configure
make -C arm-none-eabi -j$(nproc) firmware
make -C native -j$(nproc) companion28
make -C native -j$(nproc) simulator28
make -C native -j$(nproc) libsimulator
  • find the results in folder build-output of your local build repository folder

More Cmake build options

X9d+:

-DPCB=X9D+ -DCMAKE_BUILD_TYPE=Release

X7:

-DPCB=X7 -DCMAKE_BUILD_TYPE=Release

TX12:

-DPCB=X7 -DPCBREV=TX12 -DCMAKE_BUILD_TYPE=Release

TX16S:

-DPCB=X10 -DPCBREV=TX16S -DCMAKE_BUILD_TYPE=Release

Running Linux Companion and Simulator

Running Companion

  • make sure GWSL is running
  • open a PowerShell
  • in case you don't know your IP address enter 'ipconfig' to find out
  • cd to your build folder
  • remember to replace IP_OF_YOUR_WINDOWS_MACHINE with your IP address and enter:
docker run --name="ETXDocker" -it --rm --mount src="$(pwd)",target="/src",type=bind ghcr.io/edgetx/edgetx-dev bash
export DISPLAY=IP_OF_YOUR_WINDOWS_MACHINE:0.0
cd src
./native/companion28

Running Simulator

  • make sure GWSL is running
  • open a PowerShell
  • in case you don't know your IP address enter ipconfig to find out
  • cd to your build folder
  • remember to replace IP_OF_YOUR_WINDOWS_MACHINE with your IP address and enter:
docker run --name="ETXDocker" -it --rm --mount src="$(pwd)",target="/src",type=bind ghcr.io/edgetx/edgetx-dev bash
export DISPLAY=IP_OF_YOUR_WINDOWS_MACHINE:0.0
cd src
./native/simulator28

Needful things

  • Should you get a message like container name "/ETXDocker" is already in use open a PowerShell and enter docker stop ETXDocker
  • If you need to update the docker image open a PowerShell and enter: docker rmi ghcr.io/edgetx/edgetx-dev. The latest image will then be downloaded at next docker run
  • before running the simulator you need to run companion and create a radio profile
  • companion and simulator won't have audio. If you need audio you might find PulseAudio on WSL2 useful

References

see EdgeTX Build Wiki

Clone this wiki locally