Using the VC4 drivers with Qt and Raspberry pi 3
-
wrote on 20 Jul 2018, 20:09 last edited by ronpetit
Hello, following this guide https://wiki.qt.io/RaspberryPi2EGLFS, I managed to cross compile Qt 5.10.1, only the qtbase, and the qtsvg (I only need those), and as I wanted to use the VC4 drivers for hardware acceleration, I used the device "linux-rasp-pi3-vc4-g++", everything went fine on the compilation.
I compiled also the qopenglwidget to test everything, but after activating the vc4 driver on the raspi-config menu, I got the following error:
- failed to add service - already in use?
Searching on the internet, everybody suggest to disable the vc4 drivers to get rid of the error, but if I do that, then, the eglfs will complain that it cannot find any DRM device. So, how can I use the vc4 drivers with Qt?
Details:
Host machine: ubuntu 16.04, 64bits, amd64 ARCH (don't know if this really matter)
RPi: Raspberry pi 3 model B running raspbian JESSIE, and using the latest kernel (4.14)Any help will be highly appreciated
-
wrote on 21 Jul 2018, 13:51 last edited by Cleiton Bueno
-
wrote on 21 Jul 2018, 18:12 last edited by
@Cleiton-Bueno Check it
Building on: linux-g++ (x86_64, CPU features: mmx sse sse2) Building for: devices/linux-rasp-pi3-vc4-g++ (arm, CPU features: <none>) Configuration: cross_compile use_gold_linker compile_examples enable_new_dtags largefile precompile_header shared rpath release c++11 concurrent dbus reduce_exports stl Build options: Mode ................................... release Optimize release build for size ........ no Building shared libraries .............. yes Using C++ standard ..................... C++11 Using ccache ........................... no Using gold linker ...................... yes Using new DTAGS ........................ yes Using precompiled headers .............. yes Using LTCG ............................. no Target compiler supports: NEON ................................. no Build parts ............................ libs Qt modules and options: Qt Concurrent .......................... yes Qt D-Bus ............................... yes Qt D-Bus directly linked to libdbus .... yes Qt Gui ................................. yes Qt Network ............................. yes Qt Sql ................................. yes Qt Testlib ............................. yes Qt Widgets ............................. yes Qt Xml ................................. yes Support enabled for: Using pkg-config ....................... yes QML debugging .......................... yes udev ................................... yes Using system zlib ...................... yes Qt Core: DoubleConversion ....................... yes Using system DoubleConversion ........ no GLib ................................... yes iconv .................................. no ICU .................................... yes Logging backends: journald ............................. no syslog ............................... no slog2 ................................ no Using system PCRE2 ..................... no Qt Network: getifaddrs() ........................... yes IPv6 ifname ............................ yes libproxy ............................... no OpenSSL ................................ yes Qt directly linked to OpenSSL ........ no OpenSSL 1.1 ............................ yes SCTP ................................... no Use system proxies ..................... yes Qt Gui: Accessibility .......................... yes FreeType ............................... yes Using system FreeType ................ yes HarfBuzz ............................... yes Using system HarfBuzz ................ no Fontconfig ............................. yes Image formats: GIF .................................. yes ICO .................................. yes JPEG ................................. yes Using system libjpeg ............... yes PNG .................................. yes Using system libpng ................ yes EGL .................................... yes OpenVG ................................. yes OpenGL: Desktop OpenGL ....................... no OpenGL ES 2.0 ........................ yes OpenGL ES 3.0 ........................ no OpenGL ES 3.1 ........................ no OpenGL ES 3.2 ........................ no Vulkan ................................. no Session Management ..................... yes Features used by QPA backends: evdev .................................. yes libinput ............................... yes INTEGRITY HID .......................... no mtdev .................................. yes tslib .................................. yes xkbcommon-evdev ........................ yes QPA backends: DirectFB ............................... no EGLFS .................................. yes EGLFS details: EGLFS OpenWFD ........................ no EGLFS i.Mx6 .......................... no EGLFS i.Mx6 Wayland .................. no EGLFS RCAR ........................... no EGLFS EGLDevice ...................... no EGLFS GBM ............................ yes EGLFS Mali ........................... no EGLFS Raspberry Pi ................... yes EGL on X11 ........................... no LinuxFB ................................ yes VNC .................................... yes Mir client ............................. no X11: Using system-provided XCB libraries .. yes EGL on X11 ........................... no Xinput2 .............................. yes XCB XKB .............................. yes XLib ................................. yes XCB render ........................... yes XCB GLX .............................. yes XCB Xlib ............................. yes Using system-provided xkbcommon ...... no Native painting (experimental) ....... yes Qt Widgets: GTK+ ................................... no Styles ................................. Fusion Windows Qt PrintSupport: CUPS ................................... yes Qt Sql: DB2 (IBM) .............................. no InterBase .............................. no MySql .................................. yes OCI (Oracle) ........................... no ODBC ................................... yes PostgreSQL ............................. yes SQLite2 ................................ yes SQLite ................................. yes Using system provided SQLite ......... no TDS (Sybase) ........................... yes Note: Also available for Linux: linux-clang linux-icc Note: PKG_CONFIG_LIBDIR automatically set to /home/ron/raspi5.10/sysroot/usr/lib/pkgconfig:/home/ron/raspi5.10/sysroot/usr/share/pkgconfig:/home/ron/raspi5.10/sysroot/usr/lib/arm-linux-gnueabihf/pkgconfig Note: PKG_CONFIG_SYSROOT_DIR automatically set to /home/ron/raspi5.10/sysroot Note: Dropped compiler flags '-pthread' when detecting library 'glib'.
-
wrote on 22 Jul 2018, 23:55 last edited by
@ronpetit said in Using the VC4 drivers with Qt and Raspberry pi 3:
QPA backends:
DirectFB ............................... no
EGLFS .................................. yes
EGLFS details:
EGLFS OpenWFD ........................ no
EGLFS i.Mx6 .......................... no
EGLFS i.Mx6 Wayland .................. no
EGLFS RCAR ........................... no
EGLFS EGLDevice ...................... no
EGLFS GBM ............................ yes
EGLFS Mali ........................... no
EGLFS Raspberry Pi ................... yes
EGL on X11 ........................... noAs for qtbase it seems OK.
OpenGL: Desktop OpenGL ....................... no OpenGL ES 2.0 ........................ yes ... QPA backends: DirectFB ............................... no EGLFS .................................. yes EGLFS details: EGLFS OpenWFD ........................ no EGLFS i.Mx6 .......................... no EGLFS i.Mx6 Wayland .................. no EGLFS RCAR ........................... no EGLFS EGLDevice ...................... no EGLFS GBM ............................ yes EGLFS Mali ........................... no EGLFS Raspberry Pi ................... yes EGL on X11 ........................... no
How is
gpu_mem
set up in /boot/config.txt?If you have vc4-kms-v3d configured in
dtoverlay
, I had problems with this device-tree using Wayland.It would be enriching more information using vcgencmd, especially with the trace part.
But I do not see problems or malfunction on the Qt side with this reported message.
Cleiton Bueno
1/4