telegramdesktop / tdesktop

Telegram Desktop messaging app
https://desktop.telegram.org/
Other
25.19k stars 5k forks source link

Picture-in-picture window not staying on top as of 5.2.0 #28135

Closed guihkx closed 3 days ago

guihkx commented 4 days ago

Steps to reproduce

  1. Play any video
  2. Click on the PiP button on Telegram's player
  3. Focus on a different window

Expected behaviour

The PiP window should always stay on top.

Actual behaviour

The PiP window goes into background.

Operating system

Arch Linux, KDE Plasma 6.1.2, X11 session

Version of Telegram Desktop

5.2.0 through 5.2.2

Installation source

Flatpak

Crash ID

No response

Logs

The following message shows up on the terminal whenever I click on the PiP button:

QRhiGles2: Failed to make context current. Expect bad things to happen.
guihkx commented 4 days ago

Maybe caused by one of the commits from #28043?

ilya-fedin commented 4 days ago

The following message shows up on the terminal whenever I click on the PiP button:

Provide the log.txt as instructed when creating the issue

guihkx commented 4 days ago
[2024.07.05 17:03:57] Launched version: 5002002, install beta: [FALSE], alpha: 0, debug mode: [FALSE]
[2024.07.05 17:03:57] Executable dir: /app/bin/, name: telegram-desktop
[2024.07.05 17:03:57] Initial working dir: /home/gui/
[2024.07.05 17:03:57] Working dir: /home/gui/.var/app/org.telegram.desktop/data/TelegramDesktop/
[2024.07.05 17:03:57] Command line: telegram-desktop
[2024.07.05 17:03:57] Executable path before check: /app/bin/telegram-desktop
[2024.07.05 17:03:57] Logs started
[2024.07.05 17:03:57] App ID: org.telegram.desktop
[2024.07.05 17:03:57] Connecting local socket to 3cc098cc909fbcdd6d44f52736b55ae3-TelegramDesktop...
[2024.07.05 17:03:57] Socket connect error 0, starting server and app...
[2024.07.05 17:03:57] Moved logging from '/home/gui/.var/app/org.telegram.desktop/data/TelegramDesktop/log_start0.txt' to '/home/gui/.var/app/org.telegram.desktop/data/TelegramDesktop/log.txt'!
[2024.07.05 17:03:57] Global devicePixelRatio: 1
[2024.07.05 17:03:57] QT_AUTO_SCREEN_SCALE_FACTOR: 0
[2024.07.05 17:03:57] Primary screen DPI: 96, Base: 96.
[2024.07.05 17:03:57] Computed screen scale: 100
[2024.07.05 17:03:57] DevicePixelRatio: 1
[2024.07.05 17:03:57] ScreenScale: 100
[2024.07.05 17:03:57] Icon theme: breeze
[2024.07.05 17:03:57] Fallback icon theme: 
[2024.07.05 17:03:57] Media Info: Type Playback, default: GK106 HDMI Audio Controller Digital Stereo (HDMI), list: { "GK106 HDMI Audio Controller Digital Stereo (HDMI)" <GK106 HDMI Audio Controller Digital Stereo (HDMI)>, "Speakers" <Speakers>, "Headset" <Headset> }, full list refresh: true
[2024.07.05 17:03:57] Media Info: Type Capture, default: Headset Microphone, list: { "Headset Microphone" <Headset Microphone>, "Monitor of Speakers" <Monitor of Speakers>, "Monitor of Headset" <Monitor of Headset>, "Monitor of GK106 HDMI Audio Controller Digital Stereo (HDMI)" <Monitor of GK106 HDMI Audio Controller Digital Stereo (HDMI)> }, full list refresh: true
[2024.07.05 17:03:57] Media Error: Can't sync default device for type Camera, default: , list: {  }
[2024.07.05 17:03:57] App Info: reading settings...
[2024.07.05 17:03:57] App Info: reading encrypted settings...
[2024.07.05 17:03:57] Lang Info: Loaded cached, keys: 7016
[2024.07.05 17:03:57] Font: from ':/gui/fonts/OpenSans-Regular.ttf' loaded 'Open Sans'
[2024.07.05 17:03:57] Font: from ':/gui/fonts/OpenSans-Italic.ttf' loaded 'Open Sans'
[2024.07.05 17:03:57] Font: from ':/gui/fonts/OpenSans-SemiBold.ttf' loaded 'Open Sans'
[2024.07.05 17:03:57] Font: from ':/gui/fonts/OpenSans-SemiBold.ttf' loaded 'Open Sans Semibold'
[2024.07.05 17:03:57] Font: from ':/gui/fonts/OpenSans-SemiBoldItalic.ttf' loaded 'Open Sans'
[2024.07.05 17:03:57] Font: from ':/gui/fonts/OpenSans-SemiBoldItalic.ttf' loaded 'Open Sans Semibold'
[2024.07.05 17:03:57] Font: from ':/gui/fonts/Vazirmatn-UI-NL-Regular.ttf' loaded 'Vazirmatn UI NL'
[2024.07.05 17:03:57] Font: from ':/gui/fonts/Vazirmatn-UI-NL-SemiBold.ttf' loaded 'Vazirmatn UI NL'
[2024.07.05 17:03:57] Font: from ':/gui/fonts/Vazirmatn-UI-NL-SemiBold.ttf' loaded 'Vazirmatn UI NL SemiBold'
[2024.07.05 17:03:57] OpenAL Logging Level: (not set)
[2024.07.05 17:03:57] App Info: reading accounts info...
[2024.07.05 17:03:57] App Info: reading encrypted info...
[2024.07.05 17:03:57] App Info: reading map...
[2024.07.05 17:03:57] App Info: reading encrypted map...
[2024.07.05 17:03:57] App Info: reading encrypted user settings...
[2024.07.05 17:03:57] App Info: encrypted user settings read.
[2024.07.05 17:03:57] App Info: reading encrypted mtp data...
[2024.07.05 17:03:57] MTP Info: read keys, current: 4, to destroy: 0
[2024.07.05 17:03:57] Map read time: 1
[2024.07.05 17:03:57] App Info: reading encrypted mtp config...
[2024.07.05 17:03:57] Export Info: Destroy top bar by controller removal.
[2024.07.05 17:03:57] System tray available: [TRUE]
[2024.07.05 17:03:58] OpenGL Profile: Compatibility.
[2024.07.05 17:03:58] OpenGL Renderer: NVIDIA GeForce GTX 660/PCIe/SSE2
[2024.07.05 17:03:58] OpenGL Vendor: NVIDIA Corporation
[2024.07.05 17:03:58] OpenGL Version: 4.6.0 NVIDIA 470.256.02
[2024.07.05 17:03:58] OpenGL Extensions: GL_ARB_fragment_coord_conventions, GL_ARB_half_float_pixel, GL_NV_vdpau_interop2, GL_NV_command_list, GL_NV_draw_vulkan_image, GL_NV_query_resource, GL_NV_shader_subgroup_partitioned, GL_ARB_query_buffer_object, GL_ARB_texture_cube_map_array, GL_EXT_vertex_attrib_64bit, GL_ARB_shader_group_vote, GL_KHR_context_flush_control, GL_NV_bindless_texture, GL_ARB_draw_instanced, GL_NV_vertex_program2_option, GL_EXT_framebuffer_multisample_blit_scaled, GL_NV_vertex_program2, GL_ARB_framebuffer_no_attachments, GL_ARB_texture_rg, GL_AMD_seamless_cubemap_per_texture, GL_EXT_stencil_two_side, GL_ARB_vertex_attrib_64bit, GL_EXT_texture_compression_dxt1, GL_ARB_sample_shading, GL_ARB_map_buffer_range, GL_S3_s3tc, GL_NV_timeline_semaphore, GL_ARB_texture_compression_bptc, GL_ARB_robust_buffer_access_behavior, GL_EXT_stencil_wrap, GL_ARB_draw_indirect, GL_ARB_texture_mirrored_repeat, GL_NV_shader_atomic_counters, GL_ARB_conservative_depth, GL_ARB_seamless_cubemap_per_texture, GL_ARB_blend_func_extended, GL_NV_texture_rectangle, GL_ARB_shader_objects, GL_ARB_shader_atomic_counters, GL_NV_texture_rectangle_compressed, GL_ARB_gpu_shader_fp64, GL_ARB_direct_state_access, GL_ARB_framebuffer_object, GL_EXT_texture_storage, GL_EXT_vertex_array_bgra, GL_EXT_texture_sRGB_R8, GL_ARB_texture_compression_rgtc, GL_ARB_transform_feedback3, GL_ARB_depth_buffer_float, GL_KHR_robust_buffer_access_behavior, GL_EXT_semaphore, GL_EXT_texture_array, GL_EXT_fog_coord, GL_ARB_sparse_buffer, GL_ARB_texture_buffer_range, GL_ARB_map_buffer_alignment, GL_NV_ES3_1_compatibility, GL_NV_internalformat_sample_query, GL_EXT_framebuffer_object, GL_NV_framebuffer_multisample_coverage, GL_ARB_multi_bind, GL_ARB_texture_mirror_clamp_to_edge, GL_EXT_direct_state_access, GL_NV_shader_thread_group, GL_ARB_transform_feedback_instanced, GL_EXT_texture3D, GL_ARB_shadow, GL_ARB_point_parameters, GL_EXT_compiled_vertex_array, GL_EXT_draw_buffers2, GL_NV_gpu_program_fp64, GL_NV_vertex_program1_1, GL_ARB_conditional_render_inverted, GL_NV_multisample_coverage, GL_ARB_shader_texture_image_samples, GL_ARB_texture_stencil8, GL_ARB_multisample, GL_ATI_texture_float, GL_EXT_blend_color, GL_ARB_vertex_array_object, GL_NV_texture_barrier, GL_ARB_spirv_extensions, GL_EXT_bindable_uniform, GL_EXT_vertex_array, GL_ARB_provoking_vertex, GL_NV_feature_query, GL_ARB_fragment_layer_viewport, GL_KHR_debug, GL_ARB_shader_image_load_store, GL_ARB_shading_language_include, GL_ARB_separate_shader_objects, GL_EXT_texture_compression_rgtc, GL_NV_light_max_exponent, GL_IBM_rasterpos_clip, GL_EXT_texture_compression_s3tc, GL_EXT_texture_filter_anisotropic, GL_NV_texture_env_combine4, GL_NV_copy_depth_to_color, GL_NV_gpu_program5, GL_EXT_texture_env_combine, GL_KTX_buffer_region, GL_EXT_texture_sRGB_decode, GL_ARB_texture_env_dot3, GL_KHR_no_error, GL_EXT_texture_swizzle, GL_ARB_copy_image, GL_EXT_Cg_shader, GL_ARB_fragment_program, GL_NV_ES1_1_compatibility, GL_EXT_framebuffer_blit, GL_NVX_nvenc_interop, GL_ARB_half_float_vertex, GL_ARB_shading_language_100, GL_ARB_indirect_parameters, GL_EXTX_framebuffer_mixed_formats, GL_ARB_shader_image_size, GL_NV_fragment_program_option, GL_EXT_pixel_buffer_object, GL_NV_bindless_multi_draw_indirect, GL_NV_texture_shader2, GL_NV_blend_equation_advanced, GL_EXT_shader_image_load_store, GL_NV_texture_shader3, GL_ARB_cull_distance, GL_ARB_clear_texture, GL_EXT_texture_integer, GL_EXT_texture_env_dot3, GL_NV_texture_compression_vtc, GL_ATI_draw_buffers, GL_EXT_transform_feedback2, GL_NV_geometry_shader4, GL_ARB_compute_shader, GL_ARB_texture_env_combine, GL_NV_uniform_buffer_unified_memory, GL_ARB_occlusion_query2, GL_NV_shader_buffer_load, GL_KHR_shader_subgroup, GL_NV_occlusion_query, GL_ATI_texture_mirror_once, GL_EXT_polygon_offset_clamp, GL_ARB_texture_compression, GL_ARB_vertex_shader, GL_EXT_provoking_vertex, GL_ARB_debug_output, GL_KHR_robustness, GL_ARB_fragment_shader, GL_ARB_ES3_1_compatibility, GL_EXT_x11_sync_object, GL_NV_shader_storage_buffer_object, GL_NVX_conditional_render, GL_KHR_blend_equation_advanced, GL_EXT_shader_integer_mix, GL_ARB_texture_rectangle, GL_ARB_shader_draw_parameters, GL_NVX_progress_fence, GL_NV_depth_clamp, GL_SGIS_texture_lod, GL_ARB_texture_barrier, GL_ARB_texture_buffer_object, GL_OVR_multiview2, GL_ARB_viewport_array, GL_EXT_framebuffer_sRGB, GL_NV_fog_distance, GL_ARB_robustness, GL_ARB_draw_buffers_blend, GL_EXT_shadow_funcs, GL_EXT_texture_compression_latc, GL_EXT_abgr, GL_ARB_clear_buffer_object, GL_EXT_texture_buffer_object, GL_EXT_packed_pixels, GL_SUN_slice_accum, GL_EXT_memory_object, GL_SGIS_generate_mipmap, GL_ARB_depth_clamp, GL_NV_gpu_program5_mem_extended, GL_NV_copy_image, GL_ARB_sampler_objects, GL_EXT_timer_query, GL_ARB_framebuffer_sRGB, GL_ARB_shader_subroutine, GL_ARB_shader_ballot, GL_ARB_draw_buffers, GL_NV_register_combiners, GL_EXT_separate_specular_color, GL_NV_blend_square, GL_ARB_texture_env_crossbar, GL_ARB_derivative_control, GL_NV_half_float, GL_NV_shader_thread_shuffle, GL_ARB_transform_feedback2, GL_NV_bindless_multi_draw_indirect_count, GL_ARB_texture_filter_anisotropic, GL_ARB_texture_env_add, GL_EXT_blend_minmax, GL_NV_gpu_shader5, GL_EXT_blend_equation_separate, GL_EXT_separate_shader_objects, GL_ARB_occlusion_query, GL_ARB_texture_rgb10_a2ui, GL_EXT_texture_env_add, GL_NV_conditional_render, GL_EXT_bgra, GL_ARB_texture_query_levels, GL_NV_fragment_program, GL_ARB_multi_draw_indirect, GL_ARB_polygon_offset_clamp, GL_NV_vertex_attrib_integer_64bit, GL_NV_texture_shader, GL_ARB_texture_storage_multisample, GL_ARB_gpu_shader_int64, GL_ARB_stencil_texturing, GL_EXT_gpu_program_parameters, GL_NV_multisample_filter_hint, GL_NV_robustness_video_memory_purge, GL_ARB_parallel_shader_compile, GL_ARB_explicit_attrib_location, GL_NV_fragment_program2, GL_SGIX_depth_texture, GL_NV_compute_program5, GL_NV_vertex_array_range2, GL_NV_explicit_multisample, GL_ARB_gpu_shader5, GL_ARB_shader_bit_encoding, GL_ARB_instanced_arrays, GL_EXT_depth_bounds_test, GL_ARB_base_instance, GL_ARB_compute_variable_group_size, GL_ARB_ES3_2_compatibility, GL_ARB_get_program_binary, GL_NV_texgen_reflection, GL_EXT_blend_func_separate, GL_ARB_shader_clock, GL_ARB_depth_texture, GL_ARB_fragment_program_shadow, GL_ARB_internalformat_query, GL_ARB_uniform_buffer_object, GL_ARB_multitexture, GL_EXT_texture_cube_map, GL_IBM_texture_mirrored_repeat, GL_ARB_pixel_buffer_object, GL_ARB_bindless_texture, GL_EXT_framebuffer_multisample, GL_NV_vertex_program, GL_ARB_copy_buffer, GL_ARB_internalformat_query2, GL_ARB_texture_swizzle, GL_EXT_texture_edge_clamp, GL_NV_draw_texture, GL_ARB_point_sprite, GL_ARB_seamless_cube_map, GL_EXT_multiview_timer_query, GL_NV_pixel_data_range, GL_ARB_compatibility, GL_ARB_clip_control, GL_EXT_multi_draw_arrays, GL_ARB_enhanced_layouts, GL_EXT_draw_range_elements, GL_NV_vertex_array_range, GL_ARB_texture_cube_map, GL_ARB_texture_storage, GL_ARB_sparse_texture, GL_ARB_texture_float, GL_NV_vdpau_interop, GL_ARB_texture_query_lod, GL_ARB_sync, GL_OVR_multiview, GL_ARB_compressed_texture_pixel_storage, GL_ARB_get_texture_sub_image, GL_ARB_invalidate_subdata, GL_EXT_semaphore_fd, GL_NV_gpu_program4, GL_EXT_gpu_shader4, GL_NV_transform_feedback2, GL_ARB_transpose_matrix, GL_ARB_tessellation_shader, GL_ARB_shading_language_packing, GL_KHR_parallel_shader_compile, GL_NV_fence, GL_NV_vertex_program3, GL_NV_vertex_buffer_unified_memory, GL_EXT_texture_shadow_lod, GL_EXT_rescale_normal, GL_ARB_vertex_attrib_binding, GL_ARB_ES3_compatibility, GL_ARB_window_pos, GL_ARB_vertex_program, GL_EXT_geometry_shader4, GL_EXT_memory_object_fd, GL_ARB_texture_gather, GL_ARB_texture_view, GL_SGIX_shadow, GL_EXT_texture_lod_bias, GL_ARB_imaging, GL_NV_path_rendering, GL_ARB_shader_texture_lod, GL_ARB_texture_border_clamp, GL_ARB_shader_storage_buffer_object, GL_ARB_texture_multisample, GL_EXT_texture_mirror_clamp, GL_NV_texture_multisample, GL_NV_query_resource_tag, GL_EXT_texture_sRGB, GL_NV_gpu_multicast, GL_ARB_vertex_type_2_10_10_10_rev, GL_ARB_timer_query, GL_EXT_point_parameters, GL_ARB_pipeline_statistics_query, GL_NV_parameter_buffer_object2, GL_NV_shader_atomic_float, GL_NV_depth_buffer_float, GL_ARB_gl_spirv, GL_ARB_color_buffer_float, GL_EXT_window_rectangles, GL_EXT_blend_subtract, GL_EXT_packed_depth_stencil, GL_NV_float_buffer, GL_NV_packed_depth_stencil, GL_ARB_shading_language_420pack, GL_NV_point_sprite, GL_NV_gpu_program4_1, GL_NV_register_combiners2, GL_EXT_draw_instanced, GL_ARB_texture_non_power_of_two, GL_NV_transform_feedback, GL_NV_parameter_buffer_object, GL_ARB_vertex_array_bgra, GL_ARB_program_interface_query, GL_NV_alpha_to_coverage_dither_control, GL_NVX_gpu_memory_info, GL_ARB_ES2_compatibility, GL_EXT_texture_lod, GL_EXT_packed_float, GL_EXT_secondary_color, GL_ARB_buffer_storage, GL_AMD_multi_draw_indirect, GL_ARB_arrays_of_arrays, GL_EXT_multiview_texture_multisample, GL_ARB_shader_precision, GL_ARB_transform_feedback_overflow_query, GL_ARB_explicit_uniform_location, GL_ARB_texture_buffer_object_rgb32, GL_ARB_geometry_shader4, GL_EXT_texture_shared_exponent, GL_NV_primitive_restart, GL_ARB_shader_atomic_counter_ops, GL_EXT_texture_object, GL_EXT_import_sync_object, GL_ARB_draw_elements_base_vertex, GL_ARB_vertex_type_10f_11f_11f_rev, GL_ARB_vertex_buffer_object
[2024.07.05 17:03:58] OpenGL: QOpenGLContext created, version: 4.4.
[2024.07.05 17:03:58] OpenGL: [TRUE] (Window)
[2024.07.05 17:04:03] RPC Error: request 57 got fail with code 400, error PEER_ID_INVALID
[2024.07.05 17:04:05] Audio Info: recreating audio device and reattaching the tracks
[2024.07.05 17:04:08] OpenGL: Could not create widget in a window.
[2024.07.05 17:04:08] OpenGL: [FALSE] (PipPanel)
[2024.07.05 17:04:15] Audio Info: Closing audio playback device.
[2024.07.05 17:04:16] OpenGL: [FALSE] (PipPanel)
[2024.07.05 17:04:16] Audio Info: recreating audio device and reattaching the tracks
[2024.07.05 17:04:22] Audio Info: Closing audio playback device.
[2024.07.05 17:05:08] Api::Updates prevents quit, sending offline status...
ilya-fedin commented 4 days ago

Looks like it detected that Qt failed to make the context current for the PiP window and successfully falled back to raster. So it shouldn't be related.

ilya-fedin commented 4 days ago

Maybe caused by one of the commits from #28043?

They also don't look related. They don't touch the PiP window.

ilya-fedin commented 4 days ago

Is it still always on top of the main window?

guihkx commented 4 days ago

Is it still always on top of the main window?

Yes.

ilya-fedin commented 4 days ago

Can you reproduce the problem with 5.1.8 beta? https://github.com/telegramdesktop/tdesktop/releases/tag/v5.1.8

guihkx commented 4 days ago

Yes, the issue also reproduces with 5.1.8.