Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

qT-Embed

Graphical desktop application for T-Embed Flipper zero Port https://github.com/Sor3nt/Flipper-Zero-ESP32-Port

Features

  • Stream Flipper's display and control it remotely
  • Upload Files to your SD card

Build from sources

Cloning

Make sure to clone the project together with submodules:

git clone ----
### 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

This is the Linux build of qtembed. It produces a self-contained AppImage. The build image installs Qt 6.4.2 via aqtinstall and packages the app with linuxdeploy + linuxdeploy-plugin-qt, bundling Qt, the xcb platform plugin, and OpenSSL 1.1 (which Qt 6.4.2's TLS backend requires).

Docker build (AppImage)

Build the builder image once (downloads Qt, ~a few minutes):

docker build -t qtembed-linux-builder ./docker

Then build the AppImage:

docker run --rm \
  -v "$PWD:/project" -w /project \
  -e APPIMAGE_EXTRACT_AND_RUN=1 \
  qtembed-linux-builder "bash build_linux.sh"

The result is build/qtembed-x86_64.AppImage.

Notes

  • APPIMAGE_EXTRACT_AND_RUN=1 lets the AppImage-based build tools run without FUSE inside the container.
  • On Windows (PowerShell), use the absolute project path for the volume, e.g. -v "C:\Users\you\qtembed-linux:/project".
  • docker compose is intentionally not used here: the bundled compose file bind-mounts /dev/bus/usb and uses host networking, which don't work on Docker Desktop / Windows.

Standalone build (host with Qt 6.4+)

Build requirements:

  • Qt 6.4 with modules: base, declarative, serialport, svg, shadertools, qt5compat, tools, wayland (qt5compat provides Qt5Compat.GraphicalEffects, used for the themed UI)
  • libusb >= 1.0.16
  • zlib >= 1.2.0

Then run:

mkdir build && cd build
qmake ../qFlipper.pro -spec linux-g++ CONFIG+=qtquickcompiler PREFIX=/path/to/install/dir
make qmake_all && make -j"$(nproc)" && make install

Caution: make installing 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:

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

./build/qtembed-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 qtembed as a normal user:

./qtembed-x86_64.AppImage rules install [/optional/path/to/rules/dir]

Package managers support

See 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.

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.

About

Linux build of qtembed (qFlipper fork) - native themed window controls + aqtinstall/AppImage toolchain

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages