You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Update README instructions to reflect current Windows build steps. (#1232)
* Update README instructions to reflect current Windows build steps.
* Update README based on user feedback.
* Add PR #1232 to changelog.
* Resolve#1228 by adding WSL instructions for Flex waveform.
Copy file name to clipboardExpand all lines: README.md
+30-8Lines changed: 30 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -141,14 +141,36 @@ one to build FreeDV for ARM as well as for Intel Windows systems.
141
141
142
142
### Instructions
143
143
144
-
1. Download LLVM MinGW at https://github.com/mstorsjo/llvm-mingw/releases/.
145
-
2. Decompress into your preferred location. For example: `tar xvf llvm-mingw-20220906-ucrt-ubuntu-18.04-x86_64.tar.xz` (The exact filename here will depend on the file downloaded in step (1). Note that for best results, you should use a build containing "ucrt" in the file name corresponding to the platform which you're building the Windows binary from.)
146
-
3. Add LLVM MinGW to your PATH: `export PATH=/path/to/llvm-mingw-20220906-ucrt-ubuntu-18.04-x86_64/bin:$PATH`. (The folder containing the LLVM tools is typically named the same as the file downloaded in step (2) minus the extension.)
147
-
4. Create a build folder inside freedv-gui: `mkdir build_windows`
148
-
5. Run CMake to configure the FreeDV build: `cd build_windows && cmake -DCMAKE_TOOLCHAIN_FILE=${PWD}/../cross-compile/freedv-mingw-llvm-[architecture].cmake ..`
149
-
* Valid architectures are: aarch64 (64 bit ARM), i686 (32 bit Intel/AMD), x86_64 (64 bit Intel/AMD)
150
-
6. Build FreeDV as normal: `make` (You can also add `-j[num]` to the end of this command to use multiple cores and shorten the build time.)
151
-
7. Create FreeDV installer: `make package`
144
+
1. Install WINE (example commands for Ubuntu below):
145
+
146
+
```
147
+
sudo dpkg --add-architecture i386
148
+
sudo sh -c "curl https://dl.winehq.org/wine-builds/winehq.key | gpg --dearmor > /etc/apt/trusted.gpg.d/winehq.gpg"
149
+
sudo sh -c "apt-add-repository \"https://dl.winehq.org/wine-builds/ubuntu\""
(*Note: if using WSL2, you will need to choose "Customize Installation", skip "Optional Features" (hit Next), and then in "Advanced Options" check "Install Python 3.14 for all users" inside Python setup.*)
165
+
166
+
3. Download LLVM MinGW at https://github.com/mstorsjo/llvm-mingw/releases/.
167
+
4. Decompress into your preferred location. For example: `tar xvf llvm-mingw-20220906-ucrt-ubuntu-18.04-x86_64.tar.xz` (The exact filename here will depend on the file downloaded in step (1). Note that for best results, you should use a build containing "ucrt" in the file name corresponding to the platform which you're building the Windows binary from.)
168
+
5. Add LLVM MinGW to your PATH: `export PATH=/path/to/llvm-mingw-20220906-ucrt-ubuntu-18.04-x86_64/bin:$PATH`. (The folder containing the LLVM tools is typically named the same as the file downloaded in step (2) minus the extension.)
169
+
6. Create a build folder inside freedv-gui: `mkdir build_windows`
170
+
7. Run CMake to configure the FreeDV build: `cd build_windows && cmake -DCMAKE_TOOLCHAIN_FILE=${PWD}/../cross-compile/freedv-mingw-llvm-[architecture].cmake -DPython3_ROOT_DIR=$WINEPREFIX/drive_c/Program\ Files/Python314 ..`
171
+
* Valid architectures are: aarch64 (64 bit ARM), x86_64 (64 bit Intel/AMD)
172
+
8. Build FreeDV as normal: `make` (You can also add `-j[num]` to the end of this command to use multiple cores and shorten the build time.)
To ensure proper reporting to FreeDV Reporter by the waveform, make sure that your callsign is properly
43
43
configured in SmartSDR (i.e. it doesn't say "FLEX" when first starting).
44
44
45
+
### Executing on Windows Subsystem For Linux (WSL)
46
+
47
+
Prior to building the waveform, WSL needs some settings changes to allow it to have the required network
48
+
support. Edit .wslconfig to contain the following:
49
+
50
+
```
51
+
[wsl2]
52
+
networkingMode=Mirrored
53
+
firewall=false
54
+
```
55
+
56
+
Then, from a PowerShell session running as Administrator, execute `Set-NetFirewallHyperVVMSetting -Name '{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}' -DefaultInboundAction Allow`.
57
+
You will then need to restart WSL by executing `wsl.exe --shutdown` and then reopening the Linux instance.
0 commit comments