Also, my configuration is as follows. I’ve tested the different pixel formats, and I can see that RHI is using the PowerVR renderer via the output:
qt.rhi.general: OpenGL VENDOR: Imagination Technologies RENDERER: PowerVR SGX 530 VERSION: OpenGL ES 2.0 build 1.17@4948957
# ./sgx_check.sh
WSEGL settings
[default]
WindowSystem=libpvrDRMWSEGL.so
DefaultPixelFormat=RGB888
#DefaultPixelFormat=RGB565
------
ARM CPU information
processor : 0
model name : ARMv7 Processor rev 2 (v7l)
BogoMIPS : 597.60
Features : half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpd32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x3
CPU part : 0xc08
CPU revision : 2
Hardware : Generic OMAP36xx (Flattened Device Tree)
Revision : 0000
Serial : 0000000000000000
------
SGX driver information
Version SGX_DDK sgxddk 1.17@4948957 (release) dm37xx_linux
System Version String: SGX revision = 125
------
Framebuffer settings
mode "1280x720"
geometry 1280 720 1280 720 32
timings 0 0 0 0 0 0 0
accel true
rgba 8/16,8/8,8/0,0/0
endmode
Frame buffer device information:
Name : omapdrmdrmfb
Address : (nil)
Size : 3686400
Type : PACKED PIXELS
Visual : TRUECOLOR
XPanStep : 1
YPanStep : 1
YWrapStep : 0
LineLength : 5120
Accelerator : No
------
Rotation settings
0
------
PVR Module information
Module Size Used by
pvrsrvkm 393216 2
------
Boot settings
console=ttyO0,115200n8 rootwait=1 rw ubi.mtd=7,512 rootfstype=ubifs root=ubi0:compu-XXXX mtdoops.mtddev=omap2.nand earlyprintk=ttyO0,115200n8 nohlt omapfb.rotate=0 vram=40M omapfb.vram=20M,1:1M,2:1M omapfb.vrfb=y cma=64MB 5
------
Linux Kernel version
Linux compu-XXXX 5.10.168-1-ctx-g991c5ce91e #1 SMP PREEMPT Fri Apr 7 09:34:04 UTC 2023 armv7l GNU/Linux
------
Weston.ini
[core]
require-input=false
idle-timeout=0
gbm-format=xrgb8888
#gbm-format=rgb565
[output]
name=DPI-1
[libinput]
touchscreen_calibrator=true
calibration_helper=/bin/echo
[shell]
locking=false
animation=none
panel-position=none
close-animation=none
startup-animation=none
focus-animation=none
------
/etc/profile.d/qt_env.sh
#!/bin/sh
### QT Environment Variables ###
# export QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS="rotate=180"
export SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt
export QT_QPA_EGLFS_KMS_CONFIG=/etc/qt6/eglfs_kms_cfg.json
#export QT_QPA_EGLFS_INTEGRATION=eglfs_kms
export QT_QPA_EGLFS_ALWAYS_SET_MODE=1
export QT_WAYLAND_SHELL_INTEGRATION=xdg-shell
# SECCOMP-BPF Sandbox does not work due to unexpected FUTEX_UNLOCK_PI call
# from the pthread implementation. Disable this feature temporarily until
# those issues are resolved.
export QTWEBENGINE_CHROMIUM_FLAGS="--disable-seccomp-filter-sandbox"
export QT_QPA_EGLFS_INTEGRATION=none
export QSG_RHI_PREFER_SOFTWARE_RENDERER=0
export QT_WIDGETS_RHI_BACKEND=opengl
export QT_WIDGETS_HIGHDPI_DOWNSCALE=1
export QT_WIDGETS_RHI=1
export QT_OPENGL_NO_SANITY_CHECK=1
export QT_QPA_PLATFORM="wayland-egl"
export QT_WAYLAND_CLIENT_BUFFER_INTEGRATION="linux-dmabuf-unstable-v1"
export QT_WAYLAND_HARDWARE_INTEGRATION="linux-dmabuf-unstable-v1"
export QT_WAYLAND_SERVER_BUFFER_INTEGRATION="linux-dmabuf-unstable-v1"
export QT_WAYLAND_SHELL_INTEGRATION="xdg-shell"
export QT_WAYLAND_TEXT_INPUT_PROTOCOL="zwp_text_input_v1"
Note that I have changed out all of the QT_WAYLAND parameters, these are the fastest, I think.