clawdie-iso/firstboot/gui/helloworld
2026-06-04 20:04:23 +02:00
..
helloworld.pro feat: Phase 1 Qt6 GUI proof of concept (v1.0.0 roadmap) 2026-06-04 20:04:22 +02:00
main.cpp feat: Phase 1 Qt6 GUI proof of concept (v1.0.0 roadmap) 2026-06-04 20:04:22 +02:00
README.md Merge xfce-operator-usb: Track F Colibri, DeepSeek smoke, LLM provider harness 2026-06-04 20:04:23 +02:00

Qt6 Hello World — Phase 1 Proof of Concept

Purpose: Verify Qt6 toolchain on FreeBSD

Status: Phase 1 implementation for v1.0.0


Prerequisites

# Install Qt6 build tools
pkg install qt6-base qt6-widgets qt6-buildtools

# Verify qmake6 is available
qmake6 --version
# Expected: QMake version 3.1 with Qt 6.x.x

Build Instructions

Using qmake6

cd firstboot/gui/helloworld

# Generate Makefile from .pro file
qmake6

# Build
make

# Run
./clawdie-helloworld

Alternative: Using CMake (not configured yet)

mkdir build && cd build
cmake ..
make
./clawdie-helloworld

Files

  • main.cpp — Qt6 C++ application with widgets
  • helloworld.pro — qmake project file
  • README.md — This file

Success Criteria

  • Files created
  • qmake6 generates Makefile
  • make compiles without errors
  • Binary executes and displays window
  • Button click triggers exit

Expected Output

$ qmake6
$ make
g++ -fPIC -fno-omit-frame-pointer ... -o clawdie-helloworld ...
$ ./clawdie-helloworld
# Window should appear titled "Clawdie Installer"
# Label: "Clawdie Qt6 GUI Installer"
# Button: "Exit"

Troubleshooting

Error: qmake6 not found

pkg install qt6-buildtools
which qmake6  # Should show /usr/local/bin/qmake6

Error: undefined reference to Qt libraries

# Ensure Qt6 libraries are installed
pkg install qt6-base qt6-widgets

Error: Cannot find X11 display This is normal if running over SSH without X forwarding. The app will fail to display, but compilation succeeds.


Next Steps (Phase 2)

Once Phase 1 succeeds:

  1. Create qml-installer/ for QML-based UI
  2. Wire GPU detection output to QML
  3. Test multi-page wizard flow

Document Version: 1.0 Date: 6 Apr 2026