Qt 5.15.12 Creating GBM device for file descriptor is very slow
-
Hello,
I have a raspberry pi 3B+ with latest bookworm on it.
The first time the application start after a fresh boot, the lineCreating GBM device for file descriptor 7 obtained from "/dev/dri/card0"
is very slow the first time ( approximately 2 or 3 seconds if not more ). But if i restart the application, it start directly with no latency. I imagine that there is some cache that is created...
I whould like to know if there is a possiblity to avoid the discovering of the device or pre-create the GBM device for file descriptor. The hardware will never change after a deployment.Here is the debugs:
Got keys from plugin meta data ("eglfs_kms") QFactoryLoader::QFactoryLoader() checking directory path "/root/ihm/egldeviceintegrations" ... loaded library "/usr/local/qt5.15.10/plugins/egldeviceintegrations/libqeglfs-kms-integration.so" qt.qpa.eglfs.kms: New DRM/KMS via GBM integration created qt.qpa.eglfs.kms: platformInit: Opening DRM device qt.qpa.eglfs.kms: Found the following video devices: ("/dev/dri/card0") qt.qpa.eglfs.kms: Using "/dev/dri/card0" qt.qpa.eglfs.kms: Using backend-provided DRM device /dev/dri/card0 qt.qpa.eglfs.kms: Creating GBM device for file descriptor 7 obtained from "/dev/dri/card0" qt.qpa.eglfs.kms: Using dedicated drm event reading thread qt.qpa.eglfs.kms: Initalizing event reader for device 0x6e09a0 fd 7 qt.qpa.eglfs.kms: Querying EGLDisplay qt.qpa.eglfs.kms: Event reader thread: entering event loop
Here is how i start it
TSLIB_TSDEVICE=/dev/input/ts_raw \ TSLIB_CONFFILE=/etc/ts.conf \ QT_QPA_EGLFS_NO_LIBINPUT=1 \ QT_QPA_EGLFS_TSLIB=1 \ QT_QPA_GENERIC_PLUGINS=evdevtouch:/dev/input/ts_raw \ QT_LOGGING_RULES=qt.qpa.eglfs.kms=true \ QT_QPA_EGLFS_KMS_CONFIG=gbm.json \ QT_QPA_EGLFS_KMS_ATOMIC=1 \ QT_QPA_EGLFS_KMS_PLANE_INDEX=0 ./my_app -platform eglfs -plugin tslib
Content of the
gbm.json
:{ "device": "/dev/dri/card0", "outputs": [ { "name": "HDMI1", "mode": "1024x600" } ] }
Thank you
-
Hello,
I have a raspberry pi 3B+ with latest bookworm on it.
The first time the application start after a fresh boot, the lineCreating GBM device for file descriptor 7 obtained from "/dev/dri/card0"
is very slow the first time ( approximately 2 or 3 seconds if not more ). But if i restart the application, it start directly with no latency. I imagine that there is some cache that is created...
I whould like to know if there is a possiblity to avoid the discovering of the device or pre-create the GBM device for file descriptor. The hardware will never change after a deployment.Here is the debugs:
Got keys from plugin meta data ("eglfs_kms") QFactoryLoader::QFactoryLoader() checking directory path "/root/ihm/egldeviceintegrations" ... loaded library "/usr/local/qt5.15.10/plugins/egldeviceintegrations/libqeglfs-kms-integration.so" qt.qpa.eglfs.kms: New DRM/KMS via GBM integration created qt.qpa.eglfs.kms: platformInit: Opening DRM device qt.qpa.eglfs.kms: Found the following video devices: ("/dev/dri/card0") qt.qpa.eglfs.kms: Using "/dev/dri/card0" qt.qpa.eglfs.kms: Using backend-provided DRM device /dev/dri/card0 qt.qpa.eglfs.kms: Creating GBM device for file descriptor 7 obtained from "/dev/dri/card0" qt.qpa.eglfs.kms: Using dedicated drm event reading thread qt.qpa.eglfs.kms: Initalizing event reader for device 0x6e09a0 fd 7 qt.qpa.eglfs.kms: Querying EGLDisplay qt.qpa.eglfs.kms: Event reader thread: entering event loop
Here is how i start it
TSLIB_TSDEVICE=/dev/input/ts_raw \ TSLIB_CONFFILE=/etc/ts.conf \ QT_QPA_EGLFS_NO_LIBINPUT=1 \ QT_QPA_EGLFS_TSLIB=1 \ QT_QPA_GENERIC_PLUGINS=evdevtouch:/dev/input/ts_raw \ QT_LOGGING_RULES=qt.qpa.eglfs.kms=true \ QT_QPA_EGLFS_KMS_CONFIG=gbm.json \ QT_QPA_EGLFS_KMS_ATOMIC=1 \ QT_QPA_EGLFS_KMS_PLANE_INDEX=0 ./my_app -platform eglfs -plugin tslib
Content of the
gbm.json
:{ "device": "/dev/dri/card0", "outputs": [ { "name": "HDMI1", "mode": "1024x600" } ] }
Thank you