xdeskv1.0.0
ResourcesRessources

Packages, Windows and AndroidPaquets, Windows et Android

The Linux and Windows packages, the Windows bundle and the Android app, and how each one is built.Les paquets Linux et Windows, le bundle Windows et l'appli Android, et comment chacun est construit.

1. Linux packagesPaquets Linux

The same packages exist as RPM (Fedora), DEB (Debian / Ubuntu) and Arch (pacman), signed and published on the gh-pages branch (install them).

PackageContent
xdeskinstalls the default package (xdesk-op)
xdesk-opthe executable compiled with the optimization options
xdesk-dbthe executable compiled with the debug options (debugging only)
xdesk-asthe executable compiled with AddressSanitizer (debugging only)

Warning. The three variants install the same /usr/bin/xdesk: only one of them at a time.

Every package has a pre-release <package>-pre (tag vX.Y.Z-<suffix> or a commit with [build]), obsoleted by any stable package of the same version or higher.

Les mêmes paquets existent en RPM (Fedora), DEB (Debian / Ubuntu) et Arch (pacman), signés et publiés sur la branche gh-pages (les installer).

PaquetContenu
xdeskinstalle le paquet par défaut (xdesk-op)
xdesk-opl'exécutable compilé avec les options d'optimisation
xdesk-dbl'exécutable compilé avec les options de debug (pour le debug seulement)
xdesk-asl'exécutable compilé avec AddressSanitizer (pour le debug seulement)

Attention. Les trois variantes installent le même /usr/bin/xdesk : une seule à la fois.

Chaque paquet a une pré-release <paquet>-pre (tag vX.Y.Z-<suffixe> ou commit avec [build]), rendue obsolète par tout paquet stable de même version ou plus.

2. WindowsWindows

The same packages prefixed with mingw64- (mingw64-xdesk...), installed in the MinGW sysroot, without the -as variant. From Linux:

cmake -S . -B build-windows -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain/mingw-w64.cmake -DCMAKE_BUILD_TYPE=Optimized
cmake --build build-windows --parallel $(nproc)          # xdesk.exe at the root
cmake --build build-windows --target package_release    # mingw64-xdesk* RPM / DEB
scripts/bundle_windows.sh                                # dist/xdesk-windows-x64.zip (exe + Qt / OpenSSL dll + install.ps1)

Needs mingw64-gcc-c++ mingw64-qt6-qtbase mingw64-openssl mingw64-libjpeg-turbo mingw64-libutils (Fedora). H.264 on Windows: the openh264-2.6.x-win64.dll of Cisco next to xdesk.exe.

Les mêmes paquets préfixés par mingw64- (mingw64-xdesk...), installés dans le sysroot MinGW, sans la variante -as. Depuis Linux :

cmake -S . -B build-windows -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain/mingw-w64.cmake -DCMAKE_BUILD_TYPE=Optimized
cmake --build build-windows --parallel $(nproc)          # xdesk.exe à la racine
cmake --build build-windows --target package_release    # RPM / DEB mingw64-xdesk*
scripts/bundle_windows.sh                                # dist/xdesk-windows-x64.zip (exe + dll Qt / OpenSSL + install.ps1)

Il faut mingw64-gcc-c++ mingw64-qt6-qtbase mingw64-openssl mingw64-libjpeg-turbo mingw64-libutils (Fedora). H.264 sous Windows : la openh264-2.6.x-win64.dll de Cisco à côté de xdesk.exe.

3. AndroidAndroid

scripts/build_apk.sh builds android/build/xdesk.apk without Gradle (aapt2, javac, d8, apksigner), version x.y.z.<commits>; it is embedded in the binary at the next build and served at /app/xdesk.apk. The app is a WebView of the web client with certificate pinning, a QR code scanner and an update offered as soon as the host serves a newer version. Needs the Android SDK (build-tools >= 34).

scripts/build_apk.sh construit android/build/xdesk.apk sans Gradle (aapt2, javac, d8, apksigner), version x.y.z.<commits> ; elle est embarquée dans le binaire à la compilation suivante et servie sur /app/xdesk.apk. L'appli est une WebView du client web avec épinglage du certificat, un scanner de QR code et une mise à jour proposée dès que l'hôte sert une version plus récente. Il faut le SDK Android (build-tools >= 34).

4. DependenciesDépendances

NameVersionFedora (dnf)
clang++ / cmakeC++20 / >= 3.20clang cmake
libutils>= 4.1.0libutils
Qt 6 (Core Gui Widgets Network)>= 6.4qt6-qtbase-devel
OpenSSL>= 3.2 (3.5 for ML-KEM)openssl-devel
libjpeg-turboanylibjpeg-turbo-devel
PipeWire (run time, Wayland)0.3 / 1.xpipewire-libs
XTest (optional)anylibXtst-devel
openh264 (run time, optional)2.6+openh264

The Debian / Ubuntu and Arch names are in the README.

NomVersionFedora (dnf)
clang++ / cmakeC++20 / >= 3.20clang cmake
libutils>= 4.1.0libutils
Qt 6 (Core Gui Widgets Network)>= 6.4qt6-qtbase-devel
OpenSSL>= 3.2 (3.5 pour ML-KEM)openssl-devel
libjpeg-turbotoutelibjpeg-turbo-devel
PipeWire (exécution, Wayland)0.3 / 1.xpipewire-libs
XTest (optionnel)toutelibXtst-devel
openh264 (exécution, optionnel)2.6+openh264

Les noms Debian / Ubuntu et Arch sont dans le README.