telegramdesktop / tdesktop

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

Linux desktop app is horrifically sluggish on KDE Plasma 6.1.1 and Nvidia/X11 openSUSE Tumbleweed #28097

Closed kanpov closed 4 months ago

kanpov commented 4 months ago

Steps to reproduce

  1. Install latest openSUSE Tumbleweed snapshot
  2. Install native Telegram Desktop (sudo zypper in telegram-desktop)
  3. Open the app and authenticate
  4. Try to use the app by clicking on various elements

Expected behaviour

Smooth behavior like in all other environments

Actual behaviour

Extreme lag and sluggishness for some reason

Operating system

openSUSE Tumbleweed Linux, 20240628, KDE Plasma 6.1.1, X11, Nvidia proprietary driver

Version of Telegram Desktop

5.1.7

Installation source

Other (unofficial) source

Crash ID

No response

Logs

[2024.06.29 21:28:55] Launched version: 5001007, install beta: [FALSE], alpha: 0, debug mode: [FALSE]
[2024.06.29 21:28:55] Executable dir: /usr/bin/, name: telegram-desktop
[2024.06.29 21:28:55] Initial working dir: /home/kanpov/
[2024.06.29 21:28:55] Working dir: /home/kanpov/.local/share/TelegramDesktop/
[2024.06.29 21:28:55] Command line: /usr/bin/telegram-desktop
[2024.06.29 21:28:55] Executable path before check: /usr/bin/telegram-desktop
[2024.06.29 21:28:55] Logs started
[2024.06.29 21:28:55] App ID: org.telegram.desktop
[2024.06.29 21:28:55] Connecting local socket to c2ed9d1f67231855e797b6ecfa192e76-TelegramDesktop...
[2024.06.29 21:28:55] Socket connect error 0, starting server and app...
[2024.06.29 21:28:55] Moved logging from '/home/kanpov/.local/share/TelegramDesktop/log_start0.txt' to '/home/kanpov/.local/share/TelegramDesktop/log.txt'!
[2024.06.29 21:28:55] Global devicePixelRatio: 1
[2024.06.29 21:28:55] QT_AUTO_SCREEN_SCALE_FACTOR: 0
[2024.06.29 21:28:55] QT_SCREEN_SCALE_FACTORS: DP-1=1.25;DP-2=1.25;DP-3=1.25;HDMI-1=1.25;
[2024.06.29 21:28:55] Primary screen DPI: 120, Base: 96.
[2024.06.29 21:28:55] Computed screen scale: 125
[2024.06.29 21:28:55] DevicePixelRatio: 1
[2024.06.29 21:28:55] ScreenScale: 125
[2024.06.29 21:28:55] Icon theme: breeze-dark
[2024.06.29 21:28:55] Fallback icon theme: breeze
[2024.06.29 21:28:55] Media Info: Type Playback, default: Family 17h (Models 00h-0fh) HD Audio Controller Analog Stereo, list: { "Family 17h (Models 00h-0fh) HD Audio Controller Analog Stereo" <Family 17h (Models 00h-0fh) HD Audio Controller Analog Stereo>, "GA102 High Definition Audio Controller Digital Stereo (HDMI)" <GA102 High Definition Audio Controller Digital Stereo (HDMI)> }, full list refresh: true
[2024.06.29 21:28:55] Media Info: Type Capture, default: Family 17h (Models 00h-0fh) HD Audio Controller Analog Stereo, list: { "Family 17h (Models 00h-0fh) HD Audio Controller Analog Stereo" <Family 17h (Models 00h-0fh) HD Audio Controller Analog Stereo>, "Monitor of Family 17h (Models 00h-0fh) HD Audio Controller Analog Stereo" <Monitor of Family 17h (Models 00h-0fh) HD Audio Controller Analog Stereo>, "Monitor of GA102 High Definition Audio Controller Digital Stereo (HDMI)" <Monitor of GA102 High Definition Audio Controller Digital Stereo (HDMI)>, "QuickCam UpdateMe Analog Stereo" <QuickCam UpdateMe Analog Stereo> }, full list refresh: true
[2024.06.29 21:28:55] Media Info: Type Camera, default: usb-0000:0a:00.3-2, list: { "UVC Camera (046d:08cf)" <usb-0000:0a:00.3-2> }, full list refresh: true
[2024.06.29 21:28:55] System tray available: [TRUE]
[2024.06.29 21:28:55] App Info: reading settings...
[2024.06.29 21:28:55] App Info: reading encrypted settings...
[2024.06.29 21:28:55] Lang Info: Loaded cached, keys: 7016
[2024.06.29 21:28:55] OpenAL Logging Level: (not set)
[2024.06.29 21:28:55] App Info: reading accounts info...
[2024.06.29 21:28:55] App Info: reading encrypted info...
[2024.06.29 21:28:55] App Info: reading map...
[2024.06.29 21:28:55] App Info: reading encrypted map...
[2024.06.29 21:28:55] App Info: reading encrypted user settings...
[2024.06.29 21:28:55] App Info: encrypted user settings read.
[2024.06.29 21:28:55] App Info: reading encrypted mtp data...
[2024.06.29 21:28:55] MTP Info: read keys, current: 3, to destroy: 0
[2024.06.29 21:28:55] Map read time: 2
[2024.06.29 21:28:55] App Info: reading encrypted mtp config...
[2024.06.29 21:28:55] Export Info: Destroy top bar by controller removal.
[2024.06.29 21:28:56] OpenGL Profile: Compatibility.
[2024.06.29 21:28:56] OpenGL Renderer: NVIDIA GeForce RTX 3090 Ti/PCIe/SSE2
[2024.06.29 21:28:56] OpenGL Vendor: NVIDIA Corporation
[2024.06.29 21:28:56] OpenGL Version: 4.6.0 NVIDIA 550.90.07
[2024.06.29 21:28:56] OpenGL Extensions: GL_ARB_polygon_offset_clamp, GL_EXT_texture_sRGB_R8, GL_ARB_compressed_texture_pixel_storage, GL_ARB_texture_query_lod, GL_ARB_spirv_extensions, GL_EXT_memory_object, GL_NV_gpu_multicast, GL_ARB_shader_image_size, GL_NV_compute_program5, GL_EXT_Cg_shader, GL_EXT_separate_shader_objects, GL_EXT_bindable_uniform, GL_ARB_ES3_compatibility, GL_NV_texture_shader3, GL_ARB_depth_clamp, GL_ARB_internalformat_query2, GL_NV_uniform_buffer_unified_memory, GL_ATI_texture_mirror_once, GL_EXT_stencil_wrap, GL_AMD_vertex_shader_layer, GL_EXT_shadow_funcs, GL_NV_gpu_program5, GL_ARB_seamless_cube_map, GL_NV_vertex_program, GL_ARB_texture_query_levels, GL_ARB_multitexture, GL_NV_depth_clamp, GL_NV_stereo_view_rendering, GL_ARB_texture_cube_map, GL_EXT_depth_bounds_test, GL_NV_memory_object_sparse, GL_ARB_half_float_pixel, GL_ARB_debug_output, GL_ARB_point_parameters, GL_ARB_window_pos, GL_ARB_draw_buffers, GL_NV_blend_minmax_factor, GL_EXT_post_depth_coverage, GL_NV_shader_atomic_fp16_vector, GL_EXT_semaphore_fd, GL_ATI_texture_float, GL_ARB_draw_instanced, GL_ARB_map_buffer_range, GL_EXT_timer_query, GL_AMD_seamless_cubemap_per_texture, GL_ARB_copy_image, GL_ARB_fragment_program_shadow, GL_ARB_shader_viewport_layer_array, GL_ARB_texture_mirror_clamp_to_edge, GL_ARB_timer_query, GL_KTX_buffer_region, GL_ARB_fragment_shader_interlock, GL_NV_shader_atomic_counters, GL_ARB_shading_language_420pack, GL_EXT_vertex_attrib_64bit, GL_ARB_conditional_render_inverted, GL_ARB_sparse_buffer, GL_ARB_color_buffer_float, GL_NV_timeline_semaphore, GL_EXT_shader_image_load_formatted, GL_NV_texture_dirty_tile_map, GL_EXT_texture_sRGB, GL_NV_draw_vulkan_image, GL_ARB_texture_border_clamp, GL_ARB_direct_state_access, GL_ARB_framebuffer_object, GL_NV_path_rendering_shared_edge, GL_SGIS_generate_mipmap, GL_EXT_blend_func_separate, GL_ARB_texture_compression_rgtc, GL_ARB_cull_distance, GL_EXT_draw_instanced, GL_ARB_texture_compression_bptc, GL_ARB_texture_rg, GL_ARB_shadow, GL_NV_shading_rate_image, GL_ARB_texture_env_add, GL_AMD_multi_draw_indirect, GL_EXT_geometry_shader4, GL_ATI_draw_buffers, GL_EXT_separate_specular_color, GL_KHR_robustness, GL_NV_fog_distance, GL_EXT_direct_state_access, GL_EXT_framebuffer_multisample_blit_scaled, GL_EXT_vertex_array, GL_NV_internalformat_sample_query, GL_ARB_shading_language_100, GL_NV_texture_rectangle_compressed, GL_EXT_raster_multisample, GL_ARB_shading_language_packing, GL_OVR_multiview2, GL_ARB_texture_stencil8, GL_ARB_buffer_storage, GL_ARB_draw_buffers_blend, GL_NV_compute_shader_derivatives, GL_EXT_texture_compression_dxt1, GL_EXT_transform_feedback2, GL_NV_fragment_coverage_to_color, GL_ARB_post_depth_coverage, GL_ARB_depth_buffer_float, GL_EXTX_framebuffer_mixed_formats, GL_ARB_draw_indirect, GL_ARB_derivative_control, GL_NVX_progress_fence, GL_EXT_texture_shared_exponent, GL_NV_bindless_texture, GL_NV_gpu_program_fp64, GL_NV_vertex_program3, GL_EXT_blend_color, GL_S3_s3tc, GL_ARB_enhanced_layouts, GL_ARB_framebuffer_no_attachments, GL_EXT_bgra, GL_NV_register_combiners2, GL_NV_sample_locations, GL_NVX_nvenc_interop, GL_NV_scissor_exclusive, GL_EXT_texture_compression_s3tc, GL_ARB_vertex_array_bgra, GL_ARB_fragment_program, GL_ARB_texture_compression, GL_ARB_sample_locations, GL_EXT_packed_float, GL_AMD_vertex_shader_viewport_index, GL_ARB_texture_gather, GL_NV_mesh_shader, GL_NV_shader_storage_buffer_object, GL_NV_transform_feedback2, GL_EXT_texture_edge_clamp, GL_NV_feature_query, GL_ARB_explicit_uniform_location, GL_ARB_vertex_attrib_64bit, GL_NV_blend_square, GL_ARB_get_program_binary, GL_NV_viewport_swizzle, GL_EXT_texture_swizzle, GL_ARB_gpu_shader5, GL_NV_bindless_multi_draw_indirect, GL_NV_fragment_program2, GL_ARB_pipeline_statistics_query, GL_EXT_texture_lod_bias, GL_NV_parameter_buffer_object, GL_NV_ES1_1_compatibility, GL_ARB_provoking_vertex, GL_ARB_texture_buffer_range, GL_NVX_blend_equation_advanced_multi_draw_buffers, GL_ARB_conservative_depth, GL_ARB_get_texture_sub_image, GL_EXT_texture3D, GL_EXT_compiled_vertex_array, GL_ARB_gpu_shader_int64, GL_NV_copy_depth_to_color, GL_EXT_texture_env_add, GL_ARB_imaging, GL_ARB_clip_control, GL_NV_shader_subgroup_partitioned, GL_ARB_texture_swizzle, GL_ARB_transform_feedback_overflow_query, GL_NVX_conditional_render, GL_ARB_texture_mirrored_repeat, GL_EXT_blend_equation_separate, GL_EXT_sparse_texture2, GL_EXT_stencil_two_side, GL_EXT_texture_filter_anisotropic, GL_ARB_vertex_array_object, GL_ARB_internalformat_query, GL_NV_light_max_exponent, GL_ARB_instanced_arrays, GL_EXT_secondary_color, GL_ARB_shader_subroutine, GL_ARB_gpu_shader_fp64, GL_NV_fragment_shader_barycentric, GL_ARB_shading_language_include, GL_NV_geometry_shader4, GL_NV_texture_shader, GL_NV_gpu_program4_1, GL_ARB_fragment_shader, GL_EXT_gpu_program_parameters, GL_EXT_texture_sRGB_decode, GL_NV_gpu_program4, GL_ARB_shader_bit_encoding, GL_NV_depth_buffer_float, GL_ARB_query_buffer_object, GL_NV_shader_buffer_load, GL_NV_conservative_raster_pre_snap, GL_NV_framebuffer_mixed_samples, GL_IBM_rasterpos_clip, GL_ARB_fragment_coord_conventions, GL_NV_vertex_array_range2, GL_EXT_point_parameters, GL_EXT_draw_range_elements, GL_NV_fragment_shader_interlock, GL_NV_sample_mask_override_coverage, GL_EXT_texture_object, GL_ARB_bindless_texture, GL_ARB_blend_func_extended, GL_NV_query_resource, GL_NV_parameter_buffer_object2, GL_EXT_framebuffer_object, GL_EXT_semaphore, GL_NV_texture_env_combine4, GL_EXT_framebuffer_blit, GL_EXT_texture_integer, GL_EXT_texture_compression_latc, GL_EXT_x11_sync_object, GL_NV_alpha_to_coverage_dither_control, GL_NV_shader_atomic_float64, GL_ARB_half_float_vertex, GL_ARB_sync, GL_ARB_transform_feedback2, GL_NV_viewport_array2, GL_NV_copy_image, GL_ARB_shader_texture_lod, GL_EXT_vertex_array_bgra, GL_ARB_texture_non_power_of_two, GL_ARB_shader_texture_image_samples, GL_ARB_texture_buffer_object, GL_NV_shader_thread_group, GL_ARB_multisample, GL_NV_point_sprite, GL_KHR_blend_equation_advanced_coherent, GL_ARB_shader_draw_parameters, GL_NV_command_list, GL_NV_conservative_raster, GL_ARB_sampler_objects, GL_ARB_texture_env_combine, GL_NV_explicit_multisample, GL_NV_conditional_render, GL_EXT_import_sync_object, GL_EXT_texture_cube_map, GL_NV_float_buffer, GL_KHR_blend_equation_advanced, GL_NV_shader_atomic_float, GL_ARB_texture_multisample, GL_NV_query_resource_tag, GL_ARB_occlusion_query2, GL_ARB_texture_env_dot3, GL_KHR_robust_buffer_access_behavior, GL_EXT_texture_buffer_object, GL_NV_uniform_buffer_std430_layout, GL_NV_multisample_coverage, GL_ARB_multi_bind, GL_ARB_multi_draw_indirect, GL_ARB_texture_storage_multisample, GL_EXT_provoking_vertex, GL_NV_fragment_program, GL_NV_clip_space_w_scaling, GL_NV_texture_multisample, GL_KHR_debug, GL_KHR_parallel_shader_compile, GL_ARB_ES2_compatibility, GL_NV_fill_rectangle, GL_NV_pixel_data_range, GL_NV_geometry_shader_passthrough, GL_IBM_texture_mirrored_repeat, GL_ARB_vertex_type_10f_11f_11f_rev, GL_ARB_shader_ballot, GL_NV_vdpau_interop, GL_ARB_transform_feedback_instanced, GL_NV_texture_barrier, GL_NV_texture_shader2, GL_EXT_packed_depth_stencil, GL_ARB_viewport_array, GL_NV_blend_equation_advanced, GL_ARB_depth_texture, GL_EXT_window_rectangles, GL_ARB_compute_shader, GL_EXT_draw_buffers2, GL_NV_vertex_program2, GL_OVR_multiview, GL_EXT_memory_object_fd, GL_NV_vertex_attrib_integer_64bit, GL_ARB_texture_rectangle, GL_EXT_texture_compression_rgtc, GL_EXT_pixel_buffer_object, GL_NV_conservative_raster_pre_snap_triangles, GL_NV_primitive_restart, GL_NV_shader_atomic_int64, GL_ARB_fragment_layer_viewport, GL_EXT_texture_filter_minmax, GL_NV_vertex_program2_option, GL_KHR_context_flush_control, GL_NV_ES3_1_compatibility, GL_NV_vertex_buffer_unified_memory, GL_ARB_texture_barrier, GL_NV_gpu_shader5, GL_ARB_vertex_type_2_10_10_10_rev, GL_ARB_map_buffer_alignment, GL_ARB_ES3_2_compatibility, GL_NV_framebuffer_multisample_coverage, GL_EXT_framebuffer_sRGB, GL_ARB_shader_precision, GL_ARB_vertex_attrib_binding, GL_ARB_point_sprite, GL_NV_texture_compression_vtc, GL_ARB_uniform_buffer_object, GL_NV_primitive_shading_rate, GL_NV_packed_depth_stencil, GL_NV_representative_fragment_test, GL_NV_vdpau_interop2, GL_NV_conservative_raster_dilate, GL_ARB_pixel_buffer_object, GL_ARB_base_instance, GL_ARB_shader_storage_buffer_object, GL_EXT_multi_draw_arrays, GL_ARB_texture_storage, GL_EXT_texture_env_combine, GL_NV_register_combiners, GL_ARB_occlusion_query, GL_ARB_shader_atomic_counter_ops, GL_ARB_sparse_texture2, GL_ARB_sparse_texture, GL_EXT_blend_subtract, GL_EXT_multiview_timer_query, GL_NV_draw_texture, GL_ARB_vertex_shader, GL_ARB_draw_elements_base_vertex, GL_NV_shader_thread_shuffle, GL_EXT_texture_array, GL_ARB_arrays_of_arrays, GL_EXT_texture_env_dot3, GL_NV_fence, GL_EXT_texture_mirror_clamp, GL_ARB_texture_filter_minmax, GL_NV_gpu_program5_mem_extended, GL_ARB_invalidate_subdata, GL_EXT_packed_pixels, GL_ARB_stencil_texturing, GL_EXT_rescale_normal, GL_NV_vertex_program1_1, GL_NV_occlusion_query, GL_ARB_vertex_program, GL_NV_multisample_filter_hint, GL_KHR_no_error, GL_ARB_robustness, GL_EXT_texture_lod, GL_ARB_transpose_matrix, GL_NV_bindless_multi_draw_indirect_count, GL_ARB_texture_filter_anisotropic, GL_NV_shader_texture_footprint, GL_ARB_texture_env_crossbar, GL_ARB_separate_shader_objects, GL_ARB_texture_buffer_object_rgb32, GL_EXT_shader_integer_mix, GL_ARB_clear_buffer_object, GL_ARB_shader_atomic_counters, GL_EXT_polygon_offset_clamp, GL_EXT_abgr, GL_ARB_parallel_shader_compile, GL_ARB_sparse_texture_clamp, GL_EXT_texture_shadow_lod, GL_ARB_transform_feedback3, GL_NV_robustness_video_memory_purge, GL_ARB_program_interface_query, GL_ARB_shader_clock, GL_ARB_shader_objects, GL_ARB_seamless_cubemap_per_texture, GL_ARB_framebuffer_sRGB, GL_ARB_texture_view, GL_ARB_compatibility, GL_EXT_fog_coord, GL_NV_vertex_array_range, GL_ARB_sample_shading, GL_SUN_slice_accum, GL_NV_conservative_raster_underestimation, GL_NV_fragment_program_option, GL_NV_transform_feedback, GL_ARB_texture_float, GL_SGIS_texture_lod, GL_ARB_tessellation_shader, GL_NV_blend_equation_advanced_coherent, GL_EXT_framebuffer_multisample, GL_ARB_clear_texture, GL_EXT_gpu_shader4, GL_EXT_blend_minmax, GL_ARB_texture_cube_map_array, GL_ARB_geometry_shader4, GL_EXT_shader_image_load_store, GL_ARB_robust_buffer_access_behavior, GL_ARB_indirect_parameters, GL_NV_path_rendering, GL_SGIX_shadow, GL_NV_memory_attachment, GL_NVX_gpu_memory_info, GL_NV_texgen_reflection, GL_EXT_texture_storage, GL_SGIX_depth_texture, GL_ARB_shader_image_load_store, GL_EXT_multiview_texture_multisample, GL_KHR_shader_subgroup, GL_ARB_texture_rgb10_a2ui, GL_ARB_copy_buffer, GL_ARB_compute_variable_group_size, GL_ARB_vertex_buffer_object, GL_ARB_ES3_1_compatibility, GL_ARB_gl_spirv, GL_ARB_shader_group_vote, GL_NV_texture_rectangle, GL_ARB_explicit_attrib_location, GL_NV_half_float
[2024.06.29 21:28:56] OpenGL: Disable on NVIDIA driver on Linux.
[2024.06.29 21:28:56] OpenGL: [FALSE] (Window)
[2024.06.29 21:28:56] Notification daemon product name: Plasma
[2024.06.29 21:28:56] Notification daemon vendor name: KDE
[2024.06.29 21:28:56] Notification daemon version: 6.1.1
[2024.06.29 21:28:56] Notification daemon specification version: 1.2
[2024.06.29 21:28:56] Notification daemon capabilities: body, body-hyperlinks, body-markup, body-images, icon-static, actions, persistence, inline-reply, x-kde-urls, x-kde-origin-name, x-kde-display-appname, inhibitions
[2024.06.29 21:28:56] API Warning: not loaded minimal channel applied.
[2024.06.29 21:48:23] RPC Error: request 126 got fail with code 400, error PEER_ID_INVALID
[2024.06.29 21:48:44] Skipping message, because it is already in blocks!
[2024.06.29 21:57:38] Streaming Error: Error in avcodec_open2 (code: -1128613112, text: Decoder not found).
[2024.06.29 21:57:38] Streaming Error: No codec for video stream 0, mode 2.
[2024.06.29 21:57:41] RPC Error: request 187 got fail with code 400, error PEER_ID_INVALID
[2024.06.29 22:07:58] RPC Error: request 246 got fail with code 400, error PEER_ID_INVALID
[2024.06.29 22:07:58] RPC Error: request 253 got fail with code 400, error TOP_MSG_ID_NOT_SUPPORTED
[2024.06.29 22:09:34] Streaming Error: Error in avcodec_open2 (code: -1128613112, text: Decoder not found).
[2024.06.29 22:09:34] Streaming Error: No codec for video stream 0, mode 2.
[2024.06.29 22:10:32] RPC Error: request 305 got fail with code 400, error PEER_ID_INVALID
Aokromes commented 4 months ago

plz try downloading official static (non-flakpak, non-snap) version from https://desktop.telegram.org

kanpov commented 4 months ago

plz try downloading official static (non-flakpak, non-snap) version from https://desktop.telegram.org

The same issue happens in that case, so I doubt it's the openSUSE packaging team's fault

ilya-fedin commented 4 months ago

If this happens only with nvidia, you sadly have to deal with your driver manufacturer as no developer has nvidia linux machine. I can't reproduce.

I recommend to switch to the open source stack, as that's what tdesktop is tested with.

kanpov commented 4 months ago

If this happens only with nvidia, you sadly have to deal with your driver manufacturer as no developer has nvidia linux machine. I can't reproduce.

I recommend to switch to the open source stack, as that's what tdesktop is tested with.

It's unfortunate that it's not possible for this to be reproduced, however I think you also know recommending to switch to the open source stack isn't helpful, as Nouveau is a complete mess.

kanpov commented 4 months ago

This issue was related to me opening a chat with 40000 messages most likely

Aokromes commented 4 months ago

If this happens only with nvidia, you sadly have to deal with your driver manufacturer as no developer has nvidia linux machine. I can't reproduce. I recommend to switch to the open source stack, as that's what tdesktop is tested with.

It's unfortunate that it's not possible for this to be reproduced, however I think you also know recommending to switch to the open source stack isn't helpful, as Nouveau is a complete mess.

you can try reporting bug to nvidia.

ilya-fedin commented 4 months ago

as Nouveau is a complete mess

the proprietary driver is also a mess. So that's a choice of two messes. I would choose nouveau. Or better, buying an AMD card for the system.