Open davidvedvick opened 2 years ago
I experienced a similar issue when resuming from cinnamon screensaver/lock-screen. I have two monitors attached. Screensaver/lock-screen came on (after inactivity timeout) while an xViewer window was in presentation/fullscreen (F11) mode. Upon monitor wake, the reslution was radically messed up, including (if I remember correctly) on the lockscreen, and not just desktop after unlocking.
Mint 21 Cinnamon 5.4.11 Linux 5.15.0-40 generic AMD Vega 10 XTX Monitors: 2, with primary to the 'right' of the secondary.
EDIT: In my original comment, I had conflated this with a second issue: windows relocating when monitors power-cycle in a multi-monitor setup. I will start a separate thread for the latter.
Hi, please have a look at this comment: https://github.com/linuxmint/cinnamon-screensaver/issues/416#issuecomment-1256233029
Thanks
@mtwebster thanks I'll see what happens after those changes!
@mtwebster unfortunately, the new packages didn't help, in fact they seemed to leave things in a more random state than before, here is one instance I captured:
Before monitors are turned off:
After monitors are resumed:
Another interesting note is that the Displays application seems to die intermittently after waking the monitor up, so I needed to restart the application to get a graphical representation of the monitor configuration.
dpkg --list | grep screensaver
:
ii cinnamon-screensaver 5.4.4 amd64 Cinnamon screen saver and locker
ii libcscreensaver-dbg:amd64 5.4.4 amd64 Cinnamon Screensaver library - debug symbols
ii libcscreensaver0:amd64 5.4.4 amd64 library and introspection data used by cinnamon-screensaver
glx-info -b
is now just giving me 33
, so here's the full glxinfo
:
name of display: :0
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
GLX_ARB_create_context, GLX_ARB_create_context_no_error,
GLX_ARB_create_context_profile, GLX_ARB_create_context_robustness,
GLX_ARB_fbconfig_float, GLX_ARB_framebuffer_sRGB, GLX_ARB_multisample,
GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile,
GLX_EXT_fbconfig_packed_float, GLX_EXT_framebuffer_sRGB,
GLX_EXT_get_drawable_type, GLX_EXT_libglvnd, GLX_EXT_no_config_context,
GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating,
GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer, GLX_OML_swap_method,
GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
GLX_SGIX_visual_select_group, GLX_SGI_make_current_read,
GLX_SGI_swap_control
client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
client glx extensions:
GLX_ARB_context_flush_control, GLX_ARB_create_context,
GLX_ARB_create_context_no_error, GLX_ARB_create_context_profile,
GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float,
GLX_ARB_framebuffer_sRGB, GLX_ARB_get_proc_address, GLX_ARB_multisample,
GLX_ATI_pixel_format_float, GLX_EXT_buffer_age,
GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile,
GLX_EXT_fbconfig_packed_float, GLX_EXT_framebuffer_sRGB,
GLX_EXT_import_context, GLX_EXT_no_config_context, GLX_EXT_swap_control,
GLX_EXT_swap_control_tear, GLX_EXT_texture_from_pixmap,
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_INTEL_swap_event,
GLX_MESA_copy_sub_buffer, GLX_MESA_multithread_makecurrent,
GLX_MESA_query_renderer, GLX_MESA_swap_control, GLX_NV_float_buffer,
GLX_OML_swap_method, GLX_OML_sync_control, GLX_SGIS_multisample,
GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group,
GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync
GLX version: 1.4
GLX extensions:
GLX_ARB_create_context, GLX_ARB_create_context_no_error,
GLX_ARB_create_context_profile, GLX_ARB_create_context_robustness,
GLX_ARB_fbconfig_float, GLX_ARB_framebuffer_sRGB,
GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_buffer_age,
GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile,
GLX_EXT_fbconfig_packed_float, GLX_EXT_framebuffer_sRGB,
GLX_EXT_no_config_context, GLX_EXT_swap_control,
GLX_EXT_swap_control_tear, GLX_EXT_texture_from_pixmap,
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_INTEL_swap_event,
GLX_MESA_copy_sub_buffer, GLX_MESA_query_renderer, GLX_MESA_swap_control,
GLX_OML_swap_method, GLX_OML_sync_control, GLX_SGIS_multisample,
GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group,
GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync
Extended renderer info (GLX_MESA_query_renderer):
Vendor: AMD (0x1002)
Device: AMD Radeon RX 570 Series (polaris10, LLVM 13.0.1, DRM 3.42, 5.15.0-48-generic) (0x67df)
Version: 22.0.5
Accelerated: yes
Video memory: 4096MB
Unified memory: no
Preferred profile: core (0x1)
Max core profile version: 4.6
Max compat profile version: 4.6
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 3.2
Memory info (GL_ATI_meminfo):
VBO free memory - total: 2804 MB, largest block: 2804 MB
VBO free aux. memory - total: 4054 MB, largest block: 4054 MB
Texture free memory - total: 2804 MB, largest block: 2804 MB
Texture free aux. memory - total: 4054 MB, largest block: 4054 MB
Renderbuffer free memory - total: 2804 MB, largest block: 2804 MB
Renderbuffer free aux. memory - total: 4054 MB, largest block: 4054 MB
Memory info (GL_NVX_gpu_memory_info):
Dedicated video memory: 4096 MB
Total available memory: 8192 MB
Currently available dedicated video memory: 2804 MB
OpenGL vendor string: AMD
OpenGL renderer string: AMD Radeon RX 570 Series (polaris10, LLVM 13.0.1, DRM 3.42, 5.15.0-48-generic)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 22.0.5
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
GL_AMD_conservative_depth, GL_AMD_depth_clamp_separate,
GL_AMD_draw_buffers_blend, GL_AMD_framebuffer_multisample_advanced,
GL_AMD_gpu_shader_int64, GL_AMD_multi_draw_indirect,
GL_AMD_performance_monitor, GL_AMD_pinned_memory,
GL_AMD_query_buffer_object, GL_AMD_seamless_cubemap_per_texture,
GL_AMD_shader_stencil_export, GL_AMD_shader_trinary_minmax,
GL_AMD_texture_texture4, GL_AMD_vertex_shader_layer,
GL_AMD_vertex_shader_viewport_index, GL_ANGLE_texture_compression_dxt3,
GL_ANGLE_texture_compression_dxt5, GL_ARB_ES2_compatibility,
GL_ARB_ES3_1_compatibility, GL_ARB_ES3_2_compatibility,
GL_ARB_ES3_compatibility, GL_ARB_arrays_of_arrays, GL_ARB_base_instance,
GL_ARB_bindless_texture, GL_ARB_blend_func_extended,
GL_ARB_buffer_storage, GL_ARB_clear_buffer_object, GL_ARB_clear_texture,
GL_ARB_clip_control, GL_ARB_color_buffer_float,
GL_ARB_compressed_texture_pixel_storage, GL_ARB_compute_shader,
GL_ARB_compute_variable_group_size, GL_ARB_conditional_render_inverted,
GL_ARB_conservative_depth, GL_ARB_copy_buffer, GL_ARB_copy_image,
GL_ARB_cull_distance, GL_ARB_debug_output, GL_ARB_depth_buffer_float,
GL_ARB_depth_clamp, GL_ARB_derivative_control, GL_ARB_direct_state_access,
GL_ARB_draw_buffers, GL_ARB_draw_buffers_blend,
GL_ARB_draw_elements_base_vertex, GL_ARB_draw_indirect,
GL_ARB_draw_instanced, GL_ARB_enhanced_layouts,
GL_ARB_explicit_attrib_location, GL_ARB_explicit_uniform_location,
GL_ARB_fragment_coord_conventions, GL_ARB_fragment_layer_viewport,
GL_ARB_fragment_shader, GL_ARB_framebuffer_no_attachments,
GL_ARB_framebuffer_object, GL_ARB_framebuffer_sRGB,
GL_ARB_get_program_binary, GL_ARB_get_texture_sub_image, GL_ARB_gl_spirv,
GL_ARB_gpu_shader5, GL_ARB_gpu_shader_fp64, GL_ARB_gpu_shader_int64,
GL_ARB_half_float_pixel, GL_ARB_half_float_vertex,
GL_ARB_indirect_parameters, GL_ARB_instanced_arrays,
GL_ARB_internalformat_query, GL_ARB_internalformat_query2,
GL_ARB_invalidate_subdata, GL_ARB_map_buffer_alignment,
GL_ARB_map_buffer_range, GL_ARB_multi_bind, GL_ARB_multi_draw_indirect,
GL_ARB_occlusion_query2, GL_ARB_parallel_shader_compile,
GL_ARB_pipeline_statistics_query, GL_ARB_pixel_buffer_object,
GL_ARB_point_sprite, GL_ARB_polygon_offset_clamp,
GL_ARB_program_interface_query, GL_ARB_provoking_vertex,
GL_ARB_query_buffer_object, GL_ARB_robust_buffer_access_behavior,
GL_ARB_robustness, GL_ARB_sample_shading, GL_ARB_sampler_objects,
GL_ARB_seamless_cube_map, GL_ARB_seamless_cubemap_per_texture,
GL_ARB_separate_shader_objects, GL_ARB_shader_atomic_counter_ops,
GL_ARB_shader_atomic_counters, GL_ARB_shader_ballot,
GL_ARB_shader_bit_encoding, GL_ARB_shader_clock,
GL_ARB_shader_draw_parameters, GL_ARB_shader_group_vote,
GL_ARB_shader_image_load_store, GL_ARB_shader_image_size,
GL_ARB_shader_objects, GL_ARB_shader_precision,
GL_ARB_shader_stencil_export, GL_ARB_shader_storage_buffer_object,
GL_ARB_shader_subroutine, GL_ARB_shader_texture_image_samples,
GL_ARB_shader_texture_lod, GL_ARB_shader_viewport_layer_array,
GL_ARB_shading_language_420pack, GL_ARB_shading_language_include,
GL_ARB_shading_language_packing, GL_ARB_spirv_extensions,
GL_ARB_stencil_texturing, GL_ARB_sync, GL_ARB_tessellation_shader,
GL_ARB_texture_barrier, GL_ARB_texture_buffer_object,
GL_ARB_texture_buffer_object_rgb32, GL_ARB_texture_buffer_range,
GL_ARB_texture_compression_bptc, GL_ARB_texture_compression_rgtc,
GL_ARB_texture_cube_map_array, GL_ARB_texture_filter_anisotropic,
GL_ARB_texture_float, GL_ARB_texture_gather,
GL_ARB_texture_mirror_clamp_to_edge, GL_ARB_texture_multisample,
GL_ARB_texture_non_power_of_two, GL_ARB_texture_query_levels,
GL_ARB_texture_query_lod, GL_ARB_texture_rectangle, GL_ARB_texture_rg,
GL_ARB_texture_rgb10_a2ui, GL_ARB_texture_stencil8,
GL_ARB_texture_storage, GL_ARB_texture_storage_multisample,
GL_ARB_texture_swizzle, GL_ARB_texture_view, GL_ARB_timer_query,
GL_ARB_transform_feedback2, GL_ARB_transform_feedback3,
GL_ARB_transform_feedback_instanced,
GL_ARB_transform_feedback_overflow_query, GL_ARB_uniform_buffer_object,
GL_ARB_vertex_array_bgra, GL_ARB_vertex_array_object,
GL_ARB_vertex_attrib_64bit, GL_ARB_vertex_attrib_binding,
GL_ARB_vertex_buffer_object, GL_ARB_vertex_shader,
GL_ARB_vertex_type_10f_11f_11f_rev, GL_ARB_vertex_type_2_10_10_10_rev,
GL_ARB_viewport_array, GL_ATI_blend_equation_separate, GL_ATI_meminfo,
GL_ATI_texture_float, GL_ATI_texture_mirror_once,
GL_EXT_EGL_image_storage, GL_EXT_EGL_sync, GL_EXT_abgr,
GL_EXT_blend_equation_separate, GL_EXT_demote_to_helper_invocation,
GL_EXT_depth_bounds_test, GL_EXT_draw_buffers2, GL_EXT_draw_instanced,
GL_EXT_framebuffer_blit, GL_EXT_framebuffer_multisample,
GL_EXT_framebuffer_multisample_blit_scaled, GL_EXT_framebuffer_object,
GL_EXT_framebuffer_sRGB, GL_EXT_memory_object, GL_EXT_memory_object_fd,
GL_EXT_packed_depth_stencil, GL_EXT_packed_float,
GL_EXT_pixel_buffer_object, GL_EXT_polygon_offset_clamp,
GL_EXT_provoking_vertex, GL_EXT_semaphore, GL_EXT_semaphore_fd,
GL_EXT_shader_image_load_formatted, GL_EXT_shader_image_load_store,
GL_EXT_shader_integer_mix, GL_EXT_shader_samples_identical,
GL_EXT_texture_array, GL_EXT_texture_compression_dxt1,
GL_EXT_texture_compression_rgtc, GL_EXT_texture_compression_s3tc,
GL_EXT_texture_filter_anisotropic, GL_EXT_texture_integer,
GL_EXT_texture_mirror_clamp, GL_EXT_texture_sRGB, GL_EXT_texture_sRGB_R8,
GL_EXT_texture_sRGB_decode, GL_EXT_texture_shadow_lod,
GL_EXT_texture_shared_exponent, GL_EXT_texture_snorm,
GL_EXT_texture_swizzle, GL_EXT_timer_query, GL_EXT_transform_feedback,
GL_EXT_vertex_array_bgra, GL_EXT_vertex_attrib_64bit,
GL_EXT_window_rectangles, GL_IBM_multimode_draw_arrays,
GL_INTEL_blackhole_render, GL_KHR_blend_equation_advanced,
GL_KHR_context_flush_control, GL_KHR_debug, GL_KHR_no_error,
GL_KHR_parallel_shader_compile, GL_KHR_robust_buffer_access_behavior,
GL_KHR_robustness, GL_KHR_texture_compression_astc_ldr,
GL_KHR_texture_compression_astc_sliced_3d, GL_MESA_framebuffer_flip_y,
GL_MESA_pack_invert, GL_MESA_shader_integer_functions,
GL_MESA_texture_signed_rgba, GL_NVX_gpu_memory_info,
GL_NV_alpha_to_coverage_dither_control, GL_NV_compute_shader_derivatives,
GL_NV_conditional_render, GL_NV_copy_image, GL_NV_depth_clamp,
GL_NV_packed_depth_stencil, GL_NV_shader_atomic_int64,
GL_NV_texture_barrier, GL_NV_vdpau_interop, GL_OES_EGL_image, GL_S3_s3tc
OpenGL version string: 4.6 (Compatibility Profile) Mesa 22.0.5
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL extensions:
GL_AMD_conservative_depth, GL_AMD_depth_clamp_separate,
GL_AMD_draw_buffers_blend, GL_AMD_framebuffer_multisample_advanced,
GL_AMD_multi_draw_indirect, GL_AMD_performance_monitor,
GL_AMD_pinned_memory, GL_AMD_query_buffer_object,
GL_AMD_seamless_cubemap_per_texture, GL_AMD_shader_stencil_export,
GL_AMD_shader_trinary_minmax, GL_AMD_texture_texture4,
GL_AMD_vertex_shader_layer, GL_AMD_vertex_shader_viewport_index,
GL_ANGLE_texture_compression_dxt3, GL_ANGLE_texture_compression_dxt5,
GL_APPLE_packed_pixels, GL_ARB_ES2_compatibility,
GL_ARB_ES3_1_compatibility, GL_ARB_ES3_2_compatibility,
GL_ARB_ES3_compatibility, GL_ARB_arrays_of_arrays, GL_ARB_base_instance,
GL_ARB_bindless_texture, GL_ARB_blend_func_extended,
GL_ARB_buffer_storage, GL_ARB_clear_buffer_object, GL_ARB_clear_texture,
GL_ARB_clip_control, GL_ARB_color_buffer_float, GL_ARB_compatibility,
GL_ARB_compressed_texture_pixel_storage, GL_ARB_compute_shader,
GL_ARB_compute_variable_group_size, GL_ARB_conditional_render_inverted,
GL_ARB_conservative_depth, GL_ARB_copy_buffer, GL_ARB_copy_image,
GL_ARB_cull_distance, GL_ARB_debug_output, GL_ARB_depth_buffer_float,
GL_ARB_depth_clamp, GL_ARB_depth_texture, GL_ARB_derivative_control,
GL_ARB_direct_state_access, GL_ARB_draw_buffers,
GL_ARB_draw_buffers_blend, GL_ARB_draw_elements_base_vertex,
GL_ARB_draw_indirect, GL_ARB_draw_instanced, GL_ARB_enhanced_layouts,
GL_ARB_explicit_attrib_location, GL_ARB_explicit_uniform_location,
GL_ARB_fragment_coord_conventions, GL_ARB_fragment_layer_viewport,
GL_ARB_fragment_program, GL_ARB_fragment_program_shadow,
GL_ARB_fragment_shader, GL_ARB_framebuffer_no_attachments,
GL_ARB_framebuffer_object, GL_ARB_framebuffer_sRGB,
GL_ARB_get_program_binary, GL_ARB_get_texture_sub_image, GL_ARB_gl_spirv,
GL_ARB_gpu_shader5, GL_ARB_gpu_shader_fp64, GL_ARB_gpu_shader_int64,
GL_ARB_half_float_pixel, GL_ARB_half_float_vertex,
GL_ARB_indirect_parameters, GL_ARB_instanced_arrays,
GL_ARB_internalformat_query, GL_ARB_internalformat_query2,
GL_ARB_invalidate_subdata, GL_ARB_map_buffer_alignment,
GL_ARB_map_buffer_range, GL_ARB_multi_bind, GL_ARB_multi_draw_indirect,
GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query,
GL_ARB_occlusion_query2, GL_ARB_parallel_shader_compile,
GL_ARB_pipeline_statistics_query, GL_ARB_pixel_buffer_object,
GL_ARB_point_parameters, GL_ARB_point_sprite, GL_ARB_polygon_offset_clamp,
GL_ARB_program_interface_query, GL_ARB_provoking_vertex,
GL_ARB_query_buffer_object, GL_ARB_robust_buffer_access_behavior,
GL_ARB_robustness, GL_ARB_sample_shading, GL_ARB_sampler_objects,
GL_ARB_seamless_cube_map, GL_ARB_seamless_cubemap_per_texture,
GL_ARB_separate_shader_objects, GL_ARB_shader_atomic_counter_ops,
GL_ARB_shader_atomic_counters, GL_ARB_shader_ballot,
GL_ARB_shader_bit_encoding, GL_ARB_shader_clock,
GL_ARB_shader_draw_parameters, GL_ARB_shader_group_vote,
GL_ARB_shader_image_load_store, GL_ARB_shader_image_size,
GL_ARB_shader_objects, GL_ARB_shader_precision,
GL_ARB_shader_stencil_export, GL_ARB_shader_storage_buffer_object,
GL_ARB_shader_subroutine, GL_ARB_shader_texture_image_samples,
GL_ARB_shader_texture_lod, GL_ARB_shader_viewport_layer_array,
GL_ARB_shading_language_100, GL_ARB_shading_language_420pack,
GL_ARB_shading_language_include, GL_ARB_shading_language_packing,
GL_ARB_shadow, GL_ARB_spirv_extensions, GL_ARB_stencil_texturing,
GL_ARB_sync, GL_ARB_tessellation_shader, GL_ARB_texture_barrier,
GL_ARB_texture_border_clamp, GL_ARB_texture_buffer_object,
GL_ARB_texture_buffer_object_rgb32, GL_ARB_texture_buffer_range,
GL_ARB_texture_compression, GL_ARB_texture_compression_bptc,
GL_ARB_texture_compression_rgtc, GL_ARB_texture_cube_map,
GL_ARB_texture_cube_map_array, GL_ARB_texture_env_add,
GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar,
GL_ARB_texture_env_dot3, GL_ARB_texture_filter_anisotropic,
GL_ARB_texture_float, GL_ARB_texture_gather,
GL_ARB_texture_mirror_clamp_to_edge, GL_ARB_texture_mirrored_repeat,
GL_ARB_texture_multisample, GL_ARB_texture_non_power_of_two,
GL_ARB_texture_query_levels, GL_ARB_texture_query_lod,
GL_ARB_texture_rectangle, GL_ARB_texture_rg, GL_ARB_texture_rgb10_a2ui,
GL_ARB_texture_stencil8, GL_ARB_texture_storage,
GL_ARB_texture_storage_multisample, GL_ARB_texture_swizzle,
GL_ARB_texture_view, GL_ARB_timer_query, GL_ARB_transform_feedback2,
GL_ARB_transform_feedback3, GL_ARB_transform_feedback_instanced,
GL_ARB_transform_feedback_overflow_query, GL_ARB_transpose_matrix,
GL_ARB_uniform_buffer_object, GL_ARB_vertex_array_bgra,
GL_ARB_vertex_array_object, GL_ARB_vertex_attrib_64bit,
GL_ARB_vertex_attrib_binding, GL_ARB_vertex_buffer_object,
GL_ARB_vertex_program, GL_ARB_vertex_shader,
GL_ARB_vertex_type_10f_11f_11f_rev, GL_ARB_vertex_type_2_10_10_10_rev,
GL_ARB_viewport_array, GL_ARB_window_pos, GL_ATI_blend_equation_separate,
GL_ATI_draw_buffers, GL_ATI_fragment_shader, GL_ATI_meminfo,
GL_ATI_separate_stencil, GL_ATI_texture_compression_3dc,
GL_ATI_texture_env_combine3, GL_ATI_texture_float,
GL_ATI_texture_mirror_once, GL_EXT_EGL_image_storage, GL_EXT_EGL_sync,
GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color,
GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate,
GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_compiled_vertex_array,
GL_EXT_copy_texture, GL_EXT_demote_to_helper_invocation,
GL_EXT_depth_bounds_test, GL_EXT_direct_state_access,
GL_EXT_draw_buffers2, GL_EXT_draw_instanced, GL_EXT_draw_range_elements,
GL_EXT_fog_coord, GL_EXT_framebuffer_blit, GL_EXT_framebuffer_multisample,
GL_EXT_framebuffer_multisample_blit_scaled, GL_EXT_framebuffer_object,
GL_EXT_framebuffer_sRGB, GL_EXT_gpu_program_parameters,
GL_EXT_gpu_shader4, GL_EXT_memory_object, GL_EXT_memory_object_fd,
GL_EXT_multi_draw_arrays, GL_EXT_packed_depth_stencil,
GL_EXT_packed_float, GL_EXT_packed_pixels, GL_EXT_pixel_buffer_object,
GL_EXT_point_parameters, GL_EXT_polygon_offset_clamp,
GL_EXT_provoking_vertex, GL_EXT_rescale_normal, GL_EXT_secondary_color,
GL_EXT_semaphore, GL_EXT_semaphore_fd, GL_EXT_separate_specular_color,
GL_EXT_shader_image_load_formatted, GL_EXT_shader_image_load_store,
GL_EXT_shader_integer_mix, GL_EXT_shader_samples_identical,
GL_EXT_shadow_funcs, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap,
GL_EXT_subtexture, GL_EXT_texture, GL_EXT_texture3D,
GL_EXT_texture_array, GL_EXT_texture_buffer_object,
GL_EXT_texture_compression_dxt1, GL_EXT_texture_compression_latc,
GL_EXT_texture_compression_rgtc, GL_EXT_texture_compression_s3tc,
GL_EXT_texture_cube_map, GL_EXT_texture_edge_clamp,
GL_EXT_texture_env_add, GL_EXT_texture_env_combine,
GL_EXT_texture_env_dot3, GL_EXT_texture_filter_anisotropic,
GL_EXT_texture_integer, GL_EXT_texture_lod_bias,
GL_EXT_texture_mirror_clamp, GL_EXT_texture_object,
GL_EXT_texture_rectangle, GL_EXT_texture_sRGB, GL_EXT_texture_sRGB_R8,
GL_EXT_texture_sRGB_decode, GL_EXT_texture_shadow_lod,
GL_EXT_texture_shared_exponent, GL_EXT_texture_snorm,
GL_EXT_texture_swizzle, GL_EXT_timer_query, GL_EXT_transform_feedback,
GL_EXT_vertex_array, GL_EXT_vertex_array_bgra, GL_EXT_vertex_attrib_64bit,
GL_EXT_window_rectangles, GL_IBM_multimode_draw_arrays,
GL_IBM_rasterpos_clip, GL_IBM_texture_mirrored_repeat,
GL_INGR_blend_func_separate, GL_INTEL_blackhole_render,
GL_KHR_blend_equation_advanced, GL_KHR_context_flush_control,
GL_KHR_debug, GL_KHR_no_error, GL_KHR_parallel_shader_compile,
GL_KHR_robust_buffer_access_behavior, GL_KHR_robustness,
GL_KHR_texture_compression_astc_ldr,
GL_KHR_texture_compression_astc_sliced_3d, GL_MESA_framebuffer_flip_y,
GL_MESA_pack_invert, GL_MESA_shader_integer_functions,
GL_MESA_texture_signed_rgba, GL_MESA_window_pos, GL_NVX_gpu_memory_info,
GL_NV_alpha_to_coverage_dither_control, GL_NV_blend_square,
GL_NV_compute_shader_derivatives, GL_NV_conditional_render,
GL_NV_copy_depth_to_color, GL_NV_copy_image, GL_NV_depth_clamp,
GL_NV_fog_distance, GL_NV_half_float, GL_NV_light_max_exponent,
GL_NV_packed_depth_stencil, GL_NV_primitive_restart,
GL_NV_shader_atomic_int64, GL_NV_texgen_reflection, GL_NV_texture_barrier,
GL_NV_texture_env_combine4, GL_NV_texture_rectangle, GL_NV_vdpau_interop,
GL_OES_EGL_image, GL_OES_read_format, GL_S3_s3tc,
GL_SGIS_generate_mipmap, GL_SGIS_texture_border_clamp,
GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod, GL_SUN_multi_draw_arrays
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 22.0.5
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:
GL_AMD_framebuffer_multisample_advanced, GL_AMD_performance_monitor,
GL_ANDROID_extension_pack_es31a, GL_ANGLE_pack_reverse_row_order,
GL_ANGLE_texture_compression_dxt3, GL_ANGLE_texture_compression_dxt5,
GL_APPLE_texture_max_level, GL_EXT_EGL_image_storage,
GL_EXT_base_instance, GL_EXT_blend_func_extended, GL_EXT_blend_minmax,
GL_EXT_buffer_storage, GL_EXT_clear_texture, GL_EXT_clip_control,
GL_EXT_clip_cull_distance, GL_EXT_color_buffer_float,
GL_EXT_color_buffer_half_float, GL_EXT_compressed_ETC1_RGB8_sub_texture,
GL_EXT_copy_image, GL_EXT_demote_to_helper_invocation, GL_EXT_depth_clamp,
GL_EXT_discard_framebuffer, GL_EXT_disjoint_timer_query,
GL_EXT_draw_buffers, GL_EXT_draw_buffers_indexed,
GL_EXT_draw_elements_base_vertex, GL_EXT_draw_instanced,
GL_EXT_float_blend, GL_EXT_frag_depth, GL_EXT_geometry_point_size,
GL_EXT_geometry_shader, GL_EXT_gpu_shader5, GL_EXT_map_buffer_range,
GL_EXT_memory_object, GL_EXT_memory_object_fd, GL_EXT_multi_draw_arrays,
GL_EXT_occlusion_query_boolean, GL_EXT_polygon_offset_clamp,
GL_EXT_primitive_bounding_box, GL_EXT_read_format_bgra,
GL_EXT_render_snorm, GL_EXT_robustness, GL_EXT_sRGB_write_control,
GL_EXT_semaphore, GL_EXT_semaphore_fd, GL_EXT_separate_shader_objects,
GL_EXT_shader_group_vote, GL_EXT_shader_implicit_conversions,
GL_EXT_shader_integer_mix, GL_EXT_shader_io_blocks,
GL_EXT_shader_samples_identical, GL_EXT_tessellation_point_size,
GL_EXT_tessellation_shader, GL_EXT_texture_border_clamp,
GL_EXT_texture_buffer, GL_EXT_texture_compression_bptc,
GL_EXT_texture_compression_dxt1, GL_EXT_texture_compression_rgtc,
GL_EXT_texture_compression_s3tc, GL_EXT_texture_compression_s3tc_srgb,
GL_EXT_texture_cube_map_array, GL_EXT_texture_filter_anisotropic,
GL_EXT_texture_format_BGRA8888, GL_EXT_texture_mirror_clamp_to_edge,
GL_EXT_texture_norm16, GL_EXT_texture_query_lod, GL_EXT_texture_rg,
GL_EXT_texture_sRGB_R8, GL_EXT_texture_sRGB_decode,
GL_EXT_texture_shadow_lod, GL_EXT_texture_type_2_10_10_10_REV,
GL_EXT_texture_view, GL_EXT_unpack_subimage, GL_EXT_window_rectangles,
GL_INTEL_blackhole_render, GL_KHR_blend_equation_advanced,
GL_KHR_context_flush_control, GL_KHR_debug, GL_KHR_no_error,
GL_KHR_parallel_shader_compile, GL_KHR_robust_buffer_access_behavior,
GL_KHR_robustness, GL_KHR_texture_compression_astc_ldr,
GL_KHR_texture_compression_astc_sliced_3d, GL_MESA_bgra,
GL_MESA_framebuffer_flip_y, GL_MESA_shader_integer_functions,
GL_NV_alpha_to_coverage_dither_control, GL_NV_compute_shader_derivatives,
GL_NV_conditional_render, GL_NV_draw_buffers, GL_NV_fbo_color_attachments,
GL_NV_image_formats, GL_NV_pixel_buffer_object, GL_NV_read_buffer,
GL_NV_read_depth, GL_NV_read_depth_stencil, GL_NV_read_stencil,
GL_OES_EGL_image, GL_OES_EGL_image_external,
GL_OES_EGL_image_external_essl3, GL_OES_EGL_sync,
GL_OES_compressed_ETC1_RGB8_texture, GL_OES_copy_image, GL_OES_depth24,
GL_OES_depth_texture, GL_OES_depth_texture_cube_map,
GL_OES_draw_buffers_indexed, GL_OES_draw_elements_base_vertex,
GL_OES_element_index_uint, GL_OES_fbo_render_mipmap,
GL_OES_geometry_point_size, GL_OES_geometry_shader,
GL_OES_get_program_binary, GL_OES_gpu_shader5, GL_OES_mapbuffer,
GL_OES_packed_depth_stencil, GL_OES_primitive_bounding_box,
GL_OES_required_internalformat, GL_OES_rgb8_rgba8, GL_OES_sample_shading,
GL_OES_sample_variables, GL_OES_shader_image_atomic,
GL_OES_shader_io_blocks, GL_OES_shader_multisample_interpolation,
GL_OES_standard_derivatives, GL_OES_stencil8, GL_OES_surfaceless_context,
GL_OES_tessellation_point_size, GL_OES_tessellation_shader,
GL_OES_texture_3D, GL_OES_texture_border_clamp, GL_OES_texture_buffer,
GL_OES_texture_cube_map_array, GL_OES_texture_float,
GL_OES_texture_float_linear, GL_OES_texture_half_float,
GL_OES_texture_half_float_linear, GL_OES_texture_npot,
GL_OES_texture_stencil8, GL_OES_texture_storage_multisample_2d_array,
GL_OES_texture_view, GL_OES_vertex_array_object, GL_OES_vertex_half_float,
GL_OES_viewport_array
I'm having the same issue. I guessed it had to due with my monitors disconnecting/reconnecting because of DisplayPort Hot Plug Detection then the screen layout not being restored correctly due to a race condition or failure to properly load the previous layout. I see you're also using DP. Are you able to change your monitors DDC/CI hot plug/sleep behavior?
Interesting idea, I'll look into whether I can turn off hot plug behavior, it does seem to lose its mind (not a technical term) as the monitors wake up. Also plugging in another device over HDMI can cause a brief moment of confusion, so this feels like a promising root cause.
@Xeronel after some digging, I couldn't find a way to disable hotplug behavior on my monitors. However, I have noticed some more circumstantial evidence to back up your theory: today, when I attempted to switch from 1 monitor back to 3 monitors, the monitors flickered on briefly and then Mint dropped back to 1 monitor. It brought up the "would you like to keep these settings" dialog, and I hit no, and it then enabled the 3 monitors! Unfortunately, this is all circumstantial still - I wonder if there are any log files I could gather to back up the theory of a race condition?
I have developed a somewhat sane method of switching between different monitor configurations, thanks to @Xeronel's suggestion:
This is a working configuration for now, and I'm ok with it. I'll leave this issue open in the hopes that a more solid software solution is found.
@Xeronel that info helped me big time, I was so frustrated with my DP monitors acting up every time they went to sleep and looking for DDC/CI settings in their menu completely fixed it for me. Thank you!
I have a screen without DDC/CI settings and saw in dmesg and journalctl that one of my screens wasn't always giving EDID info while waking up. I was able to use nvidia-settings to dump the edid data to a file and included it in my xconfig which has seemed to solve the problem.
dpkg --list | grep libmuffin0
:ii libmuffin0:amd64 5.4.7+vanessa amd64 window and compositing manager (shared library)
glxinfo -b
:Issue
When waking the monitors back up after they have automatically turned off, the display restores incorrectly, and very strangely.
Example 1:
Example 2:
Steps to reproduce
Let Mint turn monitors off at configured time, wake displays back up.
Expected behaviour
Displays restore to original configuration
Other information
Debugging steps:
I have mostly tried the tricks that worked in Mint 20. First off, I have a script (visible in one of the screenshots), that used to be able to reconfigure the monitors. It's fairly short, so I'll just include it here:
This worked like a charm, first re-configuring the monitors, and then copying in a monitor configuration to cement things after re-waking displays or resuming from S3. I've attached the xml file - cinnamon-monitors.multi-monitor.xml.zip.
I then tried changing the script to instead copy the xml file to
~/.config/monitors.xml
, because from what I understand, Muffin has been rebased off of mutter. This was more of a shot in the dark than anything though, as I don't yet understand what changes the new version of mutter have brought. I also tried re-configuring the displays in the "Displays" application, but this didn't fix it either. The only fix that works is restarting the system.