{"id":31531576,"url":"https://github.com/openipc/aviateur","last_synced_at":"2025-10-26T08:34:52.530Z","repository":{"id":271718181,"uuid":"914162558","full_name":"OpenIPC/aviateur","owner":"OpenIPC","description":"Cross-platform OpenIPC FPV ground station for Linux/Windows/macOS","archived":false,"fork":false,"pushed_at":"2025-09-15T01:35:37.000Z","size":11559,"stargazers_count":34,"open_issues_count":0,"forks_count":9,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-09-24T06:32:25.068Z","etag":null,"topics":["aviateur","fpv","openipc","openipc-fpv"],"latest_commit_sha":null,"homepage":"https://openipc.org","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenIPC.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"open_collective":"openipc"}},"created_at":"2025-01-09T04:09:50.000Z","updated_at":"2025-09-15T01:35:41.000Z","dependencies_parsed_at":"2025-01-09T13:54:02.677Z","dependency_job_id":"909f2ee0-064e-4c2a-bcf8-5fba6e90b792","html_url":"https://github.com/OpenIPC/aviateur","commit_stats":null,"previous_names":["openipc/aviateur"],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/OpenIPC/aviateur","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenIPC%2Faviateur","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenIPC%2Faviateur/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenIPC%2Faviateur/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenIPC%2Faviateur/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenIPC","download_url":"https://codeload.github.com/OpenIPC/aviateur/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenIPC%2Faviateur/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278254466,"owners_count":25956604,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-04T02:00:05.491Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aviateur","fpv","openipc","openipc-fpv"],"created_at":"2025-10-04T02:13:31.468Z","updated_at":"2025-10-04T02:13:34.467Z","avatar_url":"https://github.com/OpenIPC.png","language":"C++","funding_links":["https://opencollective.com/openipc"],"categories":[],"sub_categories":[],"readme":"# Aviateur\n\n\u003cp style=\"text-align: center;\"\u003e\n  \u003ca href=\"https://github.com/OpenIPC/aviateur\"\u003e\n    \u003cimg src=\"assets/logo.svg\" width=\"100\" alt=\"Aviateur logo\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\nOpenIPC FPV ground station for Linux/Windows/macOS. Forked from [fpv4win](https://github.com/OpenIPC/fpv4win).\n\n![](tutorials/interface.png)\n\n\u003e [!NOTE]\n\u003e No Adaptive Link support for Windows.\n\n\u003e [!NOTE]\n\u003e Only RTL8812AU Wi-Fi adapter is supported.\n\n\u003e [!NOTE]\n\u003e No MAVLink support.\n\n### How to run on Windows\n\n1. Install the GStreamer runtime (the development installer is not necessary)\n   from [GStreamer](https://gstreamer.freedesktop.org/download/#windows).\n2. Add `C:\\Program Files\\gstreamer\\1.0\\msvc_x86_64\\bin` to your PATH environment variable.\n3. Download [Zadig](https://zadig.akeo.ie/).\n4. Install the libusb driver for your adapter.\n   Go *Options* → *List All Devices*\n   ![](tutorials/zadig1.jpg)\n   Select your adapter. Install the driver. Remember the USB ID, we will need it soon.\n   ![](tutorials/zadig2.jpg)\n5. Run Aviateur.\n6. Select the adapter of the correct USB ID. Select your drone channel. Select your WFB-NG key. Start.\n\n### How to run on Linux\n\n1. (Optional) Go to `/lib/udev/rules.d`, create a new file named `80-my8812au.rules` and add\n   `SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"0bda\", ATTRS{idProduct}==\"8812\", MODE=\"0666\"` in it.\n2. (Optional) Call `sudo udevadm control --reload-rules`, then reboot (this is definitely required).\n3. Run Aviateur (if you skip step 1 \u0026 2, root privileges are needed to access the adapter).\n4. Select the adapter of the correct USB ID. Select your drone channel. Select your WFB-NG key. Start.\n\n### How to run on macOS\n\n1. Build yourself.\n2. **Important**: Run the app from terminal to ensure proper environment variable handling:\n   ```bash\n   open ./build/bin/aviateur.app\n   ```\n\nCurrently, I cannot find a way to distribute it on macOS. So, you have to build it yourself.\n\n### Common run issues\n\n* If the application crashes at startup on **Windows**,\n  install [Microsoft Visual C++ Redistributable](https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170#latest-microsoft-visual-c-redistributable-version)\n  first.\n\n### Latency test\n\n![](tutorials/latency_test.jpg)\n\n\u003e [!NOTE]\n\u003e Generally, enabling the GStreamer backend can achieve a lower glass-to-glass latency.\n\n### TODOs\n\n- Ground side OSD\n\n### How to build on Windows\n\n1. Install vcpkg somewhere else.\n   ```powershell\n   git clone https://github.com/microsoft/vcpkg.git\n   cd vcpkg\n   .\\bootstrap-vcpkg.bat\n   ```\n\n2. Install dependencies.\n   ```powershell\n   .\\vcpkg integrate install\n   .\\vcpkg install libusb ffmpeg libsodium opencv\n   ```\n\n3. Add VCPKG_ROOT to environment. (Change the value to your vcpkg path.)\n   ![](tutorials/vcpkg.jpg)\n\n4. Clone third-party library sources.\n   ```powershell\n   git submodule update --init --recursive\n   ```\n\n5. Build the project.\n   ```bash\n   mkdir build \u0026\u0026 cd build\n   cmake ../\n   make\n   ```\n\n### How to build on Linux (tested on Ubuntu 24.04)\n\n1. Install dependencies.\n   ```bash\n   git submodule update --init --recursive\n   sudo apt install libusb-1.0-0-dev ffmpeg libsodium-dev libopencv-dev xorg-dev libpcap-dev\n   ```\n\n2. Build the project.\n\n### How to build on macOS\n\n1. Install dependencies:\n\n   Xcode: This assumes you already have Xcode installed and have run `xcode-select --install`\n\n   [Homebrew](https://brew.sh/)\n\n   [Vulkan](https://vulkan.lunarg.com/sdk/home)  - Install Location ~/ (default), no need to pick any extra options in\n   installer (default)\n\n   Extra Packages with Homebrew:\n   ```bash\n   brew install libusb ffmpeg libsodium opencv libpcap cmake\n   ```\n\n2. Add the following content to `YOUR_HOME/.zprofile` (change the sdk version and username to your own\n   version/username).\n\n   `nano ~/.zprofile`, paste the text in, `ctrl-o` to save, `ctrl-x` to exit.\n   ```\n   VULKAN_SDK=\"/Users/zzz/VulkanSDK/1.4.321.0/macOS\"\n   export VULKAN_SDK\n   PATH=\"$PATH:$VULKAN_SDK/bin\"\n   export PATH\n   DYLD_LIBRARY_PATH=\"$VULKAN_SDK/lib:${DYLD_LIBRARY_PATH:-}\"\n   export DYLD_LIBRARY_PATH\n   VK_ADD_LAYER_PATH=\"$VULKAN_SDK/share/vulkan/explicit_layer.d\"\n   export VK_ADD_LAYER_PATH\n   VK_ICD_FILENAMES=\"$VULKAN_SDK/share/vulkan/icd.d/MoltenVK_icd.json\"\n   export VK_ICD_FILENAMES\n   VK_DRIVER_FILES=\"$VULKAN_SDK/share/vulkan/icd.d/MoltenVK_icd.json\"\n   export VK_DRIVER_FILES\n   PKG_CONFIG_PATH=\"$VULKAN_SDK/lib/pkgconfig:$PKG_CONFIG_PATH\"\n   export PKG_CONFIG_PATH\n   ```\n\n3. Log out and in for the above change to take effect.\n\n4. Build the project:\n   ```bash\n   git clone https://github.com/OpenIPC/aviateur\n   cd aviateur\n   git submodule update --init --recursive\n   mkdir build \u0026\u0026 cd build\n   cmake ../\n   make\n   ```\n   \n5. As noted above, you must run the file through terminal:\n\n   `open ./bin/aviateur.app`\n\n   Or if you want to see the log file while running:\n   `./bin/aviateur.app/Contents/MacOS/aviateur`\n\n### Common build issues\n\nOn Windows\n\n```\nCMake 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): ...\n```\n\nThis is because the pre-installed vcpkg from Visual Studio installer overrides the PKG_ROOT environment variable.\nTo fix this, find `set(CMAKE_TOOLCHAIN_FILE \"$ENV{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake\")` in CMakeLists.txt,\nreplace `$ENV{VCPKG_ROOT}` with the vcpkg you cloned previously.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenipc%2Faviateur","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenipc%2Faviateur","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenipc%2Faviateur/lists"}