Hi, attached a first patch for qt 5.6 qt5-gui to enable:
- evdev and mtdev for evdev support and multi-touch support. This probably won't work for everyone but only for those where webcamd has the appropriate support to create /dev/input/ devices. - eglfs support for x11 and kms framebuffer. That means, if using a supported kernel drm module like i915kms.ko, one can start any Qt app on the console with parameter -platform eglfs. (Tested this on X11 where the app starts with this as well as on the framebuffer. There are two plugins where the according one is chosen depending on wether DISPLAY is found, see the Qt docs for more info) - bsdsysmouse and bsdkeyboard support plugins (use with -plugin bsdsysmouse and -plugin bsdkeyboard, the sysmouse only works for me as root due to permissions of /dev/sysmouse) The plugins are in the patch-bsd-input file and are provided by Oleksandr Tymoshenko. I don't think it is necessary to split that whole thing up into options yet, but first to import it so it is usable on a desktop system for testing. Later the port can be extended with options for X11 (xcb qpa plugin) or eglfs or both, so users on the raspberry pi can go without X11 dependencies. The next step would be to use the configure option -opengl es2 with glesv2 to have OpenGL ES 2/3 support in Qt enabled. -- Kind regards, Ralf Nolden
Index: branches/qt-5.6/QT/x11-toolkits/qt5-gui/Makefile =================================================================== --- branches/qt-5.6/QT/x11-toolkits/qt5-gui/Makefile (Revision 12509) +++ branches/qt-5.6/QT/x11-toolkits/qt5-gui/Makefile (Arbeitskopie) @@ -18,7 +18,10 @@ libxcb-keysyms.so:${PORTSDIR}/x11/xcb-util-keysyms \ libxcb-render-util.so:${PORTSDIR}/x11/xcb-util-renderutil \ libxcb-icccm.so:${PORTSDIR}/x11/xcb-util-wm \ - libxkbcommon.so:${PORTSDIR}/x11/libxkbcommon + libxkbcommon.so:${PORTSDIR}/x11/libxkbcommon \ + libevdev.so:${PORTSDIR}/devel/libevdev \ + libvga.so:${PORTSDIR}/graphics/svgalib \ + libmtdev.so:${PORTSDIR}/devel/libmtdev RUN_DEPENDS= xdg-open:${PORTSDIR}/devel/xdg-utils USES= jpeg @@ -28,9 +31,12 @@ QT_DIST= base USE_XORG= ice sm x11 xi xrender HAS_CONFIGURE= yes -CONFIGURE_ARGS= -no-eglfs \ - -no-evdev \ - -system-harfbuzz +CONFIGURE_ARGS= -system-harfbuzz \ + -no-directfb \ + -no-linuxfb \ + -no-tslib \ + -no-libinput \ + -opengl desktop USE_LDCONFIG= ${PREFIX}/${QT_LIBDIR_REL} BUILD_WRKSRC= ${WRKSRC}/src/${PORTNAME} @@ -55,11 +61,12 @@ MORE_WRKSRCS+= src/openglextensions QT_DEFINES= ACCESSIBILITY DBUS FONTCONFIG FREETYPE GLIB \ - IMAGEFORMAT_PNG OPENGL SHAPE XCB XKB XKBCOMMON XRENDER + IMAGEFORMAT_PNG OPENGL SHAPE XCB XKB XKBCOMMON XRENDER \ + EVDEV MTDEV QT_CONFIG= accessibility accessibility-atspi-bridge dbus \ fontconfig glib opengl png system-freetype \ system-jpeg system-png xcb xcb-glx xcb-render \ - xcb-xlib xinput2 xlib xrender + xcb-xlib xinput2 xlib xrender evdev mtdev # Inherited from Qt 4. .if defined(PACKAGE_BUILDING) Index: branches/qt-5.6/QT/x11-toolkits/qt5-gui/files/patch-config.tests_qpa_eglfs-egldevice_eglfs-egldevice.pro =================================================================== --- branches/qt-5.6/QT/x11-toolkits/qt5-gui/files/patch-config.tests_qpa_eglfs-egldevice_eglfs-egldevice.pro (nicht existent) +++ branches/qt-5.6/QT/x11-toolkits/qt5-gui/files/patch-config.tests_qpa_eglfs-egldevice_eglfs-egldevice.pro (Arbeitskopie) @@ -0,0 +1,10 @@ +--- config.tests/qpa/eglfs-egldevice/eglfs-egldevice.pro.orig 2016-05-05 22:09:00.397948000 +0200 ++++ config.tests/qpa/eglfs-egldevice/eglfs-egldevice.pro 2016-05-05 22:09:46.865099000 +0200 +@@ -5,6 +5,7 @@ + } + + INCLUDEPATH += $$QMAKE_INCDIR_EGL ++INCLUDEPATH += /usr/local/include/libdrm + LIBS += $$QMAKE_LIBS_EGL + + LIBS += -ldrm Index: branches/qt-5.6/QT/x11-toolkits/qt5-gui/files/patch-config.tests_qpa_kms_kms.pro =================================================================== --- branches/qt-5.6/QT/x11-toolkits/qt5-gui/files/patch-config.tests_qpa_kms_kms.pro (nicht existent) +++ branches/qt-5.6/QT/x11-toolkits/qt5-gui/files/patch-config.tests_qpa_kms_kms.pro (Arbeitskopie) @@ -0,0 +1,8 @@ +--- config.tests/qpa/kms/kms.pro.orig 2016-05-05 20:41:39.732526000 +0200 ++++ config.tests/qpa/kms/kms.pro 2016-05-05 20:41:50.297522000 +0200 +@@ -1,4 +1,4 @@ + SOURCES = kms.cpp + CONFIG += link_pkgconfig +-PKGCONFIG += libdrm libudev ++PKGCONFIG += libdrm + CONFIG -= qt Index: branches/qt-5.6/QT/x11-toolkits/qt5-gui/files/patch-src_platformsupport_devicediscovery_devicediscovery.pri =================================================================== --- branches/qt-5.6/QT/x11-toolkits/qt5-gui/files/patch-src_platformsupport_devicediscovery_devicediscovery.pri (nicht existent) +++ branches/qt-5.6/QT/x11-toolkits/qt5-gui/files/patch-src_platformsupport_devicediscovery_devicediscovery.pri (Arbeitskopie) @@ -0,0 +1,10 @@ +--- src/platformsupport/devicediscovery/devicediscovery.pri.orig 2016-05-02 12:17:15.415303000 +0200 ++++ src/platformsupport/devicediscovery/devicediscovery.pri 2016-05-02 12:17:52.141056000 +0200 +@@ -1,6 +1,6 @@ + HEADERS += $$PWD/qdevicediscovery_p.h + +-linux { ++linux|freebsd { + contains(QT_CONFIG, libudev) { + SOURCES += $$PWD/qdevicediscovery_udev.cpp + HEADERS += $$PWD/qdevicediscovery_udev_p.h Index: branches/qt-5.6/QT/x11-toolkits/qt5-gui/pkg-plist =================================================================== --- branches/qt-5.6/QT/x11-toolkits/qt5-gui/pkg-plist (Revision 12509) +++ branches/qt-5.6/QT/x11-toolkits/qt5-gui/pkg-plist (Arbeitskopie) @@ -639,11 +639,22 @@ %%QT_LIBDIR%%/cmake/Qt5Gui/Qt5GuiConfig.cmake %%QT_LIBDIR%%/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake %%QT_LIBDIR%%/cmake/Qt5Gui/Qt5GuiConfigVersion.cmake +%%QT_LIBDIR%%/cmake/Qt5Gui/Qt5Gui_QBsdKeyboardPlugin.cmake +%%QT_LIBDIR%%/cmake/Qt5Gui/Qt5Gui_QBsdSysMousePlugin.cmake %%QT_LIBDIR%%/cmake/Qt5Gui/Qt5Gui_QComposePlatformInputContextPlugin.cmake +%%QT_LIBDIR%%/cmake/Qt5Gui/Qt5Gui_QEglFSIntegrationPlugin.cmake +%%QT_LIBDIR%%/cmake/Qt5Gui/Qt5Gui_QEglFSKmsEglDeviceIntegrationPlugin.cmake +%%QT_LIBDIR%%/cmake/Qt5Gui/Qt5Gui_QEglFSKmsIntegrationPlugin.cmake +%%QT_LIBDIR%%/cmake/Qt5Gui/Qt5Gui_QEglFSX11IntegrationPlugin.cmake +%%QT_LIBDIR%%/cmake/Qt5Gui/Qt5Gui_QEvdevKeyboardPlugin.cmake +%%QT_LIBDIR%%/cmake/Qt5Gui/Qt5Gui_QEvdevMousePlugin.cmake +%%QT_LIBDIR%%/cmake/Qt5Gui/Qt5Gui_QEvdevTabletPlugin.cmake +%%QT_LIBDIR%%/cmake/Qt5Gui/Qt5Gui_QEvdevTouchScreenPlugin.cmake %%QT_LIBDIR%%/cmake/Qt5Gui/Qt5Gui_QGifPlugin.cmake %%QT_LIBDIR%%/cmake/Qt5Gui/Qt5Gui_QICOPlugin.cmake %%QT_LIBDIR%%/cmake/Qt5Gui/Qt5Gui_QIbusPlatformInputContextPlugin.cmake %%QT_LIBDIR%%/cmake/Qt5Gui/Qt5Gui_QJpegPlugin.cmake +%%QT_LIBDIR%%/cmake/Qt5Gui/Qt5Gui_QMinimalEglIntegrationPlugin.cmake %%QT_LIBDIR%%/cmake/Qt5Gui/Qt5Gui_QMinimalIntegrationPlugin.cmake %%QT_LIBDIR%%/cmake/Qt5Gui/Qt5Gui_QOffscreenIntegrationPlugin.cmake %%QT_LIBDIR%%/cmake/Qt5Gui/Qt5Gui_QTuioTouchPlugin.cmake @@ -652,6 +663,12 @@ %%QT_LIBDIR%%/cmake/Qt5Gui/Qt5Gui_QXcbIntegrationPlugin.cmake %%QT_LIBDIR%%/cmake/Qt5OpenGLExtensions/Qt5OpenGLExtensionsConfig.cmake %%QT_LIBDIR%%/cmake/Qt5OpenGLExtensions/Qt5OpenGLExtensionsConfigVersion.cmake +%%QT_LIBDIR%%/libQt5EglDeviceIntegration.prl +%%QT_LIBDIR%%/libQt5EglDeviceIntegration.so +%%QT_LIBDIR%%/libQt5EglDeviceIntegration.so.5 +%%QT_LIBDIR%%/libQt5EglDeviceIntegration.so.%%SHORTVER%% +%%QT_LIBDIR%%/libQt5EglDeviceIntegration.so.%%FULLVER%% +%%DEBUG%%%%QT_LIBDIR%%/libQt5EglDeviceIntegration.so.%%FULLVER%%.debug %%QT_LIBDIR%%/libQt5Gui.prl %%QT_LIBDIR%%/libQt5Gui.so %%QT_LIBDIR%%/libQt5Gui.so.5 @@ -668,6 +685,7 @@ %%QT_LIBDIR%%/libQt5XcbQpa.so.%%SHORTVER%% %%QT_LIBDIR%%/libQt5XcbQpa.so.%%FULLVER%% %%DEBUG%%%%QT_LIBDIR%%/libQt5XcbQpa.so.%%FULLVER%%.debug +%%QT_MKSPECDIR%%/modules/qt_lib_eglfs_device_lib_private.pri %%QT_MKSPECDIR%%/modules/qt_lib_gui.pri %%QT_MKSPECDIR%%/modules/qt_lib_gui_private.pri %%QT_MKSPECDIR%%/modules/qt_lib_openglextensions.pri @@ -674,6 +692,24 @@ %%QT_MKSPECDIR%%/modules/qt_lib_openglextensions_private.pri %%QT_MKSPECDIR%%/modules/qt_lib_platformsupport_private.pri %%QT_MKSPECDIR%%/modules/qt_lib_xcb_qpa_lib_private.pri +%%QT_PLUGINDIR%%/egldeviceintegrations/libqeglfs-kms-egldevice-integration.so +%%DEBUG%%%%QT_PLUGINDIR%%/egldeviceintegrations/libqeglfs-kms-egldevice-integration.so.debug +%%QT_PLUGINDIR%%/egldeviceintegrations/libqeglfs-kms-integration.so +%%DEBUG%%%%QT_PLUGINDIR%%/egldeviceintegrations/libqeglfs-kms-integration.so.debug +%%QT_PLUGINDIR%%/egldeviceintegrations/libqeglfs-x11-integration.so +%%DEBUG%%%%QT_PLUGINDIR%%/egldeviceintegrations/libqeglfs-x11-integration.so.debug +%%QT_PLUGINDIR%%/generic/libqbsdkeyboardplugin.so +%%DEBUG%%%%QT_PLUGINDIR%%/generic/libqbsdkeyboardplugin.so.debug +%%QT_PLUGINDIR%%/generic/libqbsdsysmouseplugin.so +%%DEBUG%%%%QT_PLUGINDIR%%/generic/libqbsdsysmouseplugin.so.debug +%%QT_PLUGINDIR%%/generic/libqevdevkeyboardplugin.so +%%DEBUG%%%%QT_PLUGINDIR%%/generic/libqevdevkeyboardplugin.so.debug +%%QT_PLUGINDIR%%/generic/libqevdevmouseplugin.so +%%DEBUG%%%%QT_PLUGINDIR%%/generic/libqevdevmouseplugin.so.debug +%%QT_PLUGINDIR%%/generic/libqevdevtabletplugin.so +%%DEBUG%%%%QT_PLUGINDIR%%/generic/libqevdevtabletplugin.so.debug +%%QT_PLUGINDIR%%/generic/libqevdevtouchplugin.so +%%DEBUG%%%%QT_PLUGINDIR%%/generic/libqevdevtouchplugin.so.debug %%QT_PLUGINDIR%%/generic/libqtuiotouchplugin.so %%DEBUG%%%%QT_PLUGINDIR%%/generic/libqtuiotouchplugin.so.debug %%QT_PLUGINDIR%%/imageformats/libqgif.so @@ -686,8 +722,12 @@ %%DEBUG%%%%QT_PLUGINDIR%%/platforminputcontexts/libcomposeplatforminputcontextplugin.so.debug %%QT_PLUGINDIR%%/platforminputcontexts/libibusplatforminputcontextplugin.so %%DEBUG%%%%QT_PLUGINDIR%%/platforminputcontexts/libibusplatforminputcontextplugin.so.debug +%%QT_PLUGINDIR%%/platforms/libqeglfs.so +%%DEBUG%%%%QT_PLUGINDIR%%/platforms/libqeglfs.so.debug %%QT_PLUGINDIR%%/platforms/libqminimal.so %%DEBUG%%%%QT_PLUGINDIR%%/platforms/libqminimal.so.debug +%%QT_PLUGINDIR%%/platforms/libqminimalegl.so +%%DEBUG%%%%QT_PLUGINDIR%%/platforms/libqminimalegl.so.debug %%QT_PLUGINDIR%%/platforms/libqoffscreen.so %%DEBUG%%%%QT_PLUGINDIR%%/platforms/libqoffscreen.so.debug %%QT_PLUGINDIR%%/platforms/libqxcb.so
_______________________________________________ kde-freebsd mailing list kde-freebsd@kde.org https://mail.kde.org/mailman/listinfo/kde-freebsd See also http://freebsd.kde.org/ for latest information