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
[email protected]
https://mail.kde.org/mailman/listinfo/kde-freebsd
See also http://freebsd.kde.org/ for latest information