summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsscreen.cpp
Commit message (Collapse)AuthorAgeFilesLines
* eglfs_kms: Add support for formats other than XRGB8888Laszlo Agocs2017-09-051-3/+21
| | | | | | | | | | | | | | | | | | Switch to drmModeAddFB2 and add mappings for RGB565 and ARGB8888, and some BGR variants. The default is XRGB8888, like before. Others can be requested in the config file with "format": "rgb565" or "argb8888" etc. on a per-output basis. If the primary plane does not support the format, modesetting and flipping will fail. Task-number: QTBUG-62262 Change-Id: I8537cbeed7f046c46aa63fcea6d6946c0e0038a7 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* eglfs_kms: remove unused codeLaszlo Agocs2017-09-051-4/+0
| | | | | | | Task-number: QTBUG-62262 Change-Id: If21cbfcda2decf7bd70cf56695ee1d676cbaa55f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Change EDID parsing qCWarnings to qCDebugsLaszlo Agocs2017-08-031-2/+2
| | | | | | | | | | | Avoid polluting the output by default. Unfortunately there are various systems (modern Fedora with XWayland, VMWare) where parsing will fail for some not yet known reason. Showing warnings on each and every Qt application startup is not desirable, especially since not having the EDID data available is far from being critical. Change-Id: Ibaca7db4d897e705819f7c359f8de41b9be862a6 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* eglfs_kms: Decode EDID blobPier Luigi Fiorini2017-05-021-1/+32
| | | | | | | | | | Retrieve and parse EDID blob. Return screen product information from EDID. [ChangeLog][QPA][eglfs][kms] Add screen product information from EDID. Change-Id: I766999afd9298e82f6147fdeba5d14757bfb4b03 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* eglfs_kms: Use eglGetPlatformDisplay when availableLaszlo Agocs2017-04-241-1/+1
| | | | | | Task-number: QTBUG-60330 Change-Id: Ibbd74ae00d17fdc6ee9c86e758788dcca15ea4ff Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* eglfs_kms: Mode supportPier Luigi Fiorini2017-02-241-0/+22
| | | | | | | | | Add support for reporting available modes. [ChangeLog][QPA][eglfs][kms] List screen modes, current and preferred mode. Change-Id: If64c1512271fadbafbb8c9fd715e64663d598599 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* kms: calculate physical size if actual size is unknownSamuli Piippo2017-02-061-1/+6
| | | | | | | | | Use the default dpi of 100 to calculate physical size of the display, if KMS output returns 0 as the size and the size was not set via environment variable. Change-Id: If310592b2694a46d2fab464b21ec1765a5033933 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Move DRM/KMS code from eglfs into kmsconvenienceLaszlo Agocs2016-11-161-45/+7
| | | | | | | | | | | The generic DRM code, not involving any GBM or EGLDevice stuff, can now be reused in components outside eglfs, for example linuxfb in order to get support for DRM dumb buffers. Task-number: QTBUG-56306 Change-Id: If7dffdb2415489dbc6470782fa76efcaeccf01c7 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* port to modularized platformsupport librariesOswald Buddenhagen2016-10-151-1/+1
| | | | | Change-Id: I20eb0e33abfd70b6a5240e7b6b0aa0425f2d2ee7 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* eglfs: Move remaining sources to under apiLaszlo Agocs2016-09-221-1/+1
| | | | | | | | | | | | | | Move platform integration, context and offscreensurface to under 'api'. This allows accessing these from out-of-tree eglfs backends as well. For instance, the upcoming eglfs_emu backend for the Qt Simulator may need access to QEglFSIntegration. Clean up the project files and remove out-of-date comments (the private module QtEglFSDeviceIntegration is not really header-less since 5.7). Change-Id: If96dd5780a6bd33a1cf29164364df9bf921c4d01 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* eglfs: Configurable screen order in the virtual desktopLaszlo Agocs2016-08-111-26/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | Say one wants a virtual desktop with the display on HDMI above the display on DisplayPort: { "device": "drm-nvdc", "virtualDesktopOrientation": "vertical", "outputs": [ { "name": "HDMI1", "virtualIndex": 0 }, { "name": "DP1" } ] } Undefined virtualIndex values map to INT_MAX and will go after the explicitly specified ones. However, the sorting is stable so the original order from the DRM connector list is preserved between such outputs. Task-number: QTBUG-55188 Change-Id: I204fb08205ea7dbfbcdefd1d22ed22f5387f3e8c Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* eglfs: Fix rotation support with the DRM backendsLaszlo Agocs2016-08-101-1/+3
| | | | | | | | The change in QEglFSScreen::geometry() was not reflected in the advanced backends that subclass it. Change-Id: I6494a96f0b9afaea3722c61035d4b46bf2473897 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* eglfs: Fix QT_QPA_EGLFS_ROTATION with the KMS/DRM screeenLaszlo Agocs2016-08-101-3/+23
| | | | | | | It overrides geometry(). Change-Id: I93c607567d7cb688221d200dcd47c1a6ba23b26b Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* eglfs: Enable virtual desktop with EGLDevice as wellLaszlo Agocs2016-08-101-1/+1
| | | | | | | | | | | | | | | | | Not clear why separateScreen was overridden to true. The GBM-based backend goes with the default of false, leading to setting up the screens as virtual siblings and reporting the correct virtual desktop geometry. The difference currently lies in the OpenGL mouse cursor, which, unlike the GBM hardware cursor, does not yet support virtual desktops. Its behavior is not affected of the flag however. Task-number: QTBUG-54151 Task-number: QTBUG-55161 Task-number: QTBUG-55188 Change-Id: I888ffc43ed4add66065a2f7c606c9b3a2d56a9ab Reviewed-by: Andy Nichols <andy.nichols@qt.io> Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
* eglfs: Fix DRM+KMS backendsLaszlo Agocs2016-05-101-1/+1
| | | | | | | | The native display was simply invalid. Task-number: QTBUG-53225 Change-Id: I682fb1d91dbea3dab971a079060d181fc313da46 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* Multi-screen handling for the eglfs_kms_egldevice backendDominik Holland2016-04-151-0/+220
Separates the generic kms classes into a own kms static lib called QtEglFsKmsSupport. The eglfs_kms plugin was changed to use these base classes and got renamed accordingly to QEglFSKmsGbm*. The eglfs_kms_egldevice plugin got extended to also derive from the kms base classed and by this provides multi-screen support Change-Id: I6de6a754e94cb8d52cf8e658b03c6bd6637674a1 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>