Output of qmlscene helloworld.qml with full Qt debug output enabled.
Using Wayland-EGL library "libgui.so" wasn't loaded and RTLD_NOLOAD prevented it qt.quick.hover.trace: QQuickText(0xb22d38, parent=0x0, geometry=0,0 0x0) false -> false qt.scenegraph.general: threaded render loop qt.scenegraph.general: Using sg animation driver qt.scenegraph.general: Animation Driver: using vsync: 16.67 ms Using the 'wl-shell' shell integration qt.scenegraph.renderloop: exposureChanged() QQuickView(0xb40088) qt.scenegraph.renderloop: handleExposure() QQuickView(0xb40088) qt.scenegraph.renderloop: - adding window to list qt.scenegraph.renderloop: - starting render thread qt.scenegraph.renderloop: - OpenGL context created qt.scenegraph.renderloop: polishAndSync (in expose) QQuickView(0xb40088) qt.scenegraph.renderloop: - lock for sync qt.scenegraph.renderloop: - wait for sync qt.scenegraph.renderloop: (RT) run() qt.scenegraph.general: Using sg animation driver qt.scenegraph.general: Animation Driver: using vsync: 16.67 ms qt.scenegraph.renderloop: (RT) syncAndRender() qt.scenegraph.renderloop: (RT) - rendering started qt.scenegraph.renderloop: (RT) - window not ready, skipping render qt.scenegraph.renderloop: (RT) - rendering done qt.scenegraph.time.renderloop: Frame rendered with 'threaded' renderloop in 0ms, sync=0, render=0, swap=0 - (on render thread) qt.scenegraph.renderloop: (RT) --- begin processEvents() qt.scenegraph.renderloop: (RT) WM_RequestSync qt.scenegraph.renderloop: (RT) - triggered from expose qt.scenegraph.renderloop: (RT) - repaint regardless qt.scenegraph.renderloop: (RT) --- done processEvents() qt.scenegraph.general: texture atlas dimensions: 512x512 qt.scenegraph.general: R/G/B/A Buffers: 5 6 5 0 qt.scenegraph.general: Depth Buffer: 24 qt.scenegraph.general: Stencil Buffer: 8 qt.scenegraph.general: Samples: 0 qt.scenegraph.general: GL_VENDOR: Qualcomm qt.scenegraph.general: GL_RENDERER: Adreno (TM) 505 qt.scenegraph.general: GL_VERSION: OpenGL ES 2.0 (OpenGL ES 3.2 V@145.0 (GIT@I23cc4685e6)) qt.scenegraph.general: GL_EXTENSIONS: GL_OES_shader_image_atomic GL_OES_framebuffer_object GL_EXT_color_buffer_float GL_EXT_geometry_shader GL_OES_EGL_sync GL_OES_sample_variables GL_OES_packed_depth_stencil GL_KHR_debug GL_KHR_no_error GL_OES_compressed_ETC1_RGB8_texture GL_EXT_texture_border_clamp GL_EXT_multisampled_render_to_texture GL_OES_EGL_image_external_essl3 GL_QCOM_alpha_test GL_OVR_multiview GL_EXT_tessellation_shader GL_OES_texture_3D GL_OES_texture_half_float_linear GL_EXT_primitive_bounding_box GL_KHR_blend_equation_advanced GL_OES_shader_multisample_interpolation GL_OES_surfaceless_context GL_EXT_texture_format_BGRA8888 GL_KHR_texture_compression_astc_hdr GL_EXT_texture_type_2_10_10_10_REV GL_OES_EGL_image GL_OES_rgb8_rgba8 GL_OES_texture_half_float GL_QCOM_tiled_rendering GL_EXT_draw_buffers_indexed GL_OES_sample_shading GL_EXT_texture_buffer GL_EXT_debug_marker GL_EXT_copy_image GL_EXT_texture_cube_map_array GL_OES_EGL_image_external GL_EXT_texture_filter_anisotropic GL_EXT_sRGB_write_control GL_EXT_shader_framebuffer_fetch GL_EXT_debug_label GL_OES_texture_npot GL_OES_texture_storage_multisample_2d_array GL_OVR_multiview_multisampled_render_to_texture GL_EXT_color_buffer_half_float GL_OES_vertex_half_float GL_OES_depth24 GL_EXT_gpu_shader5 GL_EXT_texture_sRGB_decode GL_AMD_compressed_ATC_texture GL_EXT_buffer_storage GL_OES_standard_derivatives GL_KHR_texture_compression_astc_ldr GL_OES_depth_texture GL_EXT_disjoint_timer_query GL_EXT_shader_io_blocks GL_EXT_robustness GL_OVR_multiview2 GL_OES_element_index_uint GL_KHR_blend_equation_advanced_coherent GL_OES_texture_compression_astc GL_OES_depth_texture_cube_map GL_EXT_discard_framebuffer GL_ARM_shader_framebuffer_fetch_depth_stencil GL_EXT_clip_cull_distance GL_OES_texture_float GL_OES_get_program_binary GL_EXT_YUV_target GL_EXT_texture_sRGB_R8 GL_EXT_shader_non_constant_global_initializers GL_OES_vertex_array_object GL_EXT_blit_framebuffer_params GL_OES_texture_stencil8 GL_OES_texture_float_linear GL_EXT_texture_norm16 GL_EXT_sRGB GL_ANDROID_extension_pack_es31a qt.scenegraph.general: Max Texture Size: 16384 qt.scenegraph.general: Debug context: false qt.scenegraph.renderloop: (RT) syncAndRender() qt.scenegraph.renderloop: (RT) - updatePending, doing sync qt.scenegraph.renderloop: (RT) sync() qt.quick.dirty: QQuickWindowPrivate::updateDirtyNodes(): qt.quick.dirty: QSGNode: QQuickRootItem(0xb0dd68, parent=0x0, geometry=0,0 159x36) Size|ChildrenChanged qt.quick.dirty: QSGNode: QQuickText(0xb22d38, parent=0xb0dd68, geometry=0,0 159x36) Size|Content|ParentChanged|Window qt.scenegraph.renderloop: (RT) - renderer was created qt.scenegraph.renderloop: (RT) - rendering started qt.scenegraph.time.glyph: distancefield: 8 glyphs prepared in 3ms, rendering=2, upload=1 qt.opengl.diskcache: OpenGL ES v2 context qt.opengl.diskcache: Shader cache supported = 0 qt.scenegraph.time.compilation: shader compiled in 19ms qt.scenegraph.time.renderer: time in renderer: total=25ms, preprocess=3, updates=0, binding=0, rendering=22 qt.scenegraph.renderloop: (RT) - rendering done qt.scenegraph.renderloop: (RT) - wake Gui after initial expose qt.scenegraph.time.renderloop: Frame rendered with 'threaded' renderloop in 33ms, sync=5, render=25, swap=2 - (on render thread) qt.scenegraph.renderloop: - unlock after sync qt.scenegraph.renderloop: (RT) --- begin processEvents() qt.scenegraph.renderloop: (RT) --- done processEvents() qt.scenegraph.time.renderloop: Frame prepared with 'threaded' renderloop, polish=0, lock=0, blockedForSync=53, animations=0 - (on Gui thread) QQuickView(0xb40088) qt.scenegraph.renderloop: (RT) done drawing, sleep... qt.scenegraph.renderloop: - done with handleExposure() qt.scenegraph.renderloop: (RT) --- begin processEventsAndWaitForMore() qt.scenegraph.renderloop: update from item QQuickView(0xb40088) qt.scenegraph.renderloop: update from item QQuickView(0xb40088) qt.scenegraph.renderloop: update from item QQuickView(0xb40088) qt.scenegraph.renderloop: update from item QQuickView(0xb40088) qt.scenegraph.renderloop: exposureChanged() QQuickView(0xb40088) qt.scenegraph.renderloop: handleExposure() QQuickView(0xb40088) qt.scenegraph.renderloop: - render thread already running qt.scenegraph.renderloop: polishAndSync (in expose) QQuickView(0xb40088) qt.scenegraph.renderloop: - lock for sync qt.scenegraph.renderloop: - wait for sync qt.scenegraph.renderloop: (RT) WM_RequestSync qt.scenegraph.renderloop: (RT) - triggered from expose qt.scenegraph.renderloop: (RT) --- done processEventsAndWaitForMore() qt.scenegraph.renderloop: (RT) syncAndRender() qt.scenegraph.renderloop: (RT) - updatePending, doing sync qt.scenegraph.renderloop: (RT) sync() qt.quick.dirty: QQuickWindowPrivate::updateDirtyNodes(): qt.quick.dirty: QSGNode: QQuickRootItem(0xb0dd68, parent=0x0, geometry=0,0 720x1070) Size qt.quick.dirty: QSGNode: QQuickText(0xb22d38, parent=0xb0dd68, geometry=0,0 720x1070) Size qt.scenegraph.renderloop: (RT) - rendering started qt.scenegraph.time.renderer: time in renderer: total=7ms, preprocess=0, updates=0, binding=0, rendering=7 qt.scenegraph.renderloop: (RT) - rendering done qt.scenegraph.renderloop: (RT) - wake Gui after initial expose qt.scenegraph.time.renderloop: Frame rendered with 'threaded' renderloop in 8ms, sync=0, render=7, swap=1 - (on render thread) qt.scenegraph.renderloop: - unlock after sync qt.scenegraph.renderloop: (RT) --- begin processEvents() qt.scenegraph.renderloop: (RT) --- done processEvents() qt.scenegraph.time.renderloop: Frame prepared with 'threaded' renderloop, polish=0, lock=0, blockedForSync=8, animations=0 - (on Gui thread) QQuickView(0xb40088) qt.scenegraph.renderloop: (RT) done drawing, sleep... qt.scenegraph.renderloop: - done with handleExposure() qt.scenegraph.renderloop: (RT) --- begin processEventsAndWaitForMore() qt.scenegraph.renderloop: exposureChanged() QQuickView(0xb40088) qt.scenegraph.renderloop: handleExposure() QQuickView(0xb40088) qt.scenegraph.renderloop: - render thread already running qt.scenegraph.renderloop: polishAndSync (in expose) QQuickView(0xb40088) qt.scenegraph.renderloop: - lock for sync qt.scenegraph.renderloop: - wait for sync qt.scenegraph.renderloop: (RT) WM_RequestSync qt.scenegraph.renderloop: (RT) - triggered from expose qt.scenegraph.renderloop: (RT) --- done processEventsAndWaitForMore() qt.scenegraph.renderloop: (RT) syncAndRender() qt.scenegraph.renderloop: (RT) - updatePending, doing sync qt.scenegraph.renderloop: (RT) sync() qt.quick.dirty: QQuickWindowPrivate::updateDirtyNodes(): qt.scenegraph.renderloop: (RT) - rendering started qt.scenegraph.time.renderer: time in renderer: total=0ms, preprocess=0, updates=0, binding=0, rendering=0 qt.scenegraph.renderloop: (RT) - rendering done qt.scenegraph.renderloop: (RT) - wake Gui after initial expose qt.scenegraph.time.renderloop: Frame rendered with 'threaded' renderloop in 16ms, sync=0, render=1, swap=15 - (on render thread) qt.scenegraph.renderloop: - unlock after sync qt.scenegraph.renderloop: (RT) --- begin processEvents() qt.scenegraph.renderloop: (RT) --- done processEvents() qt.scenegraph.time.renderloop: Frame prepared with 'threaded' renderloop, polish=0, lock=0, blockedForSync=16, animations=0 - (on Gui thread) QQuickView(0xb40088) qt.scenegraph.renderloop: (RT) done drawing, sleep... qt.scenegraph.renderloop: - done with handleExposure() qt.scenegraph.renderloop: (RT) --- begin processEventsAndWaitForMore() qt.scenegraph.renderloop: - polish and sync update request qt.scenegraph.renderloop: polishAndSync (normal) QQuickView(0xb40088) qt.scenegraph.renderloop: - lock for sync qt.scenegraph.renderloop: - wait for sync qt.scenegraph.renderloop: (RT) WM_RequestSync qt.scenegraph.renderloop: (RT) --- done processEventsAndWaitForMore() qt.scenegraph.renderloop: (RT) syncAndRender() qt.scenegraph.renderloop: (RT) - updatePending, doing sync qt.scenegraph.renderloop: (RT) sync() qt.quick.dirty: QQuickWindowPrivate::updateDirtyNodes(): qt.scenegraph.renderloop: (RT) - sync complete, waking Gui qt.scenegraph.renderloop: (RT) - no changes, render aborted qt.scenegraph.renderloop: - unlock after sync qt.scenegraph.time.renderloop: Frame prepared with 'threaded' renderloop, polish=0, lock=0, blockedForSync=0, animations=0 - (on Gui thread) QQuickView(0xb40088) qt.quick.focus: QQuickWindowPrivate::setFocusInScope(): qt.quick.focus: scope: QObject(0x0) qt.quick.focus: item: QQuickRootItem(0xb0dd68) qt.quick.focus: activeFocusItem: QObject(0x0) qt.qpa.input.methods: virtual void QtWaylandClient::QWaylandInputContext::update(Qt::InputMethodQueries) QFlags<Qt::InputMethodQuery>(ImInputItemClipRectangle) qt.qpa.input.methods: virtual void QtWaylandClient::QWaylandInputContext::update(Qt::InputMethodQueries) QFlags<Qt::InputMethodQuery>(ImInputItemClipRectangle) qt.qpa.input.methods: virtual void QtWaylandClient::QWaylandInputContext::setFocusObject(QObject*) qt.scenegraph.renderloop: (RT) --- begin processEvents() qt.scenegraph.renderloop: (RT) --- done processEvents() qt.scenegraph.renderloop: (RT) done drawing, sleep... qt.scenegraph.renderloop: (RT) --- begin processEventsAndWaitForMore() qt.scenegraph.renderloop: exposureChanged() QQuickView(0xb40088) qt.scenegraph.renderloop: handleObscurity() QQuickView(0xb40088) qt.scenegraph.renderloop: (RT) WM_Obscure qt.scenegraph.renderloop: (RT) - window removed qt.scenegraph.renderloop: hide() QQuickView(0xb40088) qt.scenegraph.renderloop: releaseResources() in api-call QQuickView(0xb40088) qt.scenegraph.renderloop: - posting release request to render thread qt.scenegraph.renderloop: (RT) WM_TryRelease qt.scenegraph.renderloop: (RT) - setting exit flag and invalidating OpenGL qt.scenegraph.renderloop: (RT) invalidateOpenGL() qt.scenegraph.renderloop: (RT) - persistent SG, avoiding cleanup qt.scenegraph.renderloop: (RT) --- done processEventsAndWaitForMore() qt.scenegraph.renderloop: (RT) --- begin processEvents() qt.scenegraph.renderloop: (RT) --- done processEvents() qt.scenegraph.renderloop: (RT) done drawing, sleep... qt.scenegraph.renderloop: (RT) --- begin processEventsAndWaitForMore() qt.scenegraph.renderloop: update from item QQuickView(0xb40088) qt.scenegraph.renderloop: update from item QQuickView(0xb40088) qt.scenegraph.renderloop: update from item QQuickView(0xb40088) qt.scenegraph.renderloop: begin windowDestroyed() QQuickWindow(0xb40088) qt.scenegraph.renderloop: handleObscurity() QQuickWindow(0xb40088) qt.scenegraph.renderloop: (RT) WM_Obscure qt.scenegraph.renderloop: releaseResources() in destructor QQuickWindow(0xb40088) qt.scenegraph.renderloop: - using fallback surface qt.scenegraph.renderloop: - posting release request to render thread qt.scenegraph.renderloop: (RT) WM_TryRelease qt.scenegraph.renderloop: (RT) - setting exit flag and invalidating OpenGL qt.scenegraph.renderloop: (RT) invalidateOpenGL() qt.scenegraph.renderloop: (RT) sceneGraphChanged qt.scenegraph.renderloop: update from item QQuickWindow(0xb40088) qt.scenegraph.renderloop: - on render thread qt.scenegraph.renderloop: (RT) - invalidating scene graph qt.scenegraph.renderloop: (RT) - invalidated OpenGL qt.scenegraph.renderloop: (RT) --- done processEventsAndWaitForMore() qt.scenegraph.renderloop: (RT) run() completed qt.scenegraph.renderloop: - waiting for render thread to exit QQuickWindow(0xb40088) qt.scenegraph.renderloop: - render thread finished QQuickWindow(0xb40088) qt.scenegraph.renderloop: done windowDestroyed() QQuickWindow(0xb40088)
We need to figure out if it is libhybris issue or Qt issue or kwin_wayland hwcomposer backend issue.