Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Buggy rendering in voice/video call UI on Windows arm64 #28905

Open
jenatali opened this issue Jan 29, 2025 · 1 comment
Open

Buggy rendering in voice/video call UI on Windows arm64 #28905

jenatali opened this issue Jan 29, 2025 · 1 comment
Labels

Comments

@jenatali
Copy link

Steps to reproduce

  1. Install the OpenCL™, OpenGL®, and Vulkan® Compatibility Pack
  2. Log in to an account
  3. Enter a voice or video call, with a single person or in a group.
  4. Observe flicking / partially missing buttons.

Expected behaviour

The UI should work correctly.

Actual behaviour

See example: Image

Operating system

Windows arm64

Version of Telegram Desktop

5.10.3.0

Installation source

Microsoft Store

Crash ID

No response

Logs

[2025.01.28 16:23:17] Launched version: 5010003, install beta: [FALSE], alpha: 0, debug mode: [FALSE]
[2025.01.28 16:23:17] Executable dir: C:/temp/Telegram/, name: Telegram.exe
[2025.01.28 16:23:17] Initial working dir: C:/temp/Telegram/
[2025.01.28 16:23:17] Working dir: C:/Users/jenatali/AppData/Roaming/Telegram Desktop UWP/
[2025.01.28 16:23:17] Command line: C:\temp\Telegram\Telegram.exe
[2025.01.28 16:23:17] Executable path before check: C:/temp/Telegram/Telegram.exe
[2025.01.28 16:23:17] Logs started
[2025.01.28 16:23:17] AppUserModelID: Telegram.TelegramDesktop.Store
[2025.01.28 16:23:17] Connecting local socket to Global\6f8c52a4f4a6e1f5ea3e542f1f816789-{87A94AB0-E370-4cde-98D3-ACC110C5967D}...
[2025.01.28 16:23:17] This is the only instance of Telegram, starting server and app...
[2025.01.28 16:23:17] Moved logging from 'C:/Users/jenatali/AppData/Roaming/Telegram Desktop UWP/log_start0.txt' to 'C:/Users/jenatali/AppData/Roaming/Telegram Desktop UWP/log.txt'!
[2025.01.28 16:23:17] Opened 'C:/Users/jenatali/AppData/Roaming/Telegram Desktop UWP/tdata/working' for reading, the previous Telegram Desktop launch was not finished properly :( Crash log size: 0
[2025.01.28 16:23:17] Global devicePixelRatio: 1
[2025.01.28 16:23:17] Primary screen DPI: 144, Base: 96.
[2025.01.28 16:23:17] Computed screen scale: 150
[2025.01.28 16:23:17] DevicePixelRatio: 1
[2025.01.28 16:23:17] ScreenScale: 150
[2025.01.28 16:23:17] Media Info: Type Playback, default: {0.0.0.00000000}.{2236029d-15d6-42c4-a24a-7dc7b1987d57}, list: { "Speakers (Qualcomm(R) Aqstic(TM) Audio Adapter Device)" <{0.0.0.00000000}.{2236029d-15d6-42c4-a24a-7dc7b1987d57}>, "Headphones (Qualcomm(R) Aqstic(TM))" <{0.0.0.00000000}.{22cc8437-75d8-4d16-a4a9-a45ab4546fd3}> }, full list refresh: false
[2025.01.28 16:23:17] Media Info: Type Capture, default: {0.0.1.00000000}.{a47d9598-74b3-47e1-aec7-55889ca09342}, list: { "Microphone Array (Qualcomm(R) Aqstic(TM) ACX Static Endpoints Audio Device)" <{0.0.1.00000000}.{a47d9598-74b3-47e1-aec7-55889ca09342}>, "Headset Microphone (Qualcomm(R) Aqstic(TM))" <{0.0.1.00000000}.{c32760eb-99b1-49bd-9f9b-ac3fde3cd5cf}> }, full list refresh: false
[2025.01.28 16:23:17] Media Info: Type Camera, default: \\?\display#qcom_avstream_8380#3&96a77c3&1&uid32768#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{4faeafd4-041b-4e46-85fd-400473891182}, list: { "Surface Camera Front" <\\?\display#qcom_avstream_8380#3&96a77c3&1&uid32768#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{4faeafd4-041b-4e46-85fd-400473891182}> }, full list refresh: true
[2025.01.28 16:23:17] App Info: reading settings...
[2025.01.28 16:23:17] App Info: reading encrypted settings...
[2025.01.28 16:23:17] Lang Info: Loaded cached, keys: 8103
[2025.01.28 16:23:17] Font: from ':/gui/fonts/OpenSans-Regular.ttf' loaded 'Open Sans'
[2025.01.28 16:23:17] Font: from ':/gui/fonts/OpenSans-Italic.ttf' loaded 'Open Sans'
[2025.01.28 16:23:17] Font: from ':/gui/fonts/OpenSans-SemiBold.ttf' loaded 'Open Sans'
[2025.01.28 16:23:17] Font: from ':/gui/fonts/OpenSans-SemiBold.ttf' loaded 'Open Sans Semibold'
[2025.01.28 16:23:17] Font: from ':/gui/fonts/OpenSans-SemiBoldItalic.ttf' loaded 'Open Sans'
[2025.01.28 16:23:17] Font: from ':/gui/fonts/OpenSans-SemiBoldItalic.ttf' loaded 'Open Sans Semibold'
[2025.01.28 16:23:17] Font: from ':/gui/fonts/Vazirmatn-UI-NL-Regular.ttf' loaded 'Vazirmatn UI NL'
[2025.01.28 16:23:17] Font: from ':/gui/fonts/Vazirmatn-UI-NL-SemiBold.ttf' loaded 'Vazirmatn UI NL'
[2025.01.28 16:23:17] Font: from ':/gui/fonts/Vazirmatn-UI-NL-SemiBold.ttf' loaded 'Vazirmatn UI NL SemiBold'
[2025.01.28 16:23:19] OpenAL Logging Level: (not set)
[2025.01.28 16:23:19] App Info: reading accounts info...
[2025.01.28 16:23:19] App Info: reading encrypted info...
[2025.01.28 16:23:19] App Info: reading map...
[2025.01.28 16:23:19] App Info: reading encrypted map...
[2025.01.28 16:23:19] App Info: reading encrypted user settings...
[2025.01.28 16:23:19] App Info: encrypted user settings read.
[2025.01.28 16:23:19] App Info: reading encrypted mtp data...
[2025.01.28 16:23:19] MTP Info: read keys, current: 3, to destroy: 0
[2025.01.28 16:23:19] Map read time: 14
[2025.01.28 16:23:19] App Info: reading encrypted mtp config...
[2025.01.28 16:23:19] Export Info: Destroy top bar by controller removal.
[2025.01.28 16:23:19] OpenGL: Using custom 'gpu_driver_bug_list.json'.
[2025.01.28 16:23:20] OpenGL Profile: Compatibility.
[2025.01.28 16:23:20] OpenGL Renderer: D3D12 (Qualcomm(R) Adreno(TM) X1-85 GPU)
[2025.01.28 16:23:20] OpenGL Vendor: Microsoft Corporation
[2025.01.28 16:23:20] OpenGL Version: 4.6 (Compatibility Profile) Mesa 25.0.0-devel (git-0f5bd032eb)
[2025.01.28 16:23:20] OpenGL Extensions: GL_ARB_blend_func_extended, GL_EXT_draw_instanced, GL_ARB_framebuffer_object, GL_MESA_framebuffer_flip_y, GL_ARB_buffer_storage, GL_ARB_framebuffer_no_attachments, GL_AMD_conservative_depth, GL_ARB_shading_language_100, GL_ARB_clear_texture, GL_ARB_texture_gather, GL_ARB_half_float_pixel, GL_ARB_invalidate_subdata, GL_ARB_ES3_1_compatibility, GL_ARB_framebuffer_sRGB, GL_ARB_map_buffer_alignment, GL_ARB_transform_feedback3, GL_ARB_derivative_control, GL_ARB_seamless_cube_map, GL_NV_ES1_1_compatibility, GL_ARB_multi_draw_indirect, GL_ARB_indirect_parameters, GL_ARB_shader_image_size, GL_EXT_shadow_funcs, GL_NV_primitive_restart, GL_ARB_sync, GL_ARB_gpu_shader_int64, GL_EXT_polygon_offset_clamp, GL_SGIS_texture_lod, GL_KHR_robust_buffer_access_behavior, GL_ARB_multisample, GL_ARB_debug_output, GL_MESA_window_pos, GL_ARB_texture_mirrored_repeat, GL_ARB_cull_distance, GL_ARB_texture_rgb10_a2ui, GL_ARB_texture_buffer_object_rgb32, GL_ARB_color_buffer_float, GL_ARB_stencil_texturing, GL_EXT_texture_storage, GL_EXT_texture, GL_INGR_blend_func_separate, GL_EXT_vertex_array, GL_NV_depth_clamp, GL_NV_packed_depth_stencil, GL_ARB_compute_shader, GL_EXT_vertex_attrib_64bit, GL_ARB_draw_instanced, GL_ARB_transform_feedback_overflow_query, GL_EXT_EGL_sync, GL_EXT_texture_cube_map, GL_ARB_tessellation_shader, GL_ARB_internalformat_query2, GL_ARB_instanced_arrays, GL_SGIS_generate_mipmap, GL_ARB_map_buffer_range, GL_KHR_context_flush_control, GL_ARB_texture_env_crossbar, GL_ARB_texture_rg, GL_ARB_draw_elements_base_vertex, GL_EXT_pixel_buffer_object, GL_EXT_subtexture, GL_NV_texture_env_combine4, GL_ARB_get_texture_sub_image, GL_ARB_timer_query, GL_ARB_fragment_program_shadow, GL_EXT_texture_sRGB_decode, GL_ARB_sampler_objects, GL_ARB_shadow, GL_ARB_depth_texture, GL_NVX_gpu_memory_info, GL_EXT_texture_filter_anisotropic, GL_KHR_texture_compression_astc_sliced_3d, GL_ARB_ES3_compatibility, GL_ARB_texture_buffer_range, GL_ARB_compressed_texture_pixel_storage, GL_ARB_base_instance, GL_ARB_texture_non_power_of_two, GL_IBM_texture_mirrored_repeat, GL_AMD_texture_texture4, GL_ARB_shading_language_420pack, GL_NV_fog_distance, GL_EXT_framebuffer_multisample, GL_ARB_texture_mirror_clamp_to_edge, GL_ARB_vertex_attrib_binding, GL_ARB_point_sprite, GL_EXT_texture_lod_bias, GL_EXT_blend_minmax, GL_ARB_vertex_buffer_object, GL_ARB_transform_feedback_instanced, GL_ARB_separate_shader_objects, GL_EXT_vertex_array_bgra, GL_ARB_shader_image_load_store, GL_ATI_fragment_shader, GL_MESA_pack_invert, GL_ARB_texture_multisample, GL_EXT_framebuffer_object, GL_ARB_occlusion_query, GL_ARB_shader_ballot, GL_EXT_point_parameters, GL_EXT_rescale_normal, GL_EXT_texture_compression_rgtc, GL_ATI_separate_stencil, GL_EXT_blend_subtract, GL_ARB_robust_buffer_access_behavior, GL_EXT_EGL_image_storage_compression, GL_ARB_vertex_type_10f_11f_11f_rev, GL_ARB_robustness, GL_AMD_vertex_shader_viewport_index, GL_ARB_fragment_shader, GL_ARB_gl_spirv, GL_ARB_texture_view, GL_ARB_program_interface_query, GL_AMD_multi_draw_indirect, GL_ARB_conditional_render_inverted, GL_ARB_copy_buffer, GL_ARB_enhanced_layouts, GL_EXT_fog_coord, GL_EXT_compiled_vertex_array, GL_ARB_shader_precision, GL_EXT_semaphore, GL_ARB_occlusion_query2, GL_EXT_texture_env_dot3, GL_SGIS_texture_edge_clamp, GL_EXT_separate_specular_color, GL_EXT_framebuffer_blit, GL_AMD_shader_stencil_export, GL_ARB_vertex_array_object, GL_EXT_EGL_image_storage, GL_EXT_texture_integer, GL_EXT_multi_draw_arrays, GL_AMD_draw_buffers_blend, GL_S3_s3tc, GL_NV_texture_rectangle, GL_ARB_texture_cube_map, GL_EXT_framebuffer_multisample_blit_scaled, GL_ARB_vertex_attrib_64bit, GL_ARB_uniform_buffer_object, GL_EXT_texture_snorm, GL_ATI_blend_equation_separate, GL_ARB_conservative_depth, GL_ARB_texture_stencil8, GL_EXT_gpu_shader4, GL_ARB_query_buffer_object, GL_ARB_shader_atomic_counter_ops, GL_ARB_parallel_shader_compile, GL_ARB_provoking_vertex, GL_ANGLE_texture_compression_dxt3, GL_NV_blend_square, GL_EXT_texture_object, GL_ARB_texture_env_add, GL_ARB_texture_float, GL_ARB_draw_buffers, GL_ARB_internalformat_query, GL_NV_half_float, GL_ARB_point_parameters, GL_EXT_texture3D, GL_ARB_vertex_shader, GL_ARB_texture_filter_anisotropic, GL_ARB_shader_objects, GL_EXT_gpu_program_parameters, GL_MESA_shader_integer_functions, GL_ARB_polygon_offset_clamp, GL_ARB_window_pos, GL_EXT_texture_edge_clamp, GL_EXT_provoking_vertex, GL_AMD_query_buffer_object, GL_NV_copy_image, GL_KHR_debug, GL_EXT_debug_label, GL_EXT_stencil_two_side, GL_IBM_rasterpos_clip, GL_ARB_spirv_extensions, GL_ARB_compatibility, GL_EXT_texture_shared_exponent, GL_ARB_gpu_shader5, GL_ARB_vertex_program, GL_EXT_texture_buffer_object, GL_ARB_texture_env_combine, GL_ARB_texture_compression_rgtc, GL_ARB_draw_buffers_blend, GL_ARB_explicit_uniform_location, GL_ANGLE_texture_compression_dxt5, GL_ARB_fragment_program, GL_ARB_texture_barrier, GL_SUN_multi_draw_arrays, GL_ARB_viewport_array, GL_ARB_depth_clamp, GL_EXT_secondary_color, GL_ARB_compute_variable_group_size, GL_ARB_direct_state_access, GL_ARB_ES2_compatibility, GL_ARB_shading_language_packing, GL_ARB_pixel_buffer_object, GL_ARB_texture_compression_bptc, GL_EXT_texture_rectangle, GL_ARB_texture_storage, GL_EXT_draw_range_elements, GL_EXT_texture_array, GL_EXT_copy_texture, GL_ARB_explicit_attrib_location, GL_EXT_texture_env_add, GL_ARB_texture_query_levels, GL_EXT_blend_equation_separate, GL_NV_light_max_exponent, GL_NV_texgen_reflection, GL_ARB_shader_stencil_export, GL_MESA_texture_signed_rgba, GL_ARB_shader_storage_buffer_object, GL_NV_conditional_render, GL_ARB_arrays_of_arrays, GL_ARB_ES3_2_compatibility, GL_EXT_texture_compression_dxt1, GL_AMD_vertex_shader_layer, GL_ARB_shading_language_include, GL_EXT_framebuffer_sRGB, GL_ARB_vertex_type_2_10_10_10_rev, GL_ARB_get_program_binary, GL_KHR_texture_compression_astc_ldr, GL_EXT_blend_func_separate, GL_EXT_memory_object, GL_ATI_meminfo, GL_ARB_multitexture, GL_EXT_texture_compression_s3tc, GL_ARB_shader_group_vote, GL_ARB_multi_bind, GL_SGIS_texture_border_clamp, GL_ARB_texture_rectangle, GL_ARB_sample_shading, GL_EXT_draw_buffers2, GL_EXT_abgr, GL_ARB_clip_control, GL_ARB_texture_border_clamp, GL_IBM_multimode_draw_arrays, GL_ATI_texture_env_combine3, GL_EXT_texture_swizzle, GL_ARB_pipeline_statistics_query, GL_ARB_texture_swizzle, GL_EXT_shader_integer_mix, GL_ARB_fragment_coord_conventions, GL_ARB_transform_feedback2, GL_ARB_vertex_array_bgra, GL_ARB_fragment_layer_viewport, GL_EXT_packed_pixels, GL_ARB_texture_compression, GL_EXT_stencil_wrap, GL_KHR_no_error, GL_KHR_parallel_shader_compile, GL_ARB_shader_subroutine, GL_EXT_packed_depth_stencil, GL_EXT_bgra, GL_EXT_semaphore_win32, GL_ARB_texture_storage_multisample, GL_ARB_depth_buffer_float, GL_EXT_transform_feedback, GL_ARB_copy_image, GL_ARB_texture_env_dot3, GL_EXT_blend_color, GL_KHR_robustness, GL_ARB_shader_texture_image_samples, GL_ARB_shader_texture_lod, GL_EXT_memory_object_win32, GL_ARB_transpose_matrix, GL_EXT_texture_env_combine, GL_ARB_texture_cube_map_array, GL_ARB_shader_atomic_counters, GL_EXT_texture_sRGB, GL_NV_texture_barrier, GL_ARB_texture_query_lod, GL_OES_read_format, GL_OES_EGL_image, GL_EXT_direct_state_access, GL_ARB_draw_indirect, GL_ARB_gpu_shader_fp64, GL_ATI_draw_buffers, GL_ARB_shader_draw_parameters, GL_ATI_texture_float, GL_AMD_shader_trinary_minmax, GL_ARB_texture_buffer_object, GL_ARB_half_float_vertex, GL_APPLE_packed_pixels, GL_ARB_clear_buffer_object, GL_EXT_timer_query, GL_EXT_packed_float, GL_ARB_shader_bit_encoding
[2025.01.28 16:23:20] OpenGL: QOpenGLContext created, version: 4.4.
[2025.01.28 16:23:20] OpenGL: [TRUE] (Window)
[2025.01.28 16:23:23] Call Info: Creating group instance
[2025.01.28 16:23:23] Call Info: Requesting join payload.
[2025.01.28 16:23:24] OpenGL: [TRUE] (Window)
[2025.01.28 16:23:24] Call Info: Join payload received, joining with ssrc: 1390200767.
[2025.01.28 16:23:27] Audio Info: recreating audio device and reattaching the tracks
[2025.01.28 16:23:28] Audio Info: Closing audio playback device.
@jenatali jenatali added the bug label Jan 29, 2025
@jenatali
Copy link
Author

For more context, I'm a developer for the GL driver that's mentioned in that log. This is the GL stack that's used for Windows on ARM64, when that compatibility pack is installed. This issue was forwarded my way but I'm pretty sure this is a bug higher in the stack. When I tried to debug, it looks like the only usage of GL here was sending fully-rendered already broken images down to the GL stack. I also tried dropping in other GL drivers.

Note that the issue doesn't reproduce if there's no GL driver available. This issue doesn't reproduce through the versions that are shipped for x64, I presume since those are using an older version of Qt with ANGLE (based on skimming this repo and its history). I haven't tried building it myself, so that I could use Qt 6 on x64 to isolate the CPU architecture aspect of it.

It's unclear if this is a Telegram bug or a Qt bug, but it's probably not my bug. If necessary, we can look at preventing this GL driver from being used for Telegram, but I'd prefer to wait until you've had a chance to take a look.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant