OpenIPC FPV ground station for Linux/Windows/macOS. Forked from fpv4win.
Note
No Adaptive Link support for Windows.
Note
Only RTL8812AU Wi-Fi adapter is supported.
Note
No MAVLink support.
- Install the GStreamer runtime (the development installer is not necessary) from GStreamer.
- Add
C:\Program Files\gstreamer\1.0\msvc_x86_64\bin
to your PATH environment variable. - Download Zadig.
- Install the libusb driver for your adapter.
Go Options → List All Devices
Select your adapter. Install the driver. Remember the USB ID, we will need it soon.
- Run Aviateur.
- Select the adapter of the correct USB ID. Select your drone channel. Select your WFB-NG key. Start.
- (Optional) Go to
/lib/udev/rules.d
, create a new file named80-my8812au.rules
and addSUBSYSTEM=="usb", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="8812", MODE="0666"
in it. - (Optional) Call
sudo udevadm control --reload-rules
, then reboot (this is definitely required). - Run Aviateur (if you skip step 1 & 2, root privileges are needed to access the adapter).
- Select the adapter of the correct USB ID. Select your drone channel. Select your WFB-NG key. Start.
- Build yourself.
- Important: Run the app from terminal to ensure proper environment variable handling:
open ./build/bin/aviateur.app
Currently, I cannot find a way to distribute it on macOS. So, you have to build it yourself.
- If the application crashes at startup on Windows, install Microsoft Visual C++ Redistributable first.
Note
Generally, enabling the GStreamer backend can achieve a lower glass-to-glass latency.
- Ground side OSD
-
Install vcpkg somewhere else.
git clone https://github.com/microsoft/vcpkg.git cd vcpkg .\bootstrap-vcpkg.bat
-
Install dependencies.
.\vcpkg integrate install .\vcpkg install libusb ffmpeg libsodium opencv
-
Add VCPKG_ROOT to environment. (Change the value to your vcpkg path.)
-
Clone third-party library sources.
git submodule update --init --recursive
-
Build the project.
mkdir build && cd build cmake ../ make
-
Install dependencies.
git submodule update --init --recursive sudo apt install libusb-1.0-0-dev ffmpeg libsodium-dev libopencv-dev xorg-dev libpcap-dev
-
Build the project.
-
Install dependencies:
Xcode: This assumes you already have Xcode installed and have run
xcode-select --install
Vulkan - Install Location ~/ (default), no need to pick any extra options in installer (default)
Extra Packages with Homebrew:
brew install libusb ffmpeg libsodium opencv libpcap cmake
-
Add the following content to
YOUR_HOME/.zprofile
(change the sdk version and username to your own version/username).nano ~/.zprofile
, paste the text in,ctrl-o
to save,ctrl-x
to exit.VULKAN_SDK="/Users/zzz/VulkanSDK/1.4.321.0/macOS" export VULKAN_SDK PATH="$PATH:$VULKAN_SDK/bin" export PATH DYLD_LIBRARY_PATH="$VULKAN_SDK/lib:${DYLD_LIBRARY_PATH:-}" export DYLD_LIBRARY_PATH VK_ADD_LAYER_PATH="$VULKAN_SDK/share/vulkan/explicit_layer.d" export VK_ADD_LAYER_PATH VK_ICD_FILENAMES="$VULKAN_SDK/share/vulkan/icd.d/MoltenVK_icd.json" export VK_ICD_FILENAMES VK_DRIVER_FILES="$VULKAN_SDK/share/vulkan/icd.d/MoltenVK_icd.json" export VK_DRIVER_FILES PKG_CONFIG_PATH="$VULKAN_SDK/lib/pkgconfig:$PKG_CONFIG_PATH" export PKG_CONFIG_PATH
-
Log out and in for the above change to take effect.
-
Build the project:
git clone https://github.com/OpenIPC/aviateur cd aviateur git submodule update --init --recursive mkdir build && cd build cmake ../ make cd bin/aviateur.app/Contents/MacOS install_name_tool -change "/Users/zzz/Repos/font_kit_wrapper/third_party/font_kit/target/release/deps/libfont_kit_wrapper.dylib" "@loader_path/libfont_kit_wrapper.dylib" aviateur
-
As noted above, you must run the file through terminal:
open ./bin/aviateur.app
Or if you want to see the log file while running:
./bin/aviateur.app/Contents/MacOS/aviateur
On Windows
CMake Error at C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.29/Modules/FindPackageHandleStandardArgs.cmake:230 (message): ...
This is because the pre-installed vcpkg from Visual Studio installer overrides the PKG_ROOT environment variable.
To fix this, find set(CMAKE_TOOLCHAIN_FILE "$ENV{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake")
in CMakeLists.txt,
replace $ENV{VCPKG_ROOT}
with the vcpkg you cloned previously.