Skip to content
QtWS25 Call for Papers
  • 0 Votes
    4 Posts
    322 Views
    S

    @skinkie said in Fully offscreen QML rendering:

    Is it possible (like with a raspberry pi) to specify in the Linux cmdline directly that a certain HDMI-output must be always available, even when no screen is connected, to prevent the "No screens available" errors. Something like a non-hardware based dummy output would do too.

    I can answer the first question. You can specify video=HDMI-A-1:1280x720-24@50D to force the digital output on (notice the D in the end, e will work too). My current system makes that interlaced output, so it has some particularities.

    If you want interlacing in Qt, on EGLFS that would still need this bug+patch to be applied. Sadly...

    For question two. Still stumbling.

  • meta-Qt6 with eglfs

    Unsolved Mobile and Embedded
    2
    0 Votes
    2 Posts
    193 Views
    Ronel_qtmasterR

    @Bjorn-Gurnett You have to configure it in metaqt receipe

  • 0 Votes
    1 Posts
    237 Views
    No one has replied
  • 0 Votes
    2 Posts
    1k Views
    T

    I managed to solve this issue. QMake errors are something old that hasn't been deleted and these variables are not used anymore. I managed to solve this by:

    Adding this to toolchain.cmake file:
    set(GLESv2_LIBRARY ${TARGET_SYSROOT}/usr/lib/aarch64-linux-gnu/tegra-egl/libGLESv2_nvidia.so.2)
    set(EGL_LIBRARY ${TARGET_SYSROOT}/usr/lib/aarch64-linux-gnu/tegra-egl/libEGL_nvidia.so.0)
    set(OPENGL_egl_LIBRARY ${TARGET_SYSROOT}/usr/lib/aarch64-linux-gnu/tegra-egl/libEGL_nvidia.so.0)
    I found the library variables by opening CMakeCache.txt in my build folder.

    Editing FindGLESv2.cmake (commenting out C code and setting HAVE_GLESv2 to true). Of course then you have to be sure that you are using the correct libGLESv2.

    # check_cxx_source_compiles(" #ifdef __APPLE__ # include <OpenGLES/ES2/gl.h> #else # define GL_GLEXT_PROTOTYPES # include <GLES2/gl2.h> #endif #int main(int argc, char *argv[]) { # glUniform1f(1, GLfloat(1.0)); # glClear(GL_COLOR_BUFFER_BIT); #}" HAVE_GLESv2) set(HAVE_GLESv2 True) Editing FindEGL.cmake just like FindGLESv2.cmake #check_cxx_source_compiles(" ##include <EGL/egl.h> # #int main(int argc, char *argv[]) { # EGLint x = 0; EGLDisplay dpy = 0; EGLContext ctx = 0; # eglDestroyContext(dpy, ctx); #}" HAVE_EGL) set(HAVE_EGL True) cmake_pop_check_state()
  • 0 Votes
    9 Posts
    629 Views
    P

    @SGaist Thanks for your reply. I have solved it.
    I found that it was using root env when started my application with sudo.
    So i changed it in /etc/sudoer
    65eba830-d825-450d-b235-49ce4cff2b8b-image.png

    Defaults env_reset ----> Defaults !env_reset

    But i don't konw why. T_T

  • 0 Votes
    1 Posts
    289 Views
    No one has replied
  • 0 Votes
    1 Posts
    773 Views
    No one has replied
  • 0 Votes
    2 Posts
    657 Views
    T

    Created context for format QSurfaceFormat(version 2.0, options QFlagsQSurfaceFormat::FormatOption(), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize -1, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 1, colorSpace QSurfaceFormat::DefaultColorSpace, profile QSurfaceFormat::NoProfile) with config:
    EGL_BUFFER_SIZE: 24
    EGL_ALPHA_SIZE: 0
    EGL_BLUE_SIZE: 8
    EGL_GREEN_SIZE: 8
    EGL_RED_SIZE: 8
    EGL_DEPTH_SIZE: 24
    EGL_STENCIL_SIZE: 8
    EGL_CONFIG_CAVEAT: 12344
    EGL_CONFIG_ID: 10
    EGL_LEVEL: 0
    EGL_MAX_PBUFFER_HEIGHT: 8192
    EGL_MAX_PBUFFER_PIXELS: 67108864
    EGL_MAX_PBUFFER_WIDTH: 8192
    EGL_NATIVE_RENDERABLE: 0
    EGL_NATIVE_VISUAL_ID: 875713112
    EGL_NATIVE_VISUAL_TYPE: -1
    EGL_SAMPLES: 0
    EGL_SAMPLE_BUFFERS: 0
    EGL_SURFACE_TYPE: 1029
    EGL_TRANSPARENT_TYPE: 12344
    EGL_TRANSPARENT_BLUE_VALUE: 0
    EGL_TRANSPARENT_GREEN_VALUE: 0
    EGL_TRANSPARENT_RED_VALUE: 0
    EGL_BIND_TO_TEXTURE_RGB: 1
    EGL_BIND_TO_TEXTURE_RGBA: 0
    EGL_MIN_SWAP_INTERVAL: 0
    EGL_MAX_SWAP_INTERVAL: 1
    [2171283.136] -> wl_display@1.get_registry(new id wl_registry@2)
    [2171283.439] -> wl_display@1.sync(new id wl_callback@3)
    [2171283.682] wl_display@1.get_registry(new id wl_registry@2)
    [2171284.001] -> wl_registry@2.global(1, "ivi_application", 1)
    [2171284.392] -> wl_registry@2.global(2, "wl_compositor", 3)
    [2171284.584] -> wl_registry@2.global(3, "wl_subcompositor", 1)
    [2171284.769] -> wl_registry@2.global(4, "wl_data_device_manager", 1)
    [2171284.955] -> wl_registry@2.global(5, "wl_shm", 1)
    [2171285.446] -> wl_registry@2.global(6, "qt_hardware_integration", 1)
    [2171285.642] -> wl_registry@2.global(7, "mali_buffer_sharing", 4)
    [2171286.364] -> wl_registry@2.global(8, "wl_seat", 4)
    [2171286.965] -> wl_registry@2.global(9, "wl_output", 2)
    [2171287.697] -> wl_registry@2.global(10, "wp_viewporter", 1)
    [2171288.255] wl_display@1.sync(new id wl_callback@3)
    [2171288.706] -> wl_callback@3.done(0)
    [2171288.822] -> wl_display@1.delete_id(3)
    [2171289.483] wl_display@1.delete_id(3)
    [2171289.674] wl_registry@2.global(1, "ivi_application", 1)
    [2171289.831] wl_registry@2.global(2, "wl_compositor", 3)
    [2171289.891] -> wl_registry@2.bind(2, "wl_compositor", 3, new id [unknown]@4)
    [2171289.991] wl_registry@2.global(3, "wl_subcompositor", 1)
    [2171290.144] -> wl_registry@2.bind(3, "wl_subcompositor", 1, new id [unknown]@5)
    [2171290.233] wl_registry@2.global(4, "wl_data_device_manager", 1)
    [2171290.333] -> wl_registry@2.bind(4, "wl_data_device_manager", 1, new id [unknown]@6)
    [2171290.421] wl_registry@2.global(5, "wl_shm", 1)
    [2171290.481] -> wl_registry@2.bind(5, "wl_shm", 1, new id [unknown]@7)
    [2171290.571] wl_registry@2.global(6, "qt_hardware_integration", 1)
    [2171290.656] -> wl_registry@2.bind(6, "qt_hardware_integration", 1, new id [unknown]@8)
    [2171290.758] -> wl_display@1.sync(new id wl_callback@9)
    [2171290.796] wl_registry@2.global(7, "mali_buffer_sharing", 4)
    [2171290.849] wl_registry@2.global(8, "wl_seat", 4)
    [2171290.918] -> wl_registry@2.bind(8, "wl_seat", 4, new id [unknown]@10)
    [2171291.003] -> wl_data_device_manager@6.get_data_device(new id wl_data_device@11, wl_seat@10)
    [2171291.089] wl_registry@2.global(9, "wl_output", 2)
    [2171291.159] -> wl_registry@2.bind(9, "wl_output", 2, new id [unknown]@12)
    [2171291.238] wl_registry@2.global(10, "wp_viewporter", 1)
    [2171291.287] wl_callback@3.done(0)
    [2171291.623] wl_registry@2.bind(2, "wl_compositor", 3, new id [unknown]@4)
    [2171292.326] wl_registry@2.bind(3, "wl_subcompositor", 1, new id [unknown]@5)
    [2171292.734] wl_registry@2.bind(4, "wl_data_device_manager", 1, new id [unknown]@6)
    [2171293.173] wl_registry@2.bind(5, "wl_shm", 1, new id [unknown]@7)
    [2171293.546] -> wl_shm@7.format(0)
    [2171293.669] -> wl_shm@7.format(1)
    [2171293.819] -> wl_shm@7.format(1)
    [2171293.964] -> wl_shm@7.format(0)
    [2171294.112] -> wl_shm@7.format(909199186)
    [2171294.264] -> wl_shm@7.format(892424792)
    [2171294.409] -> wl_shm@7.format(875710290)
    [2171294.553] -> wl_shm@7.format(842093144)
    [2171294.668] -> wl_shm@7.format(842093121)
    [2171294.783] -> wl_shm@7.format(875709016)
    [2171294.928] -> wl_shm@7.format(875708993)
    [2171295.099] -> wl_shm@7.format(808665688)
    [2171295.247] -> wl_shm@7.format(808665665)
    [2171295.354] -> wl_shm@7.format(808669784)
    [2171295.435] -> wl_shm@7.format(808669761)
    [2171295.492] -> wl_shm@7.format(538982467)
    [2171295.561] wl_registry@2.bind(6, "qt_hardware_integration", 1, new id [unknown]@8)
    [2171296.038] -> qt_hardware_integration@8.client_backend("wayland-egl")
    [2171296.221] wl_display@1.sync(new id wl_callback@9)
    [2171296.414] -> wl_callback@9.done(0)
    [2171296.563] -> wl_display@1.delete_id(9)
    [2171296.694] wl_registry@2.bind(8, "wl_seat", 4, new id [unknown]@10)
    [2171296.921] -> wl_seat@10.capabilities(7)
    [2171296.996] wl_data_device_manager@6.get_data_device(new id wl_data_device@11, wl_seat@10)
    [2171297.448] wl_registry@2.bind(9, "wl_output", 2, new id [unknown]@12)
    [2171297.746] -> wl_output@12.geometry(0, 0, -1, -1, 0, "", "", 0)
    [2171298.376] -> wl_output@12.mode(3, 1920, 1080, 60000)
    [2171298.665] -> wl_output@12.scale(1)
    [2171298.836] -> wl_output@12.done()
    [2171299.294] wl_display@1.delete_id(9)
    [2171299.414] wl_shm@7.format(0)
    [2171299.510] wl_shm@7.format(1)
    [2171299.753] wl_shm@7.format(1)
    [2171300.019] wl_shm@7.format(0)
    [2171300.251] wl_shm@7.format(909199186)
    [2171300.272] wl_shm@7.format(892424792)
    [2171300.291] wl_shm@7.format(875710290)
    [2171300.319] wl_shm@7.format(842093144)
    [2171300.381] wl_shm@7.format(842093121)
    [2171300.398] wl_shm@7.format(875709016)
    [2171300.457] wl_shm@7.format(875708993)
    [2171300.480] wl_shm@7.format(808665688)
    [2171300.544] wl_shm@7.format(808665665)
    [2171300.573] wl_shm@7.format(808669784)
    [2171300.595] wl_shm@7.format(808669761)
    [2171300.621] wl_shm@7.format(538982467)
    [2171300.691] qt_hardware_integration@8.client_backend("wayland-egl")
    [2171300.727] wl_callback@9.done(0)
    [2171300.757] wl_seat@10.capabilities(7)
    [2171300.879] -> wl_seat@10.get_keyboard(new id wl_keyboard@9)
    [2171300.969] -> wl_seat@10.get_pointer(new id wl_pointer@3)
    [2171301.017] -> wl_seat@10.get_touch(new id wl_touch@13)
    [2171301.145] wl_output@12.geometry(0, 0, -1, -1, 0, "", "", 0)
    [2171301.244] wl_output@12.mode(3, 1920, 1080, 60000)
    [2171301.324] wl_output@12.scale(1)
    [2171301.358] wl_output@12.done()
    [2171361.107] -> wl_display@1.get_registry(new id wl_registry@14)
    [2171361.363] -> wl_display@1.sync(new id wl_callback@15)
    [2171361.759] wl_seat@10.get_keyboard(new id wl_keyboard@9)
    [2171362.260] -> wl_keyboard@9.repeat_info(40, 400)
    [2171362.469] -> wl_keyboard@9.keymap(1, fd 33, 48257)
    [2171362.719] wl_seat@10.get_pointer(new id wl_pointer@3)
    [2171362.936] wl_seat@10.get_touch(new id wl_touch@13)
    [2171363.280] wl_display@1.get_registry(new id wl_registry@14)
    [2171363.362] -> wl_registry@14.global(1, "ivi_application", 1)
    [2171363.464] -> wl_registry@14.global(2, "wl_compositor", 3)
    [2171363.655] -> wl_registry@14.global(3, "wl_subcompositor", 1)
    [2171364.112] -> wl_registry@14.global(4, "wl_data_device_manager", 1)
    [2171364.451] -> wl_registry@14.global(5, "wl_shm", 1)
    [2171364.880] -> wl_registry@14.global(6, "qt_hardware_integration", 1)
    [2171365.226] -> wl_registry@14.global(7, "mali_buffer_sharing", 4)
    [2171365.584] -> wl_registry@14.global(8, "wl_seat", 4)
    [2171365.882] -> wl_registry@14.global(9, "wl_output", 2)
    [2171366.030] -> wl_registry@14.global(10, "wp_viewporter", 1)
    [2171366.263] wl_display@1.sync(new id wl_callback@15)
    [2171366.403] -> wl_callback@15.done(0)
    [2171366.511] -> wl_display@1.delete_id(15)
    [2171366.842] wl_display@1.delete_id(15)
    [2171366.945] wl_registry@14.global(1, "ivi_application", 1)
    [2171367.255] wl_registry@14.global(2, "wl_compositor", 3)
    [2171367.671] wl_registry@14.global(3, "wl_subcompositor", 1)
    [2171367.836] wl_registry@14.global(4, "wl_data_device_manager", 1)
    [2171367.936] wl_registry@14.global(5, "wl_shm", 1)
    [2171368.032] wl_registry@14.global(6, "qt_hardware_integration", 1)
    [2171368.376] wl_registry@14.global(7, "mali_buffer_sharing", 4)
    [2171368.680] -> wl_registry@14.bind(7, "mali_buffer_sharing", 4, new id [unknown]@16)
    [2171368.973] wl_registry@14.global(8, "wl_seat", 4)
    [2171369.333] wl_registry@14.global(9, "wl_output", 2)
    [2171369.642] wl_registry@14.global(10, "wp_viewporter", 1)
    [2171369.833] wl_callback@15.done(0)
    [2171370.012] -> wl_display@1.sync(new id wl_callback@17)
    [2171370.256] wl_registry@14.bind(7, "mali_buffer_sharing", 4, new id [unknown]@16)
    [2171370.647] -> mali_buffer_sharing@16.alloc_device("display-subsystem")
    [2171370.775] wl_display@1.sync(new id wl_callback@17)
    [2171370.918] -> wl_callback@17.done(0)
    [2171371.026] -> wl_display@1.delete_id(17)
    [2171371.591] wl_display@1.delete_id(17)
    [2171371.727] mali_buffer_sharing@16.alloc_device("display-subsystem")
    [2171372.258] wl_callback@17.done(0)
    [2171372.431] -> mali_buffer_sharing@16.auth(1)
    [2171372.554] -> wl_display@1.sync(new id wl_callback@18)
    [2171372.968] mali_buffer_sharing@16.auth(1)
    [2171373.297] wl_display@1.sync(new id wl_callback@18)
    [2171373.447] -> wl_callback@18.done(0)
    [2171373.560] -> wl_display@1.delete_id(18)
    [2171373.780] wl_display@1.delete_id(18)
    [2171373.913] wl_callback@18.done(0)
    [2171381.208] -> wl_compositor@4.create_surface(new id wl_surface@19)
    [2171399.346] -> wl_registry@2.bind(1, "ivi_application", 1, new id [unknown]@20)
    [2171399.882] -> ivi_application@20.surface_create(16876, wl_surface@19, new id ivi_surface@21)
    [2171401.270] -> wl_surface@19.set_buffer_scale(1)
    [2171402.119] -> wl_surface@19.set_buffer_transform(0)
    [2171402.490] -> wl_surface@19.commit()
    [2171402.827] wl_keyboard@9.repeat_info(40, 400)
    [2171403.235] wl_keyboard@9.keymap(1, fd 10, 48257)
    [2171419.225] -> wl_compositor@4.create_region([2171419.317] wl_compositor@4.create_surface(new id wl_surface@19)
    new id wl_region@22)
    [2171419.658] -> wl_region@22.add(0, 0, 640, 480[2171419.888] wl_registry@2.bind(1, "ivi_application", )
    [2171420.322] -> wl_surface@19.set_opaque_region(1, wl_region@22new id [unknown]@20)
    )
    [2171420.666] -> wl_region@22.destroy([2171420.673] ivi_application@20.surface_create(16876, )
    wl_surface@19, new id ivi_surface@21)
    Can't configure ivi_surface with an invalid size QSize(-1, -1)
    Can't configure ivi_surface with an invalid size QSize(-1, -1)
    [2171426.375] -> ivi_surface@21.configure(1920, 1026)
    [2171427.020] -> ivi_surface@21.configure(1920, 1026)
    [2171427.278] -> ivi_surface@21.configure(1920, 1026)
    [2171427.411] wl_surface@19.set_buffer_scale(1)
    [2171427.478] wl_surface@19.set_buffer_transform(0)
    [2171427.554] wl_surface@19.commit()
    [2171427.828] wl_compositor@4.create_region(new id wl_region@22)
    [2171427.948] wl_region@22.add(0, 0, 640, 480)
    [2171428.187] wl_surface@19.set_opaque_region(wl_region@22)
    [2171428.303] wl_region@22.destroy()
    [2171428.415] -> wl_display@1.delete_id(22)
    [2171428.508] -> wl_compositor@4.create_surface(new id wl_surface@23)
    [2171438.934] -> wl_surface@23.attach(nil, 0, 0)
    [2171440.186] -> wl_surface@23.commit()
    [2171440.759] -> wl_surface@23.destroy()
    [2171441.227] -> wl_compositor@4.create_surface([2171441.254] wl_compositor@4.create_surface(new id wl_surface@23)
    [2171441.486] wl_surface@23.attach(nil, 0, 0)
    [2171441.691] wl_surface@23.commit()
    new id wl_surface@24)
    [2171453.628] -> mali_buffer_sharing@16.create_buffer(new id wl_buffer@25, 640, 480, 2560, 0, 17544714, fd 13)
    [2171459.108] -> wl_surface@19.frame(new id wl_callback@26)
    [2171461.779] ivi_surface@21.configure(1920, 1026)
    [2171462.020] -> wl_surface@19.frame(new id wl_callback@27)
    [2171462.372] -> wl_surface@19.attach(wl_buffer@25, 0, 0)
    [2171462.765] -> wl_surface@19.damage(0, 0, 2147483647, 2147483647)
    [2171463.248] -> wl_surface@19.commit()
    [2171463.707] wl_surface@23.destroy()
    [2171464.014] -> wl_display@1.delete_id(23)
    [2171464.202] wl_compositor@4.create_surface(new id wl_surface@24)
    [2171464.372] mali_buffer_sharing@16.create_buffer(new id wl_buffer@25, 640, 480, 2560, 0, 17544714, fd 34)
    [2171464.528] wl_surface@19.frame(new id wl_callback@26)
    [2171464.603] wl_surface@19.frame(new id wl_callback@27)
    [2171464.685] wl_surface@19.attach(wl_buffer@25, 0, 0)
    [2171465.121] ivi_surface@21.configure(1920, 1026)
    [2171465.212] ivi_surface@21.configure(1920, 1026)
    [2171465.540] -> wl_compositor@4.create_region(new id wl_region@28)
    [2171465.604] -> wl_region@28.add(0, 0, 1920, 1026)
    [2171465.641] -> wl_surface@19.set_opaque_region(wl_region@28)
    [2171465.659] -> wl_region@28.destroy()
    [2171466.268] wl_surface@19.damage(0, 0, 2147483647, 2147483647)
    [2171466.380] wl_surface@19.commit()
    [2171466.802] -> ivi_surface@21.configure(1920, 1026)
    [2171466.940] -> ivi_surface@21.configure(1920, 1026)
    [2171467.202] -> ivi_surface@21.configure(1920, 1026)
    [2171467.358] -> ivi_surface@21.configure(1920, 1026)
    [2171479.859] -> wl_surface@19.enter(wl_output@12)
    [2171480.016] -> wl_callback@26.done(1793)
    [2171480.041] -> wl_display@1.delete_id(26)
    [2171480.134] -> wl_callback@27.done([2171480.112] -> mali_buffer_sharing@16.create_buffer(1793)
    new id wl_buffer@29[2171480.284] -> wl_display@1.delete_id(, 271920)
    , 1026, 7680, 0, 17544714, fd 13)
    [2171483.571] wl_display@1.delete_id(22)
    [2171483.641] wl_compositor@4.create_region(new id wl_region@28)
    [2171483.755] wl_region@28.add(0, 0[2171483.790] wl_display@1.delete_id(, 231920)
    , 1026)
    [2171483.958] wl_display@1.delete_id(26)
    [2171483.982] wl_surface@19.set_opaque_region(wl_region@28)
    [2171483.993] wl_display@1.delete_id(27)
    [2171484.015] wl_region@28.destroy()
    [2171484.028] wl_callback@26.done(1793[2171484.052] -> wl_display@1.delete_id()
    28)
    [2171484.210] mali_buffer_sharing@16.create_buffer([2171484.232] -> wl_surface@19.frame(new id wl_buffer@new id wl_callback@2926, )
    1920, 1026, 7680, 0, 17544714, fd 35)
    [2171487.212] ivi_surface@21.configure(1920, 1026)
    [2171487.369] ivi_surface@21.configure(1920, 1026)
    [2171487.458] ivi_surface@21.configure(1920, 1026)
    [2171487.532] ivi_surface@21.configure(1920, 1026)
    [2171487.557] wl_surface@19.enter(wl_output@12)
    [2171487.929] wl_surface@19.frame(new id wl_callback@26)
    [2171491.206] wl_callback@27.done(1793)
    [2171491.336] -> wl_surface@19.frame(new id wl_callback@27)
    [2171491.397] -> wl_surface@19.attach(wl_buffer@29, 0, 0)
    [2171491.478] -> wl_surface@19.damage(0, 0, 2147483647, 2147483647)
    [2171491.513] -> wl_surface@19.commit()
    [2171491.736] wl_surface@19.frame(new id wl_callback@27)
    [2171491.824] wl_surface@19.attach(wl_buffer@29, 0, 0)
    [2171492.406] wl_surface@19.damage(0, 0, 2147483647, 2147483647)
    [2171492.532] wl_surface@19.commit()
    [2171498.023] -> wl_buffer@25.release()
    [2171499.478] -> wl_callback@26.done(1812)
    [2171499.590] -> wl_display@1.delete_id(26)
    [2171499.611] -> wl_callback@27.done(1812)
    [2171499.628] -> wl_display@1.delete_id(27)
    [2171516.791] -> mali_buffer_sharing@16.create_buffer(new id wl_buffer@23, 1920, 1026, 7680, 0, 17544714, fd 13)
    [2171518.037] wl_display@1.delete_id(28)
    [2171518.179] wl_display@1.delete_id(26)
    [2171518.204] wl_display@1.delete_id(27)
    [2171518.226] wl_callback@26.done(1812)
    [2171518.272] mali_buffer_sharing@16.create_buffer([2171518.307] -> wl_surface@19.frame(new id wl_callback@new id wl_buffer@2623)
    , 1920, 1026, 7680, 0, 17544714, fd 36)
    [2171521.566] wl_surface@19.frame(new id wl_callback@26)
    [2171524.537] wl_buffer@25.release()
    [2171524.678] wl_callback@27.done(1812)
    [2171524.824] -> wl_surface@19.frame(new id wl_callback@27)
    [2171524.915] -> wl_surface@19.attach(wl_buffer@23, 0, 0)
    [2171525.015] -> wl_surface@19.damage(0, 0, 2147483647, 2147483647)
    [2171525.442] -> wl_surface@19.commit()
    [2171525.757] wl_surface@19.frame(new id wl_callback@27)
    [2171525.972] wl_surface@19.attach(wl_buffer@23, 0, 0)
    [2171526.838] wl_surface@19.damage(0, 0, 2147483647, 2147483647)
    [2171527.272] wl_surface@19.commit()
    [2171532.880] -> wl_buffer@29.release()
    [2171534.673] -> wl_callback@26.done(1847)
    [2171534.816] -> wl_display@1.delete_id(26)
    [2171534.850] -> wl_callback@27.done(1847)
    [2171534.976] -> wl_display@1.delete_id(27)
    [2171535.277] wl_display@1.delete_id(26)
    [2171535.378] wl_display@1.delete_id(27)
    [2171535.411] wl_callback@26.done(1847)
    [2174467.160] -> ivi_surface@21.destroy()
    [2174467.507] -> wl_surface@19.destroy()
    ./testeglfs.sh: line 38: 16876 Segmentation fault (core dumped) ./TestEglHideDumpd -platform wayland

  • 0 Votes
    4 Posts
    2k Views
    Pablo J. RoginaP

    @cosmonaut65 said in EGLFS Full Screen issue on Raspberry Pi 4 Desktop:

    For the time being, booting into the CLI will have to do I guess

    is your issue solved then? if so please don't forget to mark your post as such. Thanks.

  • 0 Votes
    9 Posts
    623 Views
    R

    Ah -

    it is an intel N4200 processor (so i915 driver) with base OS being Ubuntu 18.04.3

    It is quite strange...

  • 0 Votes
    5 Posts
    2k Views
    JoseCastroJ

    I eventually found out that those changes mentioned in the links in the last post require you to set "QT_IM_MODULE=compose" but even then composing didn't work.

    That being the case, I've reported a bug: https://bugreports.qt.io/browse/QTBUG-79097

    I'm keeping this as unanswered until there is a workaround or a fix, but if you do not need dead keys or composition, just setting the XKB_DEFAULT vars and ensuring you are using libinput/xkbcommon should be enough to get your keyboard layout "working".

  • 0 Votes
    4 Posts
    845 Views
    D

    Thank you, I've posted the question there (unfortunately detected as spam):
    https://lists.qt-project.org/pipermail/interest/2019-September/033861.html

  • 0 Votes
    15 Posts
    4k Views
    SupervisedThinkingS

    @ruisebastiao well this is a rather hacky workaround to fix something Qt has broken within a LTS version. The thing is that libmali uses a unified lib which contains all symbols for EGL, OpenGL ES etc. so it would be wrong to apply a single .so name. It worked fine in 5.12.0 so it's probably time to come up with a solution for this "use absolute paths" nonsense has introduced.

    it works once you duplicate the unified lib & patch it. So Qt needs to deal with this kind of libs instead of forcing users to patch stuff.

    https://forum.qt.io/topic/104015/cross-compilation-generates-full-paths-in-libqt5gui-so-for-libglesv2-so-and-libgl-so-then-cannot-be-found-in-execution-time/3

  • 0 Votes
    5 Posts
    4k Views
    C

    Hi,

    Well, evdevtouch plugin seem to be completely buggy.
    The rotation woks very well but afin 1 to 10 secondes, the touch does not woks anymore.
    Even with example programs.

    I have this information :
    TouchPointPressed without previous release event QQuickEventPoint(accepted:false state:Pressed scenePos:QPointF(249.631,798.957) id:2000002 timeHeld:0)

    I have to reset the application to work.

    Is there any solution to workaround this bug or a solution with libinput ?

  • 0 Votes
    4 Posts
    3k Views
    SGaistS

    Topic locked for duplication

  • 0 Votes
    5 Posts
    2k Views
    Pablo J. RoginaP

    @Worly said in Qt cross platform compilation with QtRpi to rpi3 - could not find "eglfs":

    QtRpi has only up to 5.7.0 version of Qt, does that mean that I have to use v5.7.0 plugins or I can use the latest?

    Would you consider going through the steps from this guide? It allows you to cross compile Qt for RPi and it's been used with newer Qt versions and several RPi models.

  • 0 Votes
    2 Posts
    842 Views
    Cleiton BuenoC

    Are you using which Yocto branch?
    Could you tell the MACHINE and the bblayers you're using?

  • 0 Votes
    9 Posts
    7k Views
    X

    I also encountered this problem. It can be solved by manually adding the following definition of this structure (from Raspberry Pi Video Core API) into EGL/eglplatform.h (adding additional definition will not break compilation on non-legacy code that does not use this structure). And you also need to add the definition of DISPMANX_ELEMENT_HANDLE_T before that. i.e.,

    typedef uint32_t DISPMANX_ELEMENT_HANDLE_T; typedef struct { DISPMANX_ELEMENT_HANDLE_T element; int width; /* This is necessary because dispmanx elements are not queriable. */ int height; } EGL_DISPMANX_WINDOW_T;

    After doing this, you will still encounter a few compilation errors in pointer casting. You can just forcefully cast all pointers over (or copy my code ). The compilation should proceed then.
    The reason why the compilation breaks is because in the open-source community, many developers still come from private companies working on proprietary projects. Some need to show to their boss that they have done something, so they unnecessarily keeps changing definitions, names, removing structures they do not know about due to their ignorance on other platforms/architectures (so they can say "oh, I did code-base clean-up"). In the end, it causes massive compilation breaks/failures. However, the underlying code is still the same, that is why directly casting pointers over surprisingly works out in the end, which should not be the case if substantial development is present. In summary, the No.1 development principle is that code modification should be made as minimal as possible and should exist if and only if necessary.

  • 1 Votes
    1 Posts
    891 Views
    No one has replied
  • 0 Votes
    2 Posts
    2k Views
    W

    Hi ! I have the same problem. The QT included in the last IMG doesn't include a Qmake file. So when I compile like you, it give the same error cause we need to interface with the supplied proprietary libs in /opt I think.
    On the Raspberry Pi, we need to interface with the VC libs in opt/ to correctly initialise with hardware acceleration, but VC libs are only for the Broadcom chipset on the Pi. On my NanoPI, it is a S5P4418, with a Nexell backend. Maybe we have to do the same with the Nexell libs included on the IMG ? I have a Fire2A and a S2, not sure you have the same configuration as me.
    Qt recognize EGL and OpenGLES 2 but can't seem to open a display without these libs.