Problem
On Debian-based aarch64 systems (e.g. Raspberry Pi 5 running Raspberry Pi OS), building with qt6-base-private-dev installed still produces:
GPU spectrum rendering disabled — Qt6GuiPrivate not found (install qt6-base-private-dev / qt6-qtbase-private-devel)
Root cause
The Debian multiarch fallback path probe in CMakeLists.txt hardcodes x86_64-linux-gnu:
PATHS "/usr/include/x86_64-linux-gnu/qt6" "/usr/include/qt6"
On aarch64, Qt6's private headers are installed at /usr/include/aarch64-linux-gnu/qt6, so the probe misses them even when the package is present.
Impact
GPU spectrum rendering (QRhi) is silently disabled on Raspberry Pi 5 and any other aarch64 Debian build. With it disabled, all spectrum/panadapter rendering falls back to CPU. Observed improvement after fix: approximately 20% reduction in CPU utilization, 10% increase in GPU utilization.
Fix
Use dpkg-architecture -qDEB_HOST_MULTIARCH to detect the correct multiarch tuple at configure time, making the probe work for any Debian target (aarch64-linux-gnu, armhf, x86_64-linux-gnu, etc.).
Fix is in branch fix/cmake-aarch64-qt-private-path on K5PTB/AetherSDR, PR to follow.
Workaround (until merged)
Pass the cmake variable directly:
cmake -S . -B build -DQt6GuiPrivate_DIR=/usr/lib/aarch64-linux-gnu/cmake/Qt6GuiPrivate
Test environment
- Raspberry Pi 5, Raspberry Pi OS Trixie (Debian 13)
- Qt 6.x from apt (
qt6-base-dev, qt6-base-private-dev)
Problem
On Debian-based aarch64 systems (e.g. Raspberry Pi 5 running Raspberry Pi OS), building with
qt6-base-private-devinstalled still produces:Root cause
The Debian multiarch fallback path probe in
CMakeLists.txthardcodesx86_64-linux-gnu:On aarch64, Qt6's private headers are installed at
/usr/include/aarch64-linux-gnu/qt6, so the probe misses them even when the package is present.Impact
GPU spectrum rendering (QRhi) is silently disabled on Raspberry Pi 5 and any other aarch64 Debian build. With it disabled, all spectrum/panadapter rendering falls back to CPU. Observed improvement after fix: approximately 20% reduction in CPU utilization, 10% increase in GPU utilization.
Fix
Use
dpkg-architecture -qDEB_HOST_MULTIARCHto detect the correct multiarch tuple at configure time, making the probe work for any Debian target (aarch64-linux-gnu, armhf, x86_64-linux-gnu, etc.).Fix is in branch
fix/cmake-aarch64-qt-private-pathon K5PTB/AetherSDR, PR to follow.Workaround (until merged)
Pass the cmake variable directly:
Test environment
qt6-base-dev,qt6-base-private-dev)