|
【Linux】
Ubuntu 20.04, XServer and Qt applicatons with QOpenGLWidget
Posted at 8/12/2022 15:30:04
View:1720
|
Replies:0
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 qApp→screens() 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! |
|