Blank screen when running as a full compositor on debian with Intel Iris integrated GPU
Running niri from tty results in blank screen which then shuts off with a no-signal message. I am able to exit and return to tty using the Win+E,Enter combination.
These are the messages produced:
2024-07-09T19:15:56.249485Z INFO niri: starting version 0.1.7 (v0.1.7-37-gf9fe86e)
2024-07-09T19:15:56.279598Z DEBUG niri_config: loaded config from "/home/fl/.config/niri/config.kdl"
2024-07-09T19:15:56.837582Z INFO niri::backend::tty: using as the render node: "/dev/dri/renderD128"
2024-07-09T19:15:56.895861Z DEBUG niri::backend::tty: device added: 57856 "/dev/dri/card0"
2024-07-09T19:15:56.943430Z DEBUG niri::backend::tty: this is the primary node
2024-07-09T19:15:56.943453Z DEBUG niri::backend::tty: this is the primary render node
2024-07-09T19:15:56.968650Z DEBUG niri::backend::tty: device changed: 57856
2024-07-09T19:15:57.104499Z DEBUG niri::backend::tty: connecting connector: DP-1
2024-07-09T19:15:57.104589Z DEBUG niri::backend::tty: picking mode: Mode { name: "5120x1440", clock: 469000, size: (5120, 1440), hsync: (5168, 5200, 5280), vsync: (1443, 1453, 1481), hskew: 0, vscan: 0, vrefresh: 60, mode_type: ModeTypeFlags(PREFERRED | DRIVER) }
2024-07-09T19:15:57.104720Z DEBUG niri::backend::tty: set max bpc to 8
2024-07-09T19:15:57.120619Z WARN niri::backend::tty: error connecting connector: The underlying drm surface encountered an error: DRM access error: Error testing state on device `Some("/dev/dri/card0")` (Invalid argument (os error 22))
Caused by:
0: DRM access error: Error testing state on device `Some("/dev/dri/card0")` (Invalid argument (os error 22))
1: Invalid argument (os error 22)
2024-07-09T19:15:57.120750Z INFO niri: listening on Wayland socket: wayland-1
2024-07-09T19:15:57.120760Z INFO niri: IPC listening on: /run/user/1001/niri.wayland-1.3421.sock
2024-07-09T19:16:01.921519Z INFO niri::input: quitting after confirming exit dialog
2024-07-09T19:16:02.132118Z DEBUG niri::utils::watcher: exiting watcher thread for /home/fl/.config/niri/config.kdl
These are the DRI devices:
❯ ls -l /dev/dri/
total 0
drwxr-xr-x 2 root root 80 Jul 9 23:15 by-path/
crw-rw----+ 1 root video 226, 0 Jul 9 23:15 card0
crw-rw----+ 1 root render 226, 128 Jul 9 23:15 renderD128
and my user is a member of video and render groups.
Also attached the glxinfo.log.
System Information
- System: NUC8i7BEH
- niri version: niri 0.1.7 (v0.1.7-37-gf9fe86e)
- Distro: Debian 12 / bookworm / stable
- GPU: Intel CoffeeLake-U GT3e [Iris Plus Graphics 655]
- CPU: Intel i7-8559U (8) @ 4.500GHz
Huh, that's weird. I'll need to ask help from Smithay ppl
Does something like cosmic-comp work?
cosmic-comp is working, I've just compiled the latest master and started it from tty, it shows gray background and cursor is moving.. I have to see further how to start anything in it, but the basics appear to be working.
That is strange
Do you mind also trying anvil? https://github.com/Smithay/smithay/tree/master/anvil
Something like ./target/debug/anvil --tty-udev
I ran it like cargo run -- --tty-udev and it worked, showed light-gray background and I could move the cursor around, until I killed it from another tty to exit. Here's the log
2024-07-10T08:16:18.948904Z INFO anvil: Starting anvil on a tty using udev
2024-07-10T08:16:18.960268Z INFO anvil::udev: Using renderD128 as primary gpu.
2024-07-10T08:16:18.961113Z INFO smithay::wayland::socket: Created new socket name=Some("wayland-1")
2024-07-10T08:16:18.961177Z INFO anvil::state: Listening on wayland socket name="wayland-1"
2024-07-10T08:16:18.961440Z INFO input_seat:add_keyboard:input_keyboard: smithay::input::keyboard: Initializing a xkbcommon handler with keymap query name="seat0" xkb_config=XkbConfig { rules: "", model: "", layout: "", variant: "", options: None } repeat_delay=200 repeat_rate=25
2024-07-10T08:16:18.963879Z INFO input_seat:add_keyboard:input_keyboard: smithay::input::keyboard: Loaded Keymap name="English (US)" name="seat0" xkb_config=XkbConfig { rules: "", model: "", layout: "", variant: "", options: None } repeat_delay=200 repeat_rate=25
2024-07-10T08:16:19.527502Z INFO smithay::backend::libinput: Initializing a libinput backend
2024-07-10T08:16:19.528866Z WARN smithay::backend::drm::device::fd: Unable to become drm master, assuming unprivileged mode
2024-07-10T08:16:19.528924Z INFO smithay::backend::drm::device: DrmDevice initializing
2024-07-10T08:16:19.578338Z INFO smithay::backend::egl::display: Successfully selected EGL platform: PLATFORM_GBM_KHR
2024-07-10T08:16:19.579791Z INFO smithay::backend::egl::display: EGL Initialized
2024-07-10T08:16:19.579808Z INFO smithay::backend::egl::display: EGL Version: (1, 5)
2024-07-10T08:16:19.579845Z INFO smithay::backend::egl::display: Supported EGL display extensions: ["EGL_ANDROID_blob_cache", "EGL_ANDROID_native_fence_sync", "EGL_EXT_buffer_age", "EGL_EXT_create_context_robustness", "EGL_EXT_image_dma_buf_import", "EGL_EXT_image_dma_buf_import_modifiers", "EGL_IMG_context_priority", "EGL_KHR_cl_event2", "EGL_KHR_config_attribs", "EGL_KHR_context_flush_control", "EGL_KHR_create_context", "EGL_KHR_create_context_no_error", "EGL_KHR_fence_sync", "EGL_KHR_get_all_proc_addresses", "EGL_KHR_gl_colorspace", "EGL_KHR_gl_renderbuffer_image", "EGL_KHR_gl_texture_2D_image", "EGL_KHR_gl_texture_3D_image", "EGL_KHR_gl_texture_cubemap_image", "EGL_KHR_image", "EGL_KHR_image_base", "EGL_KHR_image_pixmap", "EGL_KHR_no_config_context", "EGL_KHR_reusable_sync", "EGL_KHR_surfaceless_context", "EGL_EXT_pixel_format_float", "EGL_KHR_wait_sync", "EGL_MESA_configless_context", "EGL_MESA_drm_image", "EGL_MESA_image_dma_buf_export", "EGL_MESA_query_driver", "EGL_WL_bind_wayland_display", ""]
2024-07-10T08:16:19.580423Z INFO smithay::backend::egl::display: Successfully selected EGL platform: PLATFORM_GBM_KHR
2024-07-10T08:16:19.581375Z INFO smithay::backend::egl::display: EGL Initialized
2024-07-10T08:16:19.581391Z INFO smithay::backend::egl::display: EGL Version: (1, 5)
2024-07-10T08:16:19.581421Z INFO smithay::backend::egl::display: Supported EGL display extensions: ["EGL_ANDROID_blob_cache", "EGL_ANDROID_native_fence_sync", "EGL_EXT_buffer_age", "EGL_EXT_create_context_robustness", "EGL_EXT_image_dma_buf_import", "EGL_EXT_image_dma_buf_import_modifiers", "EGL_IMG_context_priority", "EGL_KHR_cl_event2", "EGL_KHR_config_attribs", "EGL_KHR_context_flush_control", "EGL_KHR_create_context", "EGL_KHR_create_context_no_error", "EGL_KHR_fence_sync", "EGL_KHR_get_all_proc_addresses", "EGL_KHR_gl_colorspace", "EGL_KHR_gl_renderbuffer_image", "EGL_KHR_gl_texture_2D_image", "EGL_KHR_gl_texture_3D_image", "EGL_KHR_gl_texture_cubemap_image", "EGL_KHR_image", "EGL_KHR_image_base", "EGL_KHR_image_pixmap", "EGL_KHR_no_config_context", "EGL_KHR_reusable_sync", "EGL_KHR_surfaceless_context", "EGL_EXT_pixel_format_float", "EGL_KHR_wait_sync", "EGL_MESA_configless_context", "EGL_MESA_drm_image", "EGL_MESA_image_dma_buf_export", "EGL_MESA_query_driver", "EGL_WL_bind_wayland_display", ""]
2024-07-10T08:16:19.688093Z INFO egl:egl_context: smithay::backend::egl::context: EGL context created priority=Some(High) native="/dev/dri/card0" platform="PLATFORM_GBM_KHR" version=(1, 5) ptr=94352044771776
2024-07-10T08:16:19.690703Z INFO egl:egl_context:renderer_gles2: smithay::backend::renderer::gles: Initializing OpenGL ES Renderer native="/dev/dri/card0" platform="PLATFORM_GBM_KHR" version=(1, 5) ptr=94352044771776
2024-07-10T08:16:19.690740Z INFO egl:egl_context:renderer_gles2: smithay::backend::renderer::gles: GL Version: "OpenGL ES 3.2 Mesa 22.3.6" native="/dev/dri/card0" platform="PLATFORM_GBM_KHR" version=(1, 5) ptr=94352044771776
2024-07-10T08:16:19.690759Z INFO egl:egl_context:renderer_gles2: smithay::backend::renderer::gles: GL Vendor: "Intel" native="/dev/dri/card0" platform="PLATFORM_GBM_KHR" version=(1, 5) ptr=94352044771776
2024-07-10T08:16:19.690778Z INFO egl:egl_context:renderer_gles2: smithay::backend::renderer::gles: GL Renderer: "Mesa Intel(R) Iris(R) Plus Graphics 655 (CFL GT3)" native="/dev/dri/card0" platform="PLATFORM_GBM_KHR" version=(1, 5) ptr=94352044771776
2024-07-10T08:16:19.690795Z INFO egl:egl_context:renderer_gles2: smithay::backend::renderer::gles: Supported GL Extensions: ["GL_EXT_blend_minmax", "GL_EXT_multi_draw_arrays", "GL_EXT_texture_filter_anisotropic", "GL_EXT_texture_compression_s3tc", "GL_EXT_texture_compression_dxt1", "GL_EXT_texture_compression_rgtc", "GL_EXT_texture_format_BGRA8888", "GL_OES_compressed_ETC1_RGB8_texture", "GL_OES_depth24", "GL_OES_element_index_uint", "GL_OES_fbo_render_mipmap", "GL_OES_mapbuffer", "GL_OES_rgb8_rgba8", "GL_OES_standard_derivatives", "GL_OES_stencil8", "GL_OES_texture_3D", "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_vertex_half_float", "GL_EXT_draw_instanced", "GL_EXT_texture_sRGB_decode", "GL_OES_EGL_image", "GL_OES_depth_texture", "GL_AMD_performance_monitor", "GL_OES_packed_depth_stencil", "GL_EXT_texture_type_2_10_10_10_REV", "GL_NV_conditional_render", "GL_OES_get_program_binary", "GL_APPLE_texture_max_level", "GL_EXT_discard_framebuffer", "GL_EXT_read_format_bgra", "GL_NV_pack_subimage", "GL_EXT_frag_depth", "GL_NV_fbo_color_attachments", "GL_OES_EGL_image_external", "GL_OES_EGL_sync", "GL_OES_vertex_array_object", "GL_OES_viewport_array", "GL_ANGLE_pack_reverse_row_order", "GL_ANGLE_texture_compression_dxt3", "GL_ANGLE_texture_compression_dxt5", "GL_EXT_occlusion_query_boolean", "GL_EXT_robustness", "GL_EXT_texture_rg", "GL_EXT_unpack_subimage", "GL_NV_draw_buffers", "GL_NV_read_buffer", "GL_NV_read_depth", "GL_NV_read_depth_stencil", "GL_NV_read_stencil", "GL_EXT_draw_buffers", "GL_EXT_map_buffer_range", "GL_KHR_debug", "GL_KHR_robustness", "GL_KHR_texture_compression_astc_ldr", "GL_NV_pixel_buffer_object", "GL_OES_depth_texture_cube_map", "GL_OES_required_internalformat", "GL_OES_surfaceless_context", "GL_EXT_color_buffer_float", "GL_EXT_debug_label", "GL_EXT_sRGB_write_control", "GL_EXT_separate_shader_objects", "GL_EXT_shader_framebuffer_fetch", "GL_EXT_shader_group_vote", "GL_EXT_shader_implicit_conversions", "GL_EXT_shader_integer_mix", "GL_EXT_tessellation_point_size", "GL_EXT_tessellation_shader", "GL_INTEL_conservative_rasterization", "GL_INTEL_performance_query", "GL_ANDROID_extension_pack_es31a", "GL_EXT_base_instance", "GL_EXT_compressed_ETC1_RGB8_sub_texture", "GL_EXT_copy_image", "GL_EXT_draw_buffers_indexed", "GL_EXT_draw_elements_base_vertex", "GL_EXT_gpu_shader5", "GL_EXT_polygon_offset_clamp", "GL_EXT_primitive_bounding_box", "GL_EXT_render_snorm", "GL_EXT_shader_io_blocks", "GL_EXT_texture_border_clamp", "GL_EXT_texture_buffer", "GL_EXT_texture_cube_map_array", "GL_EXT_texture_norm16", "GL_EXT_texture_view", "GL_KHR_blend_equation_advanced", "GL_KHR_blend_equation_advanced_coherent", "GL_KHR_context_flush_control", "GL_KHR_robust_buffer_access_behavior", "GL_NV_image_formats", "GL_NV_shader_noperspective_interpolation", "GL_OES_copy_image", "GL_OES_draw_buffers_indexed", "GL_OES_draw_elements_base_vertex", "GL_OES_gpu_shader5", "GL_OES_primitive_bounding_box", "GL_OES_sample_shading", "GL_OES_sample_variables", "GL_OES_shader_io_blocks", "GL_OES_shader_multisample_interpolation", "GL_OES_tessellation_point_size", "GL_OES_tessellation_shader", "GL_OES_texture_border_clamp", "GL_OES_texture_buffer", "GL_OES_texture_cube_map_array", "GL_OES_texture_stencil8", "GL_OES_texture_storage_multisample_2d_array", "GL_OES_texture_view", "GL_EXT_blend_func_extended", "GL_EXT_buffer_storage", "GL_EXT_float_blend", "GL_EXT_geometry_point_size", "GL_EXT_geometry_shader", "GL_EXT_shader_samples_identical", "GL_EXT_texture_sRGB_R8", "GL_KHR_no_error", "GL_KHR_texture_compression_astc_sliced_3d", "GL_NV_fragment_shader_interlock", "GL_OES_EGL_image_external_essl3", "GL_OES_geometry_point_size", "GL_OES_geometry_shader", "GL_OES_shader_image_atomic", "GL_EXT_clear_texture", "GL_EXT_clip_cull_distance", "GL_EXT_disjoint_timer_query", "GL_EXT_texture_compression_s3tc_srgb", "GL_MESA_shader_integer_functions", "GL_EXT_clip_control", "GL_EXT_color_buffer_half_float", "GL_EXT_memory_object", "GL_EXT_memory_object_fd", "GL_EXT_semaphore", "GL_EXT_semaphore_fd", "GL_EXT_texture_compression_bptc", "GL_EXT_texture_mirror_clamp_to_edge", "GL_KHR_parallel_shader_compile", "GL_EXT_EGL_image_storage", "GL_EXT_shader_framebuffer_fetch_non_coherent", "GL_EXT_texture_shadow_lod", "GL_INTEL_blackhole_render", "GL_MESA_framebuffer_flip_y", "GL_NV_compute_shader_derivatives", "GL_EXT_demote_to_helper_invocation", "GL_EXT_depth_clamp", "GL_EXT_texture_query_lod", "GL_MESA_bgra", ""] native="/dev/dri/card0" platform="PLATFORM_GBM_KHR" version=(1, 5) ptr=94352044771776
2024-07-10T08:16:19.698830Z INFO anvil::udev: Trying to setup connector DP-1 crtc=crtc::Handle(51)
2024-07-10T08:16:19.700074Z INFO drm_atomic:create_surface:drm_atomic: smithay::backend::drm::surface::atomic: Initializing drm surface (crtc::Handle(51):plane::Handle(31)) with mode Mode { name: "1680x1440", clock: 163500, size: (1680, 1440), hsync: (1728, 1760, 1840), vsync: (1443, 1453, 1481), hskew: 0, vscan: 0, vrefresh: 60, mode_type: ModeTypeFlags(PREFERRED | DRIVER) } and connectors [connector::Handle(95)] crtc=crtc::Handle(51) mode=Mode { name: "1680x1440", clock: 163500, size: (1680, 1440), hsync: (1728, 1760, 1840), vsync: (1443, 1453, 1481), hskew: 0, vscan: 0, vrefresh: 60, mode_type: ModeTypeFlags(PREFERRED | DRIVER) } connectors=[connector::Handle(95)] crtc=crtc::Handle(51)
2024-07-10T08:16:19.700379Z INFO new: smithay::output: Creating new Output name="DP-1" name="DP-1" physical=PhysicalProperties { size: Size<smithay::utils::geometry::Raw> { w: 1190, h: 340 }, subpixel: Unknown, make: "11_10_12", model: "LS49A950U" }
2024-07-10T08:16:19.700425Z INFO smithay::wayland::output: Creating new wl_output output="DP-1"
2024-07-10T08:16:19.705207Z INFO smithay::backend::drm::surface::atomic: Adding connector: DisplayPort
2024-07-10T08:16:19.705245Z INFO smithay::backend::drm::surface::atomic: Setting new mode: "1680x1440"
2024-07-10T08:16:19.705363Z WARN smithay::backend::drm::surface::atomic: Failed to destroy old mode property blob: No such file or directory (os error 2)
2024-07-10T08:16:19.843253Z INFO anvil::udev: Trying to initialize EGL Hardware Acceleration primary_gpu=DrmNode { dev: 57984, ty: Render }
2024-07-10T08:16:19.843497Z INFO anvil::udev: EGL hardware-acceleration enabled
2024-07-10T08:16:19.846131Z INFO smithay::xwayland::xserver: spawning XWayland instance
2024-07-10T08:16:20.038022Z INFO smithay::backend::libinput: New device "event2"
2024-07-10T08:16:20.038189Z INFO smithay::backend::libinput: New device "event3"
2024-07-10T08:16:20.038242Z INFO smithay::backend::libinput: New device "event1"
2024-07-10T08:16:20.038290Z INFO smithay::backend::libinput: New device "event0"
2024-07-10T08:16:20.038336Z INFO smithay::backend::libinput: New device "event4"
2024-07-10T08:16:20.038375Z INFO smithay::backend::libinput: New device "event5"
2024-07-10T08:16:20.038426Z INFO smithay::backend::libinput: New device "event7"
2024-07-10T08:16:20.038466Z INFO smithay::backend::libinput: New device "event6"
2024-07-10T08:16:20.038508Z INFO smithay::backend::libinput: New device "event17"
2024-07-10T08:16:24.807062Z INFO anvil::input_handler: Trying to switch vt to=4
2024-07-10T08:16:25.076050Z INFO smithay::backend::libinput: Removed device "event5"
2024-07-10T08:16:25.076157Z INFO smithay::backend::libinput: Removed device "event0"
2024-07-10T08:16:25.076187Z INFO smithay::backend::libinput: Removed device "event3"
2024-07-10T08:16:25.076227Z INFO smithay::backend::libinput: Removed device "event7"
2024-07-10T08:16:25.076283Z INFO smithay::backend::libinput: Removed device "event2"
2024-07-10T08:16:25.076308Z INFO smithay::backend::libinput: Removed device "event6"
2024-07-10T08:16:25.076366Z INFO smithay::backend::libinput: Removed device "event1"
2024-07-10T08:16:25.076389Z INFO smithay::backend::libinput: Removed device "event17"
2024-07-10T08:16:25.076409Z INFO smithay::backend::libinput: Removed device "event4"
2024-07-10T08:16:25.076991Z INFO anvil::udev: pausing session
2024-07-10T08:16:25.093060Z WARN anvil::udev: Error during rendering: TemporaryFailure(DeviceInactive)
2024-07-10T08:16:25.109360Z WARN anvil::udev: Error during rendering: TemporaryFailure(DeviceInactive)
2024-07-10T08:16:25.125651Z WARN anvil::udev: Error during rendering: TemporaryFailure(DeviceInactive)
[...] truncated many more identical WARN lines
UPDATE! Just tried niri again and it worked!
The difference is that yesterday I tried using the full screen, and today I tried in a smaller Picture-by-picture screen. I'll try both of these again using the full screen now.
anvil NOT working on full screen! Here's the log, hopefully it can help..
The screen is SAMSUNG LS49A95UIUXEN with the native resolution of 5120x1440 and has support for Picure-by-Picture mode with multiple inputs and when I use that mode it is working, when using just one output on full screen, it's not.
2024-07-10T08:27:55.943753Z INFO anvil: Starting anvil on a tty using udev
2024-07-10T08:27:55.954922Z INFO anvil::udev: Using renderD128 as primary gpu.
2024-07-10T08:27:55.955763Z INFO smithay::wayland::socket: Created new socket name=Some("wayland-1")
2024-07-10T08:27:55.955832Z INFO anvil::state: Listening on wayland socket name="wayland-1"
2024-07-10T08:27:55.956091Z INFO input_seat:add_keyboard:input_keyboard: smithay::input::keyboard: Initializing a xkbcommon handler with keymap query name="seat0" xkb_config=XkbConfig { rules: "", model: "", layout: "", variant: "", options: None } repeat_delay=200 repeat_rate=25
2024-07-10T08:27:55.958569Z INFO input_seat:add_keyboard:input_keyboard: smithay::input::keyboard: Loaded Keymap name="English (US)" name="seat0" xkb_config=XkbConfig { rules: "", model: "", layout: "", variant: "", options: None } repeat_delay=200 repeat_rate=25
2024-07-10T08:27:56.446752Z INFO smithay::backend::libinput: Initializing a libinput backend
2024-07-10T08:27:56.447778Z WARN smithay::backend::drm::device::fd: Unable to become drm master, assuming unprivileged mode
2024-07-10T08:27:56.447827Z INFO smithay::backend::drm::device: DrmDevice initializing
2024-07-10T08:27:56.499604Z INFO smithay::backend::egl::display: Successfully selected EGL platform: PLATFORM_GBM_KHR
2024-07-10T08:27:56.500766Z INFO smithay::backend::egl::display: EGL Initialized
2024-07-10T08:27:56.500792Z INFO smithay::backend::egl::display: EGL Version: (1, 5)
2024-07-10T08:27:56.500851Z INFO smithay::backend::egl::display: Supported EGL display extensions: ["EGL_ANDROID_blob_cache", "EGL_ANDROID_native_fence_sync", "EGL_EXT_buffer_age", "EGL_EXT_create_context_robustness", "EGL_EXT_image_dma_buf_import", "EGL_EXT_image_dma_buf_import_modifiers", "EGL_IMG_context_priority", "EGL_KHR_cl_event2", "EGL_KHR_config_attribs", "EGL_KHR_context_flush_control", "EGL_KHR_create_context", "EGL_KHR_create_context_no_error", "EGL_KHR_fence_sync", "EGL_KHR_get_all_proc_addresses", "EGL_KHR_gl_colorspace", "EGL_KHR_gl_renderbuffer_image", "EGL_KHR_gl_texture_2D_image", "EGL_KHR_gl_texture_3D_image", "EGL_KHR_gl_texture_cubemap_image", "EGL_KHR_image", "EGL_KHR_image_base", "EGL_KHR_image_pixmap", "EGL_KHR_no_config_context", "EGL_KHR_reusable_sync", "EGL_KHR_surfaceless_context", "EGL_EXT_pixel_format_float", "EGL_KHR_wait_sync", "EGL_MESA_configless_context", "EGL_MESA_drm_image", "EGL_MESA_image_dma_buf_export", "EGL_MESA_query_driver", "EGL_WL_bind_wayland_display", ""]
2024-07-10T08:27:56.501423Z INFO smithay::backend::egl::display: Successfully selected EGL platform: PLATFORM_GBM_KHR
2024-07-10T08:27:56.502458Z INFO smithay::backend::egl::display: EGL Initialized
2024-07-10T08:27:56.502479Z INFO smithay::backend::egl::display: EGL Version: (1, 5)
2024-07-10T08:27:56.502533Z INFO smithay::backend::egl::display: Supported EGL display extensions: ["EGL_ANDROID_blob_cache", "EGL_ANDROID_native_fence_sync", "EGL_EXT_buffer_age", "EGL_EXT_create_context_robustness", "EGL_EXT_image_dma_buf_import", "EGL_EXT_image_dma_buf_import_modifiers", "EGL_IMG_context_priority", "EGL_KHR_cl_event2", "EGL_KHR_config_attribs", "EGL_KHR_context_flush_control", "EGL_KHR_create_context", "EGL_KHR_create_context_no_error", "EGL_KHR_fence_sync", "EGL_KHR_get_all_proc_addresses", "EGL_KHR_gl_colorspace", "EGL_KHR_gl_renderbuffer_image", "EGL_KHR_gl_texture_2D_image", "EGL_KHR_gl_texture_3D_image", "EGL_KHR_gl_texture_cubemap_image", "EGL_KHR_image", "EGL_KHR_image_base", "EGL_KHR_image_pixmap", "EGL_KHR_no_config_context", "EGL_KHR_reusable_sync", "EGL_KHR_surfaceless_context", "EGL_EXT_pixel_format_float", "EGL_KHR_wait_sync", "EGL_MESA_configless_context", "EGL_MESA_drm_image", "EGL_MESA_image_dma_buf_export", "EGL_MESA_query_driver", "EGL_WL_bind_wayland_display", ""]
2024-07-10T08:27:56.642363Z INFO egl:egl_context: smithay::backend::egl::context: EGL context created priority=Some(High) native="/dev/dri/card0" platform="PLATFORM_GBM_KHR" version=(1, 5) ptr=94722045602448
2024-07-10T08:27:56.644898Z INFO egl:egl_context:renderer_gles2: smithay::backend::renderer::gles: Initializing OpenGL ES Renderer native="/dev/dri/card0" platform="PLATFORM_GBM_KHR" version=(1, 5) ptr=94722045602448
2024-07-10T08:27:56.644939Z INFO egl:egl_context:renderer_gles2: smithay::backend::renderer::gles: GL Version: "OpenGL ES 3.2 Mesa 22.3.6" native="/dev/dri/card0" platform="PLATFORM_GBM_KHR" version=(1, 5) ptr=94722045602448
2024-07-10T08:27:56.644961Z INFO egl:egl_context:renderer_gles2: smithay::backend::renderer::gles: GL Vendor: "Intel" native="/dev/dri/card0" platform="PLATFORM_GBM_KHR" version=(1, 5) ptr=94722045602448
2024-07-10T08:27:56.644980Z INFO egl:egl_context:renderer_gles2: smithay::backend::renderer::gles: GL Renderer: "Mesa Intel(R) Iris(R) Plus Graphics 655 (CFL GT3)" native="/dev/dri/card0" platform="PLATFORM_GBM_KHR" version=(1, 5) ptr=94722045602448
2024-07-10T08:27:56.644999Z INFO egl:egl_context:renderer_gles2: smithay::backend::renderer::gles: Supported GL Extensions: ["GL_EXT_blend_minmax", "GL_EXT_multi_draw_arrays", "GL_EXT_texture_filter_anisotropic", "GL_EXT_texture_compression_s3tc", "GL_EXT_texture_compression_dxt1", "GL_EXT_texture_compression_rgtc", "GL_EXT_texture_format_BGRA8888", "GL_OES_compressed_ETC1_RGB8_texture", "GL_OES_depth24", "GL_OES_element_index_uint", "GL_OES_fbo_render_mipmap", "GL_OES_mapbuffer", "GL_OES_rgb8_rgba8", "GL_OES_standard_derivatives", "GL_OES_stencil8", "GL_OES_texture_3D", "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_vertex_half_float", "GL_EXT_draw_instanced", "GL_EXT_texture_sRGB_decode", "GL_OES_EGL_image", "GL_OES_depth_texture", "GL_AMD_performance_monitor", "GL_OES_packed_depth_stencil", "GL_EXT_texture_type_2_10_10_10_REV", "GL_NV_conditional_render", "GL_OES_get_program_binary", "GL_APPLE_texture_max_level", "GL_EXT_discard_framebuffer", "GL_EXT_read_format_bgra", "GL_NV_pack_subimage", "GL_EXT_frag_depth", "GL_NV_fbo_color_attachments", "GL_OES_EGL_image_external", "GL_OES_EGL_sync", "GL_OES_vertex_array_object", "GL_OES_viewport_array", "GL_ANGLE_pack_reverse_row_order", "GL_ANGLE_texture_compression_dxt3", "GL_ANGLE_texture_compression_dxt5", "GL_EXT_occlusion_query_boolean", "GL_EXT_robustness", "GL_EXT_texture_rg", "GL_EXT_unpack_subimage", "GL_NV_draw_buffers", "GL_NV_read_buffer", "GL_NV_read_depth", "GL_NV_read_depth_stencil", "GL_NV_read_stencil", "GL_EXT_draw_buffers", "GL_EXT_map_buffer_range", "GL_KHR_debug", "GL_KHR_robustness", "GL_KHR_texture_compression_astc_ldr", "GL_NV_pixel_buffer_object", "GL_OES_depth_texture_cube_map", "GL_OES_required_internalformat", "GL_OES_surfaceless_context", "GL_EXT_color_buffer_float", "GL_EXT_debug_label", "GL_EXT_sRGB_write_control", "GL_EXT_separate_shader_objects", "GL_EXT_shader_framebuffer_fetch", "GL_EXT_shader_group_vote", "GL_EXT_shader_implicit_conversions", "GL_EXT_shader_integer_mix", "GL_EXT_tessellation_point_size", "GL_EXT_tessellation_shader", "GL_INTEL_conservative_rasterization", "GL_INTEL_performance_query", "GL_ANDROID_extension_pack_es31a", "GL_EXT_base_instance", "GL_EXT_compressed_ETC1_RGB8_sub_texture", "GL_EXT_copy_image", "GL_EXT_draw_buffers_indexed", "GL_EXT_draw_elements_base_vertex", "GL_EXT_gpu_shader5", "GL_EXT_polygon_offset_clamp", "GL_EXT_primitive_bounding_box", "GL_EXT_render_snorm", "GL_EXT_shader_io_blocks", "GL_EXT_texture_border_clamp", "GL_EXT_texture_buffer", "GL_EXT_texture_cube_map_array", "GL_EXT_texture_norm16", "GL_EXT_texture_view", "GL_KHR_blend_equation_advanced", "GL_KHR_blend_equation_advanced_coherent", "GL_KHR_context_flush_control", "GL_KHR_robust_buffer_access_behavior", "GL_NV_image_formats", "GL_NV_shader_noperspective_interpolation", "GL_OES_copy_image", "GL_OES_draw_buffers_indexed", "GL_OES_draw_elements_base_vertex", "GL_OES_gpu_shader5", "GL_OES_primitive_bounding_box", "GL_OES_sample_shading", "GL_OES_sample_variables", "GL_OES_shader_io_blocks", "GL_OES_shader_multisample_interpolation", "GL_OES_tessellation_point_size", "GL_OES_tessellation_shader", "GL_OES_texture_border_clamp", "GL_OES_texture_buffer", "GL_OES_texture_cube_map_array", "GL_OES_texture_stencil8", "GL_OES_texture_storage_multisample_2d_array", "GL_OES_texture_view", "GL_EXT_blend_func_extended", "GL_EXT_buffer_storage", "GL_EXT_float_blend", "GL_EXT_geometry_point_size", "GL_EXT_geometry_shader", "GL_EXT_shader_samples_identical", "GL_EXT_texture_sRGB_R8", "GL_KHR_no_error", "GL_KHR_texture_compression_astc_sliced_3d", "GL_NV_fragment_shader_interlock", "GL_OES_EGL_image_external_essl3", "GL_OES_geometry_point_size", "GL_OES_geometry_shader", "GL_OES_shader_image_atomic", "GL_EXT_clear_texture", "GL_EXT_clip_cull_distance", "GL_EXT_disjoint_timer_query", "GL_EXT_texture_compression_s3tc_srgb", "GL_MESA_shader_integer_functions", "GL_EXT_clip_control", "GL_EXT_color_buffer_half_float", "GL_EXT_memory_object", "GL_EXT_memory_object_fd", "GL_EXT_semaphore", "GL_EXT_semaphore_fd", "GL_EXT_texture_compression_bptc", "GL_EXT_texture_mirror_clamp_to_edge", "GL_KHR_parallel_shader_compile", "GL_EXT_EGL_image_storage", "GL_EXT_shader_framebuffer_fetch_non_coherent", "GL_EXT_texture_shadow_lod", "GL_INTEL_blackhole_render", "GL_MESA_framebuffer_flip_y", "GL_NV_compute_shader_derivatives", "GL_EXT_demote_to_helper_invocation", "GL_EXT_depth_clamp", "GL_EXT_texture_query_lod", "GL_MESA_bgra", ""] native="/dev/dri/card0" platform="PLATFORM_GBM_KHR" version=(1, 5) ptr=94722045602448
2024-07-10T08:27:56.652242Z INFO anvil::udev: Trying to setup connector DP-1 crtc=crtc::Handle(51)
2024-07-10T08:27:56.653056Z INFO drm_atomic:create_surface:drm_atomic: smithay::backend::drm::surface::atomic: Initializing drm surface (crtc::Handle(51):plane::Handle(31)) with mode Mode { name: "5120x1440", clock: 469000, size: (5120, 1440), hsync: (5168, 5200, 5280), vsync: (1443, 1453, 1481), hskew: 0, vscan: 0, vrefresh: 60, mode_type: ModeTypeFlags(PREFERRED | DRIVER) } and connectors [connector::Handle(95)] crtc=crtc::Handle(51) mode=Mode { name: "5120x1440", clock: 469000, size: (5120, 1440), hsync: (5168, 5200, 5280), vsync: (1443, 1453, 1481), hskew: 0, vscan: 0, vrefresh: 60, mode_type: ModeTypeFlags(PREFERRED | DRIVER) } connectors=[connector::Handle(95)] crtc=crtc::Handle(51)
2024-07-10T08:27:56.653363Z INFO new: smithay::output: Creating new Output name="DP-1" name="DP-1" physical=PhysicalProperties { size: Size<smithay::utils::geometry::Raw> { w: 1190, h: 340 }, subpixel: Unknown, make: "Unknown", model: "Unknown" }
2024-07-10T08:27:56.653411Z INFO smithay::wayland::output: Creating new wl_output output="DP-1"
2024-07-10T08:27:56.656999Z WARN new: smithay::backend::drm::compositor: Mode-setting failed with automatically selected buffer format DrmFormat { code: DrmFourcc(AB30), modifier: I915_y_tiled }: DRM access error: Error testing state on device `Some("/dev/dri/card0")` (Invalid argument (os error 22))
2024-07-10T08:27:56.657114Z WARN new: smithay::backend::drm::compositor: Preferred format AB30 not available: DrmError(Access(AccessError { errmsg: "Error testing state", dev: Some("/dev/dri/card0"), source: Os { code: 22, kind: InvalidInput, message: "Invalid argument" } }))
2024-07-10T08:27:56.660340Z WARN new: smithay::backend::drm::compositor: Mode-setting failed with automatically selected buffer format DrmFormat { code: DrmFourcc(AR30), modifier: I915_y_tiled }: DRM access error: Error testing state on device `Some("/dev/dri/card0")` (Invalid argument (os error 22))
2024-07-10T08:27:56.660473Z WARN new: smithay::backend::drm::compositor: Preferred format AR30 not available: DrmError(Access(AccessError { errmsg: "Error testing state", dev: Some("/dev/dri/card0"), source: Os { code: 22, kind: InvalidInput, message: "Invalid argument" } }))
2024-07-10T08:27:56.663848Z WARN new: smithay::backend::drm::compositor: Mode-setting failed with automatically selected buffer format DrmFormat { code: DrmFourcc(AB24), modifier: I915_y_tiled_ccs }: DRM access error: Error testing state on device `Some("/dev/dri/card0")` (Invalid argument (os error 22))
2024-07-10T08:27:56.664187Z WARN new: smithay::backend::drm::compositor: Preferred format AB24 not available: DrmError(Access(AccessError { errmsg: "Error testing state", dev: Some("/dev/dri/card0"), source: Os { code: 22, kind: InvalidInput, message: "Invalid argument" } }))
2024-07-10T08:27:56.667571Z WARN new: smithay::backend::drm::compositor: Mode-setting failed with automatically selected buffer format DrmFormat { code: DrmFourcc(AR24), modifier: I915_y_tiled_ccs }: DRM access error: Error testing state on device `Some("/dev/dri/card0")` (Invalid argument (os error 22))
2024-07-10T08:27:56.667801Z WARN new: smithay::backend::drm::compositor: Preferred format AR24 not available: DrmError(Access(AccessError { errmsg: "Error testing state", dev: Some("/dev/dri/card0"), source: Os { code: 22, kind: InvalidInput, message: "Invalid argument" } }))
2024-07-10T08:27:56.668002Z WARN anvil::udev: Failed to create drm compositor: The underlying drm surface encountered an error: DRM access error: Error testing state on device `Some("/dev/dri/card0")` (Invalid argument (os error 22))
2024-07-10T08:27:56.668129Z INFO anvil::udev: Trying to initialize EGL Hardware Acceleration primary_gpu=DrmNode { dev: 57984, ty: Render }
2024-07-10T08:27:56.668297Z INFO anvil::udev: EGL hardware-acceleration enabled
2024-07-10T08:27:56.669298Z INFO smithay::xwayland::xserver: spawning XWayland instance
2024-07-10T08:28:03.858719Z INFO smithay::backend::libinput: New device "event2"
2024-07-10T08:28:03.859001Z INFO smithay::backend::libinput: New device "event3"
2024-07-10T08:28:03.865913Z INFO smithay::backend::libinput: New device "event1"
2024-07-10T08:28:03.866166Z INFO smithay::backend::libinput: New device "event0"
2024-07-10T08:28:03.866332Z INFO smithay::backend::libinput: New device "event4"
2024-07-10T08:28:03.866470Z INFO smithay::backend::libinput: New device "event5"
2024-07-10T08:28:03.866632Z INFO smithay::backend::libinput: New device "event7"
2024-07-10T08:28:03.866776Z INFO smithay::backend::libinput: New device "event6"
2024-07-10T08:28:03.866923Z INFO smithay::backend::libinput: New device "event17"
2024-07-10T08:28:04.202636Z INFO anvil::input_handler: Trying to switch vt to=4
2024-07-10T08:28:04.568094Z INFO smithay::backend::libinput: Removed device "event5"
2024-07-10T08:28:04.568213Z INFO smithay::backend::libinput: Removed device "event0"
2024-07-10T08:28:04.568247Z INFO smithay::backend::libinput: Removed device "event3"
2024-07-10T08:28:04.568291Z INFO smithay::backend::libinput: Removed device "event7"
2024-07-10T08:28:04.568352Z INFO smithay::backend::libinput: Removed device "event2"
2024-07-10T08:28:04.568380Z INFO smithay::backend::libinput: Removed device "event6"
2024-07-10T08:28:04.568435Z INFO smithay::backend::libinput: Removed device "event1"
2024-07-10T08:28:04.568458Z INFO smithay::backend::libinput: Removed device "event17"
2024-07-10T08:28:04.568477Z INFO smithay::backend::libinput: Removed device "event4"
2024-07-10T08:28:04.568737Z INFO anvil::udev: pausing session
Very interesting, thanks. @cmeissl any idea?
Yeah, this looks like some bandwidth limitation. Beside the obvious, lowering resolution and/or refresh rate, it might also work to fall back to invalid modifier. Does niri always filter out the ccs formats?
Does the monitor use two connectors for the full resolution? iirc this should be handled by BigJoiner in the intel driver.
Might help to look at the output of drm_info when a different working compositor is running.
But my best guess is that this also fails on wlroots, but does automatically fall back to invalid modifiers.
Does niri always filter out the ccs formats?
I believe so, yeah.
I can confirm that when running on single full-screen output using a lower resolution is working
output "DP-1" {
mode "3440x1440"
}
2024-07-10T09:03:35.421749Z INFO niri: starting version 0.1.7 (v0.1.7-37-gf9fe86e)
2024-07-10T09:03:35.445708Z DEBUG niri_config: loaded config from "/home/fl/.config/niri/config.kdl"
2024-07-10T09:03:35.975485Z INFO niri::backend::tty: using as the render node: "/dev/dri/renderD128"
2024-07-10T09:03:35.994946Z DEBUG niri::backend::tty: device added: 57856 "/dev/dri/card0"
2024-07-10T09:03:36.034528Z DEBUG niri::backend::tty: this is the primary node
2024-07-10T09:03:36.034550Z DEBUG niri::backend::tty: this is the primary render node
2024-07-10T09:03:36.047034Z DEBUG niri::backend::tty: device changed: 57856
2024-07-10T09:03:36.179588Z DEBUG niri::backend::tty: connecting connector: DP-1
2024-07-10T09:03:36.179712Z DEBUG niri::backend::tty: picking mode: Mode { name: "3440x1440", clock: 319750, size: (3440, 1440), hsync: (3488, 3520, 3600), vsync: (1443, 1453, 1481), hskew: 0, vscan: 0, vrefresh: 60, mode_type: ModeTypeFlags(DRIVER) }
2024-07-10T09:03:36.179810Z DEBUG niri::backend::tty: set max bpc to 8
2024-07-10T09:03:36.185909Z DEBUG niri::niri: putting output DP-1 at x=0 y=0
2024-07-10T09:03:36.186054Z INFO niri: listening on Wayland socket: wayland-1
2024-07-10T09:03:36.186068Z INFO niri: IPC listening on: /run/user/1001/niri.wayland-1.16145.sock
2024-07-10T09:03:36.344089Z WARN niri::dbus: error starting org.freedesktop.ScreenSaver: name already taken on the bus
2024-07-10T09:03:36.347240Z WARN niri::dbus: error starting org.gnome.Shell.Screenshot: name already taken on the bus
2024-07-10T09:03:36.350374Z WARN niri::dbus: error starting org.gnome.Shell.Introspect: name already taken on the bus
2024-07-10T09:03:36.352914Z WARN niri::dbus: error starting org.gnome.Mutter.ScreenCast: name already taken on the bus
2024-07-10T09:03:52.975141Z INFO niri::input: quitting after confirming exit dialog
2024-07-10T09:03:53.366367Z DEBUG niri::utils::watcher: exiting watcher thread for /home/fl/.config/niri/config.kdl
Monitor is using a single HDMI cable to connect, and is working fine in full resolution in gnome/wayland.
Could you attach drm_info from working low resolution niri and then from working full resolution gnome?
Here are the drm_info logs: gnome_drm_info.log, niri_lowres_drm_info.log
GNOME:
│ │ │ ├───Size: 5120x1440
│ │ │ ├───Format: XRGB8888 (0x34325258)
│ │ │ ├───Modifier: I915_FORMAT_MOD_X_TILED (0x100000000000001)
│ │ │ └───Planes:
│ │ │ └───Plane 0: offset = 0, pitch = 20480 bytes
niri:
│ │ │ ├───Size: 3440x1440
│ │ │ ├───Format: ARGB8888 (0x34325241)
│ │ │ ├───Modifier: I915_FORMAT_MOD_Y_TILED (0x100000000000002)
│ │ │ └───Planes:
│ │ │ └───Plane 0: offset = 0, pitch = 13824 bytes
Wonder if alpha is making the difference this time...
Could you try this in niri: open src/backend/tty.rs, then on line 68 change both Argb and Abgr to Xrgb and Xbgr, then build and try that?
Yes, did that and it doesn't solve the issue.
Thanks. This is likely one of these modifier selection issues that needs better handling in Smithay.
I guess one more hotfix you could try is adding | Modifier::I915_y_tiled to the list of disallowed modifiers on line 957, in case you get lucky and it selects something working then.
THAT WORKED! Now writing from the working full screen niri instance, started regulary from the gdm, and here's the working drm_info.log.
Thank you!
Wow, okay, nice. Thanks for testing. I'll see if I can come up with a different, proper patch for you to try later, if you don't mind
No problem, I'll be available.
Hey, sorry it took a while, but in 0bed2538351824ac31e20fad186099612c1af4ce I made niri retry with the invalid modifier if the normal ones fail. Could you try a git niri build without the patch above, to see if it is able to turn on your monitor properly?
Well let's assume it worked. It's been in v0.1.9 and v0.1.10 releases.