104 lines
3.2 KiB
Markdown
104 lines
3.2 KiB
Markdown
# Build Instructions using Docker and Windows 10
|
|
|
|
Work-in-progress page
|
|
|
|
# Building EdgeTX on Windows 10 using Docker images
|
|
|
|
## Download and install [Docker Desktop for Windows](https://www.docker.com/products/docker-desktop/)
|
|
|
|
## Download and install [GWSL](https://github.com/Opticos/GWSL-Source/releases/) 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) libsimulator
|
|
make -C native -j$(nproc) companion210
|
|
make -C native -j$(nproc) simulator210
|
|
```
|
|
- 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/companion210
|
|
```
|
|
|
|
## 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/simulator210
|
|
```
|
|
|
|
# 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](https://www.linuxuprising.com/2021/03/how-to-get-sound-pulseaudio-to-work-on.html) useful
|
|
|
|
# References
|
|
|
|
see [EdgeTX Build repository](https://github.com/EdgeTX/build-edgetx)
|