# qFlipper **Repository Path**: mirrors_jeffreydwalter/qFlipper ## Basic Information - **Project Name**: qFlipper - **Description**: qFlipper — desktop application for updating Flipper Zero firmware via PC - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: dev - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-04-30 - **Last Updated**: 2026-05-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## qFlipper ### Graphical desktop application for updating [Flipper Zero](https://flipperzero.one/) firmware via PC qFlipper is completely open source and based on [Qt](https://www.qt.io/) framework. Runs on Windows, macOS, Linux. qFlipper ## Download Download official qFlipper builds here: [update.flipperzero.one](https://update.flipperzero.one/) download qFlipper Button ## Features * Update Flipper's firmware and supplemental data with a press of one button * Repair a broken firmware installation * Stream Flipper's display and control it remotely * Install firmware from a `.dfu` file * Backup and restore settings, progress and pairing data * Automatic self-update feature * Command line interface ## Build from sources ### Cloning Make sure to clone the project together with submodules: ```sh git clone https://github.com/flipperdevices/qFlipper.git --recursive ``` ### Windows Build requirements: - MS Visual Studio 2019 or newer - Qt5 (MSVC build) >= 5.15.0 or Qt6 >= 6.3.0 - NSIS (to generate the installer) Edit `build_windows.bat` to adjust to your build environment and then run: ```cmd build_windows.bat ``` Note: STM32 Bootloader driver is not provided in this repository. ### Linux #### Docker build (AppImage, official) Setup dev container by running: ```sh docker compose up -d ``` Compile qFlipper by running: ```sh docker compose exec dev ./build_linux.sh ``` #### Standalone build Build requirements: - Qt5 >= 5.15.0 or Qt6 >= 6.3.0 - libusb >= 1.0.16 - zlib >= 1.2.0 Make sure to install the following Qt modules (the exact package names might differ slightly depending on your Linux distribution): ``` base, tools, serialport, declarative, wayland, [quickcontrols2, graphicaleffects] (Qt5 only), qt5-compat (Qt6 only) ``` Then run: ```sh mkdir build && cd build qmake ../qFlipper.pro PREFIX=/path/to/install/dir -spec linux-g++ CONFIG+=qtquickcompiler && make qmake_all && make && make install ``` **Caution:** `make install`ing to the system prefix is not recommended. Instead, use this method for building distro-specific packages. In this case, it is possible to disable the built-in application update feature by passing `DEFINES+=DISABLE_APPLICATION_UPDATES` to the `qmake` call. ### MacOS Build requirements: - Xcode or command line tools - Qt6 6.3.1 static universal from [Flipper brew tap](https://github.com/flipperdevices/homebrew-flipper) - libusb 1.0.24 universal from [Flipper brew tap](https://github.com/flipperdevices/homebrew-flipper) - [dmgbuild](https://pypi.org/project/dmgbuild/) >= 1.5.2 If you want to sign binaries, set `SIGNING_KEY` environment variable: export SIGNING_KEY="Your Developer Key ID" Building, signing and creating package: ./build_mac.sh Resulting image can be found in: `build_mac/qFlipper.dmg` ## Run ### Linux ```sh ./build/qFlipper-x86_64.AppImage ``` or just launch the file above from your favourite file manager. You will likely need to set up udev rules in order to use qFlipper as a normal user: ```sh ./qFlipper-x86_64.AppImage rules install [/optional/path/to/rules/dir] ``` #### Package managers support See [contrib](./contrib) for available options. ## Project structure - `application` - The main graphical application, written mostly in QML. - `cli` - The command line interface, provides nearly all main application's functionality. - `backend` - The backend library, written in C++. Takes care of most of the logic. - `dfu` - Low level library for accessing USB and DFU devices. - `plugins` - Protobuf-based communication protocol support. - `3rdparty` - Third-party libraries. - `contrib` - Contributed packages and scripts. - `driver-tool` - DFU driver installation tool for Windows (based on `libwdi`). - `docker` - Docker configuration files. - `installer-assets` - Supplementary data for deployment. ## Reporting bugs qFlipper is a project under active development. Please report any encountered bugs to make it better! The (mostly) complete guide is located [here](./.github/ISSUE_TEMPLATE/bug_report.md). ## Known bugs * Sometimes Flipper's serial port doesn't get recognised by the OS, which leads to firmware update errors. This is a firmware issue. * On some systems, there is noticeable flicker during opening, closing or resizing of the log area. * Release source archives are automatically generated by Github and are unsuitable for building as they do not contain submodules.