# qmake configuration for the Raspberry Pi 4 (32-bit) using the Mesa V3D # graphics stack. (not the Broadcom stack) # # This supports accelerated OpenGL both for X11 and DRM/KMS. Perhaps # Wayland too. # # Tested with a sysroot created from Raspbian Buster and a gcc 7.4 # toolchain from Linaro. # # Example configure command line, assuming installation to # /usr/local/qt5pi on device and ~/rpi/qt5 on the host: # # ./configure -release -opengl es2 -device linux-rasp-pi4-v3d-g++ -device-option CROSS_COMPILE=~/rpi/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- \ # -sysroot ~/rpi/sysroot -opensource -confirm-license -make libs -prefix /usr/local/qt5pi -extprefix ~/rpi/qt5 -v # # Check the configure output carefully. EGLFS, EGLFS GBM, and EGL on X11 # should all be 'yes'. Otherwise something is wrong. # # If getting linker errors like "undefined reference to `_dl_stack_flags'" check the # symlinks in the sysroot, they were probably not adjusted # correctly. F.ex. sysroot/usr/lib/arm-linux-gnueabihf/libpthread.so must point to # sysroot/lib/arm-linux-gnueabihf/libpthread.so.0. If it is a broken link instead, bad # things will happen. include(../common/linux_device_pre.conf) QMAKE_LIBS_EGL += -lEGL QMAKE_LIBS_OPENGL_ES2 += -lGLESv2 -lEGL QMAKE_CFLAGS = -march=armv8-a -mtune=cortex-a72 -mfpu=crypto-neon-fp-armv8 QMAKE_CXXFLAGS = $$QMAKE_CFLAGS DISTRO_OPTS += hard-float DISTRO_OPTS += deb-multi-arch EGLFS_DEVICE_INTEGRATION = eglfs_kms include(../common/linux_arm_device_post.conf) load(qt_config)