Skip to content
  • 0 Votes
    13 Posts
    2k Views
    Update : i changed os from Raspbian Bookworm to Ubuntu 23.10 and i can display Webpage without any error! Conclusion: bookworm was the cause and not wayland
  • 0 Votes
    2 Posts
    448 Views
    Have a look at the https://github.com/flameshot-org code for ideas @drebelpai
  • 1 Votes
    2 Posts
    729 Views
    Trying to do the same thing over here, @Johan-Borkhuis got any luck? Still couldn't find a good example and I don't want to make the Qt app to talk to weston-screenshooter for this
  • 0 Votes
    5 Posts
    883 Views
    Problem solved. The issue was the default seat inside of the compositor was unset. Means the keymap attributes were emtpy. I have set it manually and now it works. [image: 17695744-788a-46e5-928e-d342b7238507.jpeg]
  • 0 Votes
    3 Posts
    6k Views
    @M4Z4 Hi, I'm not 100% sure I follow your launching process, but the error you're getting looks a lot like you are not setting the wayland display export in the same terminal as you run the QT application. Specifically, this part of the error message: Jan 13 11:55:32 sm2s-imx8mp cpx.sh[1628]: qt.core.plugin.factoryloader: Got keys from plugin meta data QList("wayland-egl") Jan 13 11:55:32 sm2s-imx8mp cpx.sh[1628]: qt.core.plugin.factoryloader: checking directory path "/opt/cpx/platforms" ... Jan 13 11:55:32 sm2s-imx8mp cpx.sh[1628]: qt.core.library: "/usr/lib/plugins/platforms/libqwayland-egl.so" loaded library Jan 13 11:55:32 sm2s-imx8mp cpx.sh[1628]: Failed to create wl_display (Connection refused) Jan 13 11:55:32 sm2s-imx8mp cpx.sh[1628]: EGL: Warning: No default display support on wayland Jan 13 11:55:32 sm2s-imx8mp cpx.sh[1628]: qt.qpa.wayland: EGL not available Jan 13 11:55:32 sm2s-imx8mp cpx.sh[1628]: qt.qpa.plugin: Could not load the Qt platform plugin "wayland-egl" in "" even though it was found. The connection to the display screen is refused. It looks like either 1) Your path to the wayland display is wrong (check ls -l ${XDG_RUNTIME_DIR}/${WAYLAND_DISPLAY} before running your QT application) or 2) the user running QT does not have permissions. You should be able to see test applications like weston-flower work as well
  • 0 Votes
    3 Posts
    536 Views
    Hi and welcome to devnet, Glad you found a solution ! Can you share it so that other people encountering the same issue can benefit ?
  • 0 Votes
    4 Posts
    1k Views
    @lartimus could you find any solution for this situation. I have same warnings for d3d11 also. I can't find any solution for this.
  • 0 Votes
    2 Posts
    587 Views
    Just build Qt and don't deploy the xcb plugin (if it is really build).
  • 0 Votes
    5 Posts
    2k Views
    You could use the wayland-client library like this before your instantiate your QApplication: #include <QApplication> #include <wayland-client.h> #include <unistd.h> int main(int argc, char *argv[]) { struct wl_display *display = NULL; while(!display) { // Return NULL if no compositor avaliable in wayland-0 display = wl_display_connect(NULL); // Wait 200 ms so you dont overuse your CPU usleep(200000); } // Disconnect because QApplication will stablish its own connection wl_display_disconnect(display); // Start the app QApplication app(argc,argv); ... } Its a bit ugly but it should work.
  • 0 Votes
    2 Posts
    851 Views
    Hi, That's a question better asked on the interest mailing list. You'll find there Qt's developers/maintainers. This forum is more user oriented.
  • 0 Votes
    2 Posts
    2k Views
    I figured out my issue. I set the following environment variable: QT_QPA_EGLFS_DISABLE_INPUT=1 Of course, the cursor dissapears, but when pressing around my Gui running on the Compositor I'm not noticing any buttons being pressed except when I press in them, so that's definitely preferred to a wonky cursor!
  • 0 Votes
    1 Posts
    657 Views
    No one has replied
  • 0 Votes
    3 Posts
    876 Views
    @primem0ver Yes I'm using Qt5.11.2.
  • 0 Votes
    1 Posts
    732 Views
    No one has replied
  • 1 Votes
    4 Posts
    3k Views
    @SGaist That an excellent idea! I've sent to interest@qt-project.org. Hope someone could save me.
  • 0 Votes
    6 Posts
    3k Views
    Sorry, yes, good points. # ./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" --- Version info: # weston --version weston 10.0.2 nsions string: EGL_EXT_client_extensions EGL_EXT_device_base EGL_EXT_device_enumeration EGL_EXT_device_query EGL_EXT_platform_base EGL_KHR_client_get_all_proc_addresses EGL_KHR_debug EGL_EXT_platform_device EGL_EXT_platform_wayland EGL_KHR_platform_wayland EGL_MESA_platform_gbm EGL_KHR_platform_gbm EGL_MESA_platform_surfaceless GBM platform: MESA: info: Loaded libpvr_dri_support.so EGL API version: 1.4 EGL vendor string: Mesa Project EGL version string: 1.4 EGL client APIs: OpenGL_ES EGL extensions string: EGL_EXT_buffer_age EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import EGL_EXT_yuv_surface EGL_KHR_config_attribs EGL_KHR_create_context EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_KHR_no_config_context EGL_KHR_reusable_sync EGL_KHR_surfaceless_context EGL_EXT_pixel_format_float EGL_KHR_wait_sync EGL_MESA_configless_context EGL_MESA_drm_image EGL_WL_bind_wayland_display EGL_IMG_cl_image Configurations: bf lv colorbuffer dp st ms vis cav bi renderable supported id sz l r g b a th cl ns b id eat nd gl es es2 vg surfaces --------------------------------------------------------------------- 0x01 32 0 8 8 8 8 0 0 0 0 0x34325241-- a y y win,pb 0x02 32 0 8 8 8 8 0 0 4 1 0x34325241-- a y y win,pb 0x03 32 0 8 8 8 8 24 8 0 0 0x34325241-- a y y win,pb 0x04 32 0 8 8 8 8 24 8 4 1 0x34325241-- a y y win,pb 0x05 24 0 8 8 8 0 0 0 0 0 0x34325258-- y y y win,pb 0x06 24 0 8 8 8 0 0 0 4 1 0x34325258-- y y y win,pb 0x07 24 0 8 8 8 0 24 8 0 0 0x34325258-- y y y win,pb 0x08 24 0 8 8 8 0 24 8 4 1 0x34325258-- y y y win,pb 0x09 16 0 5 6 5 0 0 0 0 0 0x36314752-- y y y win,pb 0x0a 16 0 5 6 5 0 0 0 4 1 0x36314752-- y y y win,pb 0x0b 16 0 5 6 5 0 24 8 0 0 0x36314752-- y y y win,pb 0x0c 16 0 5 6 5 0 24 8 4 1 0x36314752-- y y y win,pb MESA: info: Unloaded libpvr_dri_support.so Wayland platform: MESA: info: Loaded libpvr_dri_support.so EGL API version: 1.4 EGL vendor string: Mesa Project EGL version string: 1.4 EGL client APIs: OpenGL_ES EGL extensions string: EGL_EXT_buffer_age EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import EGL_EXT_present_opaque EGL_EXT_swap_buffers_with_damage EGL_EXT_yuv_surface EGL_KHR_config_attribs EGL_KHR_create_context EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_image_base EGL_KHR_no_config_context EGL_KHR_reusable_sync EGL_KHR_surfaceless_context EGL_KHR_swap_buffers_with_damage EGL_EXT_pixel_format_float EGL_KHR_wait_sync EGL_MESA_configless_context EGL_MESA_drm_image EGL_WL_bind_wayland_display EGL_WL_create_wayland_buffer_from_image EGL_IMG_cl_image Configurations: bf lv colorbuffer dp st ms vis cav bi renderable supported id sz l r g b a th cl ns b id eat nd gl es es2 vg surfaces --------------------------------------------------------------------- 0x01 32 0 8 8 8 8 0 0 0 0 0x00-- a y y win,pb 0x02 32 0 8 8 8 8 0 0 4 1 0x00-- a y y win,pb 0x03 32 0 8 8 8 8 24 8 0 0 0x00-- a y y win,pb 0x04 32 0 8 8 8 8 24 8 4 1 0x00-- a y y win,pb 0x05 24 0 8 8 8 0 0 0 0 0 0x00-- y y y win,pb 0x06 24 0 8 8 8 0 0 0 4 1 0x00-- y y y win,pb 0x07 24 0 8 8 8 0 24 8 0 0 0x00-- y y y win,pb 0x08 24 0 8 8 8 0 24 8 4 1 0x00-- y y y win,pb MESA: info: Unloaded libpvr_dri_support.so --- QT Settings: export QT_QPA_PLATFORM="wayland-egl" export QT_WAYLAND_SHELL_INTEGRATION="xdg-shell" export QT_WIDGETS_RHI=1 export QT_WIDGETS_RHI_BACKEND=opengl Results (All taken with the PVRTune server running for looking at the results) Running (Qt 6.8.3): rhiwindow on Weston compositor: ~3.5 fps rhiwindow on QT Fancy compositor: ~3 fps rhiwindow in sway compositor : 0.5 fps. ~2.3 fps when pvrtune is not running rhiwindow without compositor, using EGLFS: 35 fps Note: Looks like GLES2 doesn't connect fully in Sway: 00:00:01.840 [wlr] [render/gles2/renderer.c:704] Failed to create GLES2 renderer calculator (maximized): Weston : ~1/4 second delay in reaction to touch. Quickly pressing a number 5 times takes 12 seconds to resolve all 5 presses (counting from end of the last touch). QT Fancy compositor: ~1/4 s delay in reaction, 5 numbers takes 5 seconds to resolve all presses. Note that maximization of the calculator fails, so this is not as large as the Weston example. Error: Can't configure xdg_toplevel with an invalid size QSize(-1, -1) Sway: Several seconds between press and response. Sway: Run WITHOUT any RHI components (unset the QT_RHI... variables): ~1/4 second delay in response, ~1 second to resolve all presses. Not utilizing GPU at all. When I turn off PVTune, no noticable delay in either case. I think this actually indicates to me that there is a problem in my EGL setup with QT, more than the compositor, because in the pure-GPU case of using sway without RHI, we are very fast. However, it should be noted that the weston-simple-egl application gets around 30 fps when fullscreened, and 60fps when about 1/2 size and does utilize the GPU. I will post this information in the PVR forum, as it could be a problem with my PowerVR EGL connection... but it's odd to me that the simple-egl test application in Weston works perfectly well. that QT with EGLFS (no compositor) is substantially faster, and I get ~35 FPS when running rhiwindow and see good GPU utilization. So it's not QT->EGL, and it's not Weston->EGL, it's QT-><any Compositor>->EGL which has a slowdown, even further in simple applications like the calculator than pure-cpu rendering. EDIT: I wrote up a post to debug the EGL/PowerVR side here: https://forums.imgtec.com/t/qt-slow-to-connect-to-pvr-using-weston/4167/2 What I noticed while writing it was that there is a big difference in performance between QT having to change the calculator number or not. (Pressing "clear" 5x was at least twice as fast as pressing a number 5x).
  • 1 Votes
    6 Posts
    10k Views
    It looks like it's searching for the 56 version. I'm not sure whether the official package comes with a bundled version but I think so. Can you check that ?
  • 0 Votes
    2 Posts
    1k Views
    Hi and welcome to devnet, Like you already found, the QtWayland module is likely what you are looking for. If you would like to discuss things about it, one recommended channel is the #qt-labs IRC channel. You can also bring your questions on the interest mailing list You'll find there Qt's developers/maintainers. This forum is more user oriented.