新的驱动框架DRM下没有/dev/fb0,取而代之的是/dev/dri/card0,
编译了libdrm.so,
qt启用-kms,仍提示ERROR: Feature 'kms' was enabled, but the pre-condition 'libs.drm' failed.
没有解决,去内核里面启用fb,启用
<*> DRM Support for Rockchip,
<*> Support for frame buffer devices --->
*Enable legacy fbdev support for your modesetting driver
重新编译内核就会出现fb0
设置环境变量,qt可以正常显示
如何使用drm,有大佬教一下不?
离线
DRM_LIBS = -ldrm
QMAKE_LIBS += $${DRM_LIBS}
QMAKE_LIBS_PRIVATE += $${DRM_LIBS}
QMAKE_CFLAGS += -I/home/work/work/rk3506g/hdrk3506mini/rk3506_linux6.1_sdk/buildroot/output/rockchip_rk3506/host/arm-buildroot-linux-gnueabihf/sysroot/usr/include/libdrm
QMAKE_CXXFLAGS += -I/home/work/work/rk3506g/hdrk3506mini/rk3506_linux6.1_sdk/buildroot/output/rockchip_rk3506/host/arm-buildroot-linux-gnueabihf/sysroot/usr/include/libdrm
QMAKE_LFLAGS += -Wl,-rpath-link,/home/work/work/rk3506g/hdrk3506mini/rk3506_linux6.1_sdk/buildroot/output/rockchip_rk3506/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib -DQT_FORCE_DRM=1
不要指定路径,以上方式会导致找不到libdrm.so
指定sysroot就可以解决
-sysroot /home/work/work/rk3506g/hdrk3506mini/rk3506_linux6.1_sdk/buildroot/output/rockchip_rk3506/host/arm-buildroot-linux-gnueabihf/sysroot
configure参数如下
../qt-everywhere-src-5.15.17/configure \
-c++std c++17 \
-prefix /opt/qt5.15.17arm \
-extprefix /home/work/work/rk3506g/hdrk3506mini/rk3506_linux6.1_sdk/buildroot/output/rockchip_rk3506/target/opt/qt5.15.17arm \
-hostprefix /home/work/work/rk3506g/qt/hostqt5.15.17arm \
-sysroot /home/work/work/rk3506g/hdrk3506mini/rk3506_linux6.1_sdk/buildroot/output/rockchip_rk3506/host/arm-buildroot-linux-gnueabihf/sysroot \
-confirm-license -opensource \
-release -shared \
-xplatform linux-arm-gnueabi-g++ \
-qpa linuxfb \
-feature-linuxfb \
-make libs \
-nomake examples -nomake tests \
-no-opengl \
-no-sse2 \
-no-openssl \
-no-cups \
-no-separate-debug-info \
-no-iconv \
-pch \
-qt-libjpeg \
-qt-libpng \
-qt-zlib \
-qt-freetype \
-skip qtwayland \
-skip qt3d \
-skip qtquick3d \
-skip qtdoc \
-skip qtandroidextras \
-skip qtconnectivity \
-skip qtdoc \
-skip qtgamepad \
-skip qtlocation \
-skip qtmacextras \
-skip qtnetworkauth \
-skip qtpurchasing \
-skip qtremoteobjects \
-skip qtscript \
-skip qtscxml \
-skip qtsensors \
-skip qtspeech \
-skip qtsvg \
-skip qttools \
-skip qttranslations \
-skip qtwayland \
-skip qtwebengine \
-skip qtwebview \
-skip qtwinextras \
-skip qtx11extras \
-skip qtxmlpatterns \
-gui \
-widgets \
-dbus-runtime \
--glib=no \
--pcre=qt \
--harfbuzz=qt \
--sqlite=qt \
-plugin-sql-sqlite \
-v \
-kms \
离线