Details
-
Bug
-
Resolution: Cannot Reproduce
-
P2: Important
-
None
-
5.15
Description
Hello everyone!
After upgrading to QT 5.15.5 my application can't find the EGLconfig: "Cannot find EGLConfig, returning null config".
Application debug output
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/var/volatile/tmp/runtime-root' qt.qpa.egldeviceintegration: EGL device integration plugin keys: ("eglfs_emu", "eglfs_kms_egldevice", "eglfs_kms") qt.qpa.egldeviceintegration: EGL device integration plugin keys (sorted): ("eglfs_kms", "eglfs_emu", "eglfs_kms_egldevice") qt.qpa.egldeviceintegration: Trying to load device EGL integration "eglfs_kms" qt.qpa.eglfs.kms: Loading KMS setup from "/etc/qt5/eglfs_kms_cfg.json" qt.qpa.eglfs.kms: Requested configuration (some settings may be ignored): headless: false hwcursor: false pbuffers: true separateScreens: false virtualDesktopLayout: 0 outputs: QMap(("VGA1", QMap(("mode", QVariant(QString, "off"))("name", QVariant(QString, "VGA1"))))) qt.qpa.eglfs.kms: New DRM/KMS via GBM integration created qt.qpa.egldeviceintegration: Using EGL device integration "eglfs_kms" qt.qpa.eglfs.kms: platformInit: Opening DRM device qt.qpa.eglfs.kms: GBM: Using DRM device "/dev/dri/card0" specified in config file qt.qpa.eglfs.kms: Using backend-provided DRM device /dev/dri/card0 qt.qpa.eglfs.kms: Creating GBM device for file descriptor 5 obtained from "/dev/dri/card0" qt.qpa.eglfs.kms: Initalizing event reader for device 0x4c3de0 fd 5 qt.qpa.eglfs.kms: Querying EGLDisplay ... Cannot find EGLConfig, returning null config qt.qpa.eglfs.kms: Adding FB, size 1024x600, DRM format 0x34325258 qt.qpa.eglfs.kms: Setting mode for screen UNKNOWN1 qt.qpa.input: evdevtouch: Updating QInputDeviceManager device count: 1 touch devices, 0 pending handler(s) qt.qpa.eglfs.kms: Adding FB, size 1024x600, DRM format 0x34325258 qt.qpa.eglfs.kms: Adding FB, size 1024x600, DRM format 0x34325258
I've made some comparing between 5.12.9 (working) and 5.15.5 versions.
Just the device was changed.
// not working qt.qpa.eglfs.kms: Using backend-provided DRM device /dev/dri/card0 qt.qpa.eglfs.kms: Creating GBM device for file descriptor 5 obtained from "/dev/dri/card0" qt.qpa.eglfs.kms: Initalizing event reader for device 0x4c3de0 fd 5 qt.qpa.eglfs.kms: Querying EGLDisplay // working qt.qpa.eglfs.kms: Using backend-provided DRM device /dev/dri/card0 qt.qpa.eglfs.kms: Creating GBM device for file descriptor 5 obtained from "/dev/dri/card0" qt.qpa.eglfs.kms: Initalizing event reader for device 0x2bef0 fd 5 qt.qpa.eglfs.kms: Querying EGLDisplay
crct id 55? QtPlatformScreen is different.
// not working qt.qpa.eglfs.kms: Output UNKNOWN1 can use 4 planes: 35 38 43 48 qt.qpa.eglfs.kms: Chose plane 35 for output UNKNOWN1 (crtc id 55) (may not be applicable) qt.qpa.eglfs.kms: Using plain OpenGL mouse cursor qt.qpa.eglfs.kms: No EDID data for output "UNKNOWN1" qt.qpa.eglfs.kms: Sorted screen list: QVector(OrderedScreen(QPlatformScreen=0x4e1430 ("UNKNOWN1") : 2147483647 / QPoint(0,0) / primary: false)) qt.qpa.eglfs.kms: Adding QPlatformScreen 0x4e1430 ( "UNKNOWN1" ) to QPA with geometry QRect(0,0 1024x600) and isPrimary= false qt.qpa.input: evdevkeyboard: Using device discovery qt.qpa.input: udev device discovery for type QFlags<QDeviceDiscovery::QDeviceType>(Device_Keyboard) // working qt.qpa.eglfs.kms: Output UNKNOWN1 can use 4 planes: 35 38 43 48 qt.qpa.eglfs.kms: Output eglfs plane is: 35 qt.qpa.eglfs.kms: Using plain OpenGL mouse cursor qt.qpa.eglfs.kms: No EDID data for output "UNKNOWN1" qt.qpa.eglfs.kms: Sorted screen list: QVector(OrderedScreen(QPlatformScreen=0x494e8 ("UNKNOWN1") : 2147483647 / QPoint(0,0) / primary: false)) qt.qpa.eglfs.kms: Adding QPlatformScreen 0x494e8 ( "UNKNOWN1" ) to QPA with geometry QRect(0,0 1024x600) and isPrimary= false Unable to query physical screen size, defaulting to 100 dpi. To override, set QT_QPA_EGLFS_PHYSICAL_WIDTH and QT_QPA_EGLFS_PHYSICAL_HEIGHT (in millimeters). qt.qpa.input: evdevkeyboard: Using device discovery
This part about QSurface is totally missing.
Created context for format QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize -1, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize -1, stencilBufferSize -1, samples -1, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 1, colorSpace QSurfaceFormat::DefaultColorSpace, profile QSurfaceFormat::NoProfile) with config: EGL_BUFFER_SIZE: 24 EGL_ALPHA_SIZE: 0 EGL_BLUE_SIZE: 8 EGL_GREEN_SIZE: 8 EGL_RED_SIZE: 8 EGL_DEPTH_SIZE: 0 EGL_STENCIL_SIZE: 0 EGL_CONFIG_CAVEAT: 12344 EGL_CONFIG_ID: 5 EGL_LEVEL: 0 EGL_MAX_PBUFFER_HEIGHT: 0 EGL_MAX_PBUFFER_PIXELS: 0 EGL_MAX_PBUFFER_WIDTH: 0 EGL_NATIVE_RENDERABLE: 1 EGL_NATIVE_VISUAL_ID: 875713112 EGL_NATIVE_VISUAL_TYPE: 12344 EGL_SAMPLES: 0 EGL_SAMPLE_BUFFERS: 0 EGL_SURFACE_TYPE: 4 EGL_TRANSPARENT_TYPE: 12344 EGL_TRANSPARENT_BLUE_VALUE: 0 EGL_TRANSPARENT_GREEN_VALUE: 0 EGL_TRANSPARENT_RED_VALUE: 0 EGL_BIND_TO_TEXTURE_RGB: 0 EGL_BIND_TO_TEXTURE_RGBA: 0 EGL_MIN_SWAP_INTERVAL: 1 EGL_MAX_SWAP_INTERVAL: 1
So my question is, what did you change in this direction between those upgrades?
Thanks,
Andy