Details
-
Bug
-
Resolution: Fixed
-
P1: Critical
-
5.14.0
-
Toradex Apalis i.MX 8 with Yocto
-
6e3170b67 (dev)
Description
I tried the Toradex Apalis i.MX 8 with Yocto 2.7 with the Qt Quick Live Preview
> QML Debugger: Waiting for connection on port 10001...
> Failed to commit atomic request (code=-22
The error message is from QKmsDevice::threadLocalAtomicCommit() in
src/platformsupport/kmsconvenience/qkmsdevice.cpp in qtbase. It does
something with direct rendering. Most likely the platform plugins internals
have changed and now the window replacement code in the preview plugin
does not work anymore.
Defining QT_QPA_EGLFS_KMS_ATOMIC=0 does fix the crash, but rendering does not work anymore.
How to reproduce:
Simply use Qt Quick Live Preview with Toradex Apalis i.MX 8.
(qt5\qtdeclarative\tools\qmlpreview)
Using "-platform linuxfb" does not crash, but I get a black screen with the otherwise correctly running Live Preview.
With this in the envoriment:
QT_QPA_EGLFS_KMS_ATOMIC: "0"
QT_QPA_EGLFS_ALWAYS_SET_MODE: "1"
The crash also disappears. The result is the same as with linuxfb, the replacment window does not appear.
I get this error message: Could not queue DRM page flip on screen HDMI1 (Device or resource busy).
This seems to confirm that the window replacement code in the preview plugin does not work anymore.
Attachments
For Gerrit Dashboard: QTBUG-82104 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
291485,1 | WIP: eglfs_kms: Prevent drm errors with more than one window during the screen's lifetime | 5.15 | qt/qtbase | Status: ABANDONED | -2 | 0 |
448123,3 | eglfs_kms: Prevent drm errors with more than one window during the screen's lifetime | dev | qt/qtbase | Status: MERGED | +2 | 0 |