summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/eglfs
Commit message (Collapse)AuthorAgeFilesLines
* remove abuse of module include path overridesOswald Buddenhagen2015-11-161-7/+0
| | | | | | | | these modules simply have no "proper" include paths (they are used only within qtbase, with explicit INCLUDEPATH statements). Change-Id: Iec6aa6ae0bc449eb8cac2fa1c86a791755eec06e Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Rename "wl_display" native resourcePaul Olav Tvete2015-11-031-1/+1
| | | | | | | | | | | There is already a "wl_display" resource used by the client-side Wayland plugin. This is confusing, and would cause horrible bugs if ever a Wayland server was run as a client (the nested compositor usecase). Therefore, use "server_wl_display" for the name of the resource to be used on the server side. Change-Id: I30455177a154e89b98ad3620b6a14626b821e54c Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
* Support for Wayland servers on i.MX6Paul Olav Tvete2015-11-029-2/+244
| | | | | | | | | A wayland compositor on i.MX6 needs to create the wl_display before creating the EGL display. This wl_display then needs to be exposed so that QWaylandCompositor can use it. Change-Id: Id60f6dd2fbba05140ca0671da6f17dbc2ecce3a3 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* eglfs: Avoid sending enter-leave events with an invalid leave ptrLaszlo Agocs2015-10-222-2/+2
| | | | | | Task-number: QTBUG-48890 Change-Id: Iad82f285a0c982a5fafd276459b8177086d43d1b Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
* Move EGLDevice/Output/Stream resolvers into eglconvenienceLaszlo Agocs2015-10-203-121/+28
| | | | | | | Needed by Qt Wayland as well. Change-Id: Ic349f0a79831e9121cbe9885246897efea2701d5 Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
* Separate KMS and GBM testsLaszlo Agocs2015-10-141-1/+1
| | | | | | | | | | | | | | | | KMS is no longer a platform plugin so the relevant leftover bits are now removed. As the introduction of the EGLDevice-based backend for eglfs shows, using DRM/KMS is not tied to GBM, separate buffer management approaches, like EGLStreams, work fine as well. Therefore separate KMS from GBM and remove the EGL and GLES dependency in the tests - this way there is nothing preventing us from using GBM without GL for example. Change-Id: Id7ebe172b44b315f9a637892237d2bb62d99aed2 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>
* Add support for the Jetson TK1 Pro using EGLDeviceLaszlo Agocs2015-10-146-0/+675
| | | | | | | | | | | For now we pick one crtc and find the corresponding layer. If this is not desired, set QT_QPA_EGLFS_LAYER_INDEX to override the layer to be used. Enable qt.qpa.eglfs.kms to get logs about the available layers. Change-Id: I762783f960739e32966c8cde17d8f55fbe40091f Done-with: Louai Al-Khanji <louai.al-khanji@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>
* eglfs: Handle custom platform window implementations betterLaszlo Agocs2015-10-146-27/+53
| | | | | | | | | | | | | | Backends may want to subclass QEglFSWindow and reimplement resetSurface() and similar. Make it possible to do this by moving window creation to the device integration interface, similarly to screens. In addition to customizing the windows, some backends may want to disable the dependency on surfaceless contexts when using offscreen windows (i.e. pbuffer surfaces). Make this possible too. Change-Id: Ic5a426e07f821c7a800217b8799f91770ba6a6d8 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>
* Libraries: Fix single-character string literals.Friedemann Kleint2015-10-131-2/+2
| | | | | | | Use character literals where applicable. Change-Id: I8e198774c2247c1cc1d852a41b59b301199b7878 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Revamp signal handling in eglfs/linuxfbLaszlo Agocs2015-10-021-5/+1
| | | | | | | | | | | | | | Go back to the pipe-based signal handling. signalfd() introduces more harm than good and is a regression for applications that install their own signal handlers. Simplify the somewhat overcomplicated suspend (Ctrl+Z) logic too. There is no need for requiring a callback. Just enable/disable the keyboard and cursor on suspend and resume and emit the signals. Backends (like kms) may then perform additional steps, if they choose to do so. Task-number: QTBUG-48384 Change-Id: Ifd52de89c59915a2e0be6bf5ebc6f2ff1728eb50 Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>
* eglfs_kms: Skip disconnected outputsPier Luigi Fiorini2015-09-281-0/+6
| | | | | | | | | | For some reason VMware reports 8 outputs, 7 of them are disconnected and so they cause several errors. Skip disconnected outputs to avoid those errors. Change-Id: I5f9fa2ef38b916af9f9ae8b50fce9fc40c18bff3 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* eglfs_kms: Subpixel antialiasing typePier Luigi Fiorini2015-09-283-0/+22
| | | | | | | [ChangeLog][QPA][eglfs][kms] Provide subpixel antialiasing type. Change-Id: I1eed487cea675d988a128f63a9d5c2c0ddeae21f Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* eglfs: Support for alternative Mali driver packagesDaniel Nyström2015-09-251-1/+5
| | | | | | | | | | | | | | | | | | | | In addition to the proprietary Mali Linux driver bundle from ARM, there are a couple of semi open source alternative bundles out in the wild, which are mostly derivatives from the sunxi-mali bundle. The non-ARM bundles lacks the proprietary header file fbdev_window.h which defines the fbdev_window struct. Instead, it has an equivalent mali_native_window struct in the EGL/eglplatform.h (which in turn is included by EGL/egl.h). This change adds an alternative configure test which detects the non-ARM bundles are used. It also removes the dependency on fbdev_window.h by defining the structure ourselves, which actually makes the plugin potentially compilable with *any* EGL SDK. Change-Id: I78ab4b618e8e9c774c889fe9896105cf2cf4228e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* eglfs: Create input handlers only when screens are availableLaszlo Agocs2015-09-221-3/+4
| | | | | | | | Some code may rely on the primary screen geometry for example. Task-number: QTBUG-47002 Change-Id: I42fc1ccf0c1d91beb5d8e9691ac6ec4e7400e567 Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>
* eglfs: Use libinput by default when availableLaszlo Agocs2015-08-181-0/+12
| | | | | | | | | | Can be overridden by setting QT_QPA_EGLFS_NO_LIBINPUT. On systems where libinput is present it is usually a better choice to rely on it instead of evdev*. Change-Id: I78857ff91c837f58fdc7d1e119260bd6819fbf4e Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
* eglfs: save state in the cursorLaszlo Agocs2015-08-062-16/+115
| | | | | | | | | | | | | | | | Running an example like hellogles3 with eglfs and the mouse cursor visible breaks due to the cursor implementation not being aware of vertex array objects. The cursor drawing code uses client side pointers and having a VAO bound breaks this. Instead, the VAO should be reset to 0. In addition, the same applies to all touched state: naive applications doing custom OpenGL rendering expect the state to be unchanged between frames and this is not unreasonable. So introduce saving and restoring for all touched state, with the exception of Quick where there is no need to waste time with this. Change-Id: Ib79039e80993ab5fc8368357fc1147ee7863d055 Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
* eglfs_kms: Implement DPMS modePier Luigi Fiorini2015-07-294-3/+49
| | | | | | | | | | Implement the new QPlatformScreen API for power state. [ChangeLog][QPA][eglfs][kms] Allow to set DPMS mode and get the current value for each screen. Change-Id: I5abfb53c3e2f6579a2d6ff19d780b67f424903bf Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Move eglfs-only parts back from eglconvenienceLaszlo Agocs2015-07-1613-87/+1091
| | | | | | | | | | | | | | The integration, screen, window and cursor classes were split in Qt 5.3 under a plan of sharing these between eglfs, the Android port and potentially other future plugins. This never materialized. Maintaining the artificial split is getting difficult and is prone to errors. Therefore it is time to merge back these base classes into eglfs. The result is cleaner, smaller, and potentially better performing code. eglconvenience is now restored to be a collection of convenience classes instead of platform plugin bits. Change-Id: I75c6ad876ef66a1a0c5b39c1c307f928d2ed47d4 Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.5' into devLiang Qi2015-07-011-1/+4
|\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qglobal.cpp src/corelib/global/qglobal.h src/corelib/global/qsysinfo.h src/corelib/global/qsystemdetection.h src/corelib/kernel/qobjectdefs.h src/plugins/plugins.pro tests/auto/widgets/itemviews/qlistview/qlistview.pro Change-Id: Ib55aa79d707c4c1453fb9d697f6cf92211ed665c
| * eglfs: Destroy screens after windowsPier Luigi Fiorini2015-06-301-1/+4
| | | | | | | | | | | | | | | | Screens must be destroyed after windows otherwise the application will crash on QEglFSWindow::destroy() because the screen is NULL. Change-Id: I315ddc267dd0d2dd2a1c4f3a0c319c8f2c11ec28 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | Use QList::reserve(), reduces reallocationsSérgio Martins2015-06-271-0/+1
| | | | | | | | | | Change-Id: I9f218bdd65a97ad9c867b695f3ba27ab64a54d2a Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | Mark unused parameters with Q_UNUSEDUlf Hermann2015-06-121-0/+4
| | | | | | | | | | | | | | | | This prevents compiler warnings on less common branches of certain ifdefs. Change-Id: I89bae68491151b21cf6887a854cc4c9f68838cf9 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | Remove exec bits from files that should not be executableDmitry Shachnev2015-06-071-0/+0
|/ | | | | | | Change-Id: I66f49c6db82eadc3b11cc9b1cf01375e9596a8e6 Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Mark Brand <mabrand@mabrand.nl>
* eglfs_kms: Virtual desktopPier Luigi Fiorini2015-06-027-14/+86
| | | | | | | | | | | | | | | | Now we can choose to use separate screens or virtual desktop. With virtual desktop the geometry of all screens is taken into account so that the input plugin do not clamp global pointer coordinates to the first screen anymore, we also create only one hardware cursor that can now freely move on all the screens. Virtual desktop is enabled by default, but the old default behavior can be restored by setting separateScreens to true. Change-Id: I78dbf9e8d3dd44f68d33350dc8fc3727bf8a26fe Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Fix for eglfs context sharing problem in qtwebengine widgetCaner Altinbasak2015-05-281-0/+2
| | | | | | | | | | | | EGLFS backend does not use global sharing context. WebEngineWidgets was failing to access textures created by WebEngineChromium and textures were ending up as black rectangles. This fix initialises window surface context with shared context and fixes the bug. Change-Id: I97189c06ee593ba55f353f44c23233175ebd3cba Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* QPA plugins: Use _iid macros instead of strings in Q_PLUGIN_METADATA.Friedemann Kleint2015-05-131-1/+1
| | | | | | | | | This makes it easier to change the version numbers by changing the macros in QtGui. Task-number: QTBUG-46009 Change-Id: I94c9591ec6f7c9173a698df9e1fe8fd6a904caf4 Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
* eglfs: Unblank on startupLaszlo Agocs2015-03-231-0/+4
| | | | | | | Like linuxfb does. Change-Id: Icba224d710f241d9246450c7d112ce181b992d0e Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
* EGLFS: Make Mali GPU backend more genericAndy Nichols2015-03-182-1/+6
| | | | | | | | | | | | | This provides both build and runtime fixes to make the Mali GPU backend able to be used in more places. The Mali backend was always trying to resize the frambuffer driver to twice the default height. In the case of the Mali T628 in the ODROID XU3 it is an error to set the virtual height of the framebuffer device to anything greater than the physical height. Change-Id: I25a64e411f44d2aeb1cb4376183d9ea547c10161 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* eglfs: Report the QScreen refresh rate from eglfsLaszlo Agocs2015-03-146-0/+21
| | | | | | | | | | | | For KMS we can always know the correct rate so report it from the backend's custom screen implementation. For the rest, query from the framebuffer. If the fb driver publishes the timings then we can calculate the vertical refresh rate from them. If not, default to 60. Task-number: QTBUG-44971 Change-Id: I854a34e7c0d652790cc2ac967715828ec76f5733 Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
* eglfs: don't build the cursor atlas when QT_NO_CURSOR is definedAndrew Knight2015-03-122-1/+3
| | | | | | Change-Id: I675bc127296c016a40ec2edfdb6602908fec4c2f Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com> Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>
* eglfs_kms: Use a QByteArray for connectorNameAndrew Knight2015-03-121-10/+11
| | | | | | | | | Using a byte array here simplifies the logic while being more efficient. It also removes warnings about using deprecated QString methods. Change-Id: Ia1384dfb92e953c56179647b92a41b59cd26d9ea Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* eglfs_kms: remove deprecated QString usesAndrew Knight2015-03-091-9/+9
| | | | | | | | | Fixes "warning: ‘QString::QString(const char*)’ is deprecated" While we're here, make the locals const. Change-Id: Iee70253a46f91937b93e06cc08cd361716cd669d Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Fix up signal handling in QFbVtHandlerLaszlo Agocs2015-03-062-3/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | Start using signalfd where we can. Drop the crash (SIGSEGV, SIGBUS) handling completely. The crash handling that was in place previously was not async-safe. It also prevented getting a core dump. So just remove it. There is no safe solution for a single application process since restoring the keyboard, video modes, etc. all need unsafe calls in the signal handler almost for sure. We can however improve the handling of non-crash scenarios greatly: Introduce support for SIGINT, allowing nicely and cleanly restoring the video mode with the KMS backend when pressing Ctrl+C while QT_QPA_ENABLE_TERMINAL_KEYBOARD is set. Same goes for keyboard suspend (SIGTSTP, Ctrl+Z). When QT_QPA_ENABLE_TERMINAL_KEYBOARD is set, platform plugins now have the possibility to act upon Ctrl+Z. As an example eglfs' KMS backend is enhanced to handle this by restoring the video mode before suspending the process, and reinitializing when brought into foreground again (SIGCONT). SIGTERM is also handled. This is extremely handy when starting an application locally on the embedded device and then kill-ing it via a remote ssh session. Keyboard and video mode is now cleanly restored. Finally, when disabling the keyboard, try setting also KDSKBMUTE. Change-Id: I2b3608dc23c798e2b39f74cb27f12dcb0e958435 Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>
* eglfs: Pluginize RPi, iMX6 and Mali backendsLaszlo Agocs2015-03-0518-6/+699
| | | | | | | | | | | | | | eglfs does not depend on the device makespecs anymore when it comes to these device integration backends (hooks). Instead, backends are autodetected by configure. The name of the preferred plugin is still set in the device makespecs. This is optional. When not set and there is more than one plugin present in the system, the environment variable QT_QPA_EGLFS_INTEGRATION will have to be set at runtime. In the absence of that, the order is undefined. Change-Id: Ie1ced2c9aa1beff2adb13b4fdea7c499cb5a6aab Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
* Fixed license headersJani Heikkinen2015-02-1713-13/+13
| | | | | Change-Id: Ibebe1318d1c2de97601aa07269705c87737083ee Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* eglfs: Add the three missing drag cursorsLaszlo Agocs2015-02-122-3/+3
| | | | | | | | | Hand-tuned in an attempt to get something that matches the normal arrow cursor. Task-number: QTBUG-44385 Change-Id: Iea2ee309fccb78706f47003fb11b14156fa01a50 Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
* Update copyright headersJani Heikkinen2015-02-1128-394/+290
| | | | | | | | | | | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Outdated header.LGPL removed (use header.LGPL21 instead) Old header.LGPL3 renamed to header.LGPL3-COMM to match actual licensing combination. New header.LGPL-COMM taken in the use file which were using old header.LGPL3 (src/plugins/platforms/android/extract.cpp) Added new header.LGPL3 containing Commercial + LGPLv3 + GPLv2 license combination Change-Id: I6f49b819a8a20cc4f88b794a8f6726d975e8ffbe Reviewed-by: Matti Paaso <matti.paaso@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2015-02-104-19/+25
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/3rdparty/harfbuzz-ng/harfbuzz-ng.pro src/gui/image/qimage_conversions.cpp src/gui/opengl/qopenglextensions_p.h src/gui/text/qtextengine.cpp src/network/ssl/qsslsocket_openssl.cpp src/plugins/platforms/eglfs/qeglfshooks_stub.cpp src/plugins/platforms/eglfs/qeglfsscreen.cpp src/plugins/platforms/eglfs/qeglfswindow.cpp src/plugins/platforms/windows/qwindowsfontdatabase.cpp src/plugins/platforms/windows/qwindowsfontdatabase_ft.cpp src/plugins/platforms/windows/qwindowsnativeinterface.cpp src/plugins/platforms/windows/qwindowsscreen.cpp src/plugins/platforms/windows/qwindowswindow.cpp src/plugins/platforms/windows/qwindowswindow.h src/plugins/platforms/xcb/qxcbdrag.h src/widgets/itemviews/qabstractitemview.cpp src/widgets/kernel/qwidget.cpp src/widgets/util/qsystemtrayicon_p.h tests/auto/corelib/itemmodels/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp Thanks to Friedemann Kleint for resolving the qwindowsfontdatabase.cpp conflicts. Change-Id: I937232c30523d5121c195d947d92aec6f129b03e
| * Fix build of egl integrationStephan Binner2015-02-025-20/+25
| | | | | | | | | | | | | | Add missing includes and reorder includes to avoid X defines breakage Change-Id: Iaf95ae2488df3d3301436262ed79f7091b4be0a9 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | eglfs: Split kms integration into multiple filesLaszlo Agocs2015-01-159-901/+1245
| | | | | | | | | | | | | | | | | | | | | | Now that it's a plugin, the restrictions for the compiled-in hooks do not apply. Make it maintainable and prepare for future development by splitting up properly. The actual functions are not touched at all in this patch. Change-Id: I4c666817afe15b31a63c1f9fc01413e9a2376a3b Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>
* | eglfs: Fix hardware cursor with kmsLaszlo Agocs2015-01-151-1/+5
| | | | | | | | | | | | | | | | | | We have to set a default arrow cursor on startup because non-widget apps will not request one. This is how we behave with non-kms backends too. Change-Id: I11b7bf96e46f570bc49f3e8701616b13c480fda6 Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>
* | eglfs: Update screen destruction to follow the new approachLaszlo Agocs2015-01-093-2/+13
| | | | | | | | | | | | | | | | Call destroyScreen(), like other platform plugins do since 9b4fbe85d2e00c625c3d4abd975faf555000f685. Change-Id: Idbddb026d7a964f15c00acfacf70064405dc3f16 Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
* | Fix fullscreen in the X11 hooks of eglfsLaszlo Agocs2014-12-091-10/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It did not work since the request was made after mapping. Add also basic screen size detection and make fullscreen the default. No more windowed nonsense which is not very useful anyhow due to the trouble with input (multiple mouse cursors etc.). Instead, launch always in fullscreen on X. This gives a unified experience when running with -platform eglfs, regardless of using KMS on a console or the X11 hooks under X or just fbdev. It also eliminates the annoyance of not having vsync for non-fullscreen X windows on boards like the Jetson TK1 (where fbdev is not an option). [ChangeLog][QtGui] eglfs is now using fullscreen mode also when running on X11. Change-Id: I3b05728c2c37d6e0abd53cf2843670a1262243bd Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>
* | Pluginize the eglfs hooksLaszlo Agocs2014-12-0832-533/+1157
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Following the principle of device integrations in QtWayland and soon xcb, a plugin interface is being introduced to gradually replace the statically compiled-in hooks. The interface is same as before for the time being, for compatibility with the existing device-specific hooks. QEglFSHooks is now just a dummy subclass for QEGLDeviceIntegration to support the legacy, compiled-in, device-specific hooks. When -device is not used with configure and so there is no hook active, the new plugin-based approach kicks in. The environment variable QT_QPA_EGLFS_INTEGRATION can be set to indicate the preferred integration name (e.g. eglfs_x11, eglfs_kms). It can also be set to "none", indicating that no plugins should be considered and the default, non-specialized integration is to be used. (this is for devices, like Beagleboard|bone, that do not need any special code to set up EGL) Device makespecs can set EGLFS_DEVICE_INTEGRATION. The value is then used as the default, preferred plugin name when QT_QPA_EGLFS_INTEGRATION is not set. In the future device makespecs are expected to set a plugin name instead of relying on the traditional EGLFS_PLATFORM_HOOKS_*. When neither the QT_QPA_EGLFS_INTEGRATION nor EGLFS_DEVICE_INTEGRATION are set, all plugins will be tried in an unspecified order. The first one that succeeds to load is used. If all fails or there are no plugins, the built-in, non-specialized integration is used. To debug what integration is being used, enable the logging category qt.qpa.egldeviceintegration. There is some built-in logic for desktop/Mesa based systems: Under X, eglfs_x11 is preferred, otherwise eglfs_kms is prioritized. This, assuming sufficient permissions to video and input devices, allows simply launching apps with -platform eglfs. No more editing of eglfs.pri. [ChangeLog][QtGui] Added support for device-specific backend plugins in eglfs. Change-Id: Ia2ddcddac014c25817171dc140cd8cf913784ac6 Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>
* | Add Q_DECL_OVERRIDE in the src subdirectoryOlivier Goffart2014-12-033-3/+3
| | | | | | | | | | | | | | | | | | | | Done automatically with clang-modernize on linux (But does not add Q_DECL_OVERRIDE to the function that are marked as inline because it a compilation error with MSVC2010) Change-Id: I2196ee26e3e6fe20816834ecea5ea389eeab3171 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Add generic OpenGL compositor and backingstore bitsLaszlo Agocs2014-11-263-28/+19
| | | | | | | | | | | | | | | | By removing the EGL(FS) dependencies we get classes that can be used by any platform plugin that runs without a windowing system. Change-Id: If99b42de5a4da02bbef80863609b6d92c6734613 Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2014-11-243-2/+3
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qiodevice.cpp src/plugins/bearer/linux_common/qofonoservice_linux.cpp src/plugins/bearer/linux_common/qofonoservice_linux_p.h src/plugins/platforms/android/qandroidplatformtheme.cpp src/tools/bootstrap/bootstrap.pro src/widgets/styles/qmacstyle_mac.mm Change-Id: Ia02aab6c4598ce74e9c30bb4666d5e2ef000f99b
| * Set correct QSurfaceFormat also for raster surfacetypePasi Petäjäjärvi2014-11-131-1/+1
| | | | | | | | | | Change-Id: Idd37942842dc59ae391b6b34308d4c01e7a25bc5 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| * eglfs: obey QT_NO_REGULAREXPRESSION definePasi Petäjäjärvi2014-11-061-0/+2
| | | | | | | | | | | | | | | | Not all platforms do have QRegularExpression as it is based on pcre. Change-Id: I6b8e701ff7cf30e776ee34e5dc836cd24c9543b5 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| * eglfs: Remove unused member variableLaszlo Agocs2014-10-291-1/+0
| | | | | | | | | | Change-Id: I45cdf79c14b823b3e93ed0e0923cb687a0ea17c7 Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>