|
|
Linux
Ubuntu 20.04, XServer and Qt applicatons with QOpenGLWidget
Posted at 8/12/2022 15:30:04
View3771
|
Replies4
Print
Only Author
[Copy Link]
1#
Hello!
Hardware: ITX-3588J and two monitors
Software:
Ubuntu 20.04.4 LTS (GNU/Linux 5.10.66 aarch64)
Qt version 5.12.8 installed on ITX-3588J by: sudo apt-get install build-essential qt5-default
X.Org X Server 1.20.8
When we trying to run a qt application with QOpenGLWidget on two monitors (the window has a size 3840x1080), there were problems.
First scenario (Used eglfs):
- sudo killall -3 gnome-shell
- export QT_QPA_PLATFORM=eglfs
- export QT_QPA_EGLFS_INTEGRATION=eglfs_kms
- export QT_QPA_EGLFS_KMS_ATOMIC=1
- export QT_QPA_EGLFS_KMS_CONFIG=/home/firefly/kms_config.json
- ./ZeroCopyGLSample
Copy the code
kms_config.json are:
- {
- "device": "/dev/dri/card0",
- "outputs": [
- {
- "name": "HDMI1",
- "mode": "1920x1080"
- },
- {
- "name": "HDMI2",
- "mode": "1920x1080"
- }
- ]
- }
Copy the code
Everything starts and works well, except that the application can only use one monitor, although qAppscreens() correctly returns both devices. Attempts to create widgets with the geometry of the second monitor did not give the expected result.
Second scenario (Used Xserver):
xinit /home/firefly/testapps/OpenGL/ZeroCopyGLSample/ZeroCopyGLSample
The application starts, a window is created on two monitors, but OpenGL does not work correctly:
- QXcbIntegration: Cannot create platform OpenGL context, neither GLX nor EGL are enabled
- QOpenGLWidget: Failed to create context
Copy the code
I would be grateful for any hint
Thanks for the help! |
|