CuarzoSoftware / Louvre

C++ library for building Wayland compositors.
MIT License
506 stars 14 forks source link

Failed to initialize output #46

Closed rafalz1978 closed 5 months ago

rafalz1978 commented 5 months ago

I cant figure out how to fix the error, Im on Arch linux, KDE Wayland, nvidia. Thank you

Louvre error: [LCompositor::addOutput] Failed to initialize output DisplayPort-2.

ehopperdietzel commented 5 months ago

Hi, are you launching it from a free tty?

ehopperdietzel commented 5 months ago

From the Examples section:

To run any example, switch to a free TTY session using the CTRL + ALT + [F1,...,F10]key combination or execute the $ sudo chvt N command, where N represents the desired TTY number. Then, proceed to execute the compositor command.

rafalz1978 commented 5 months ago

so when executing it, my computer is going to sleep, same with examples.

ehopperdietzel commented 5 months ago

Hmm, could you please send me the output of this SRM_DEBUG=4 LOUVRE_DEBUG=4 louvre-views > ~/louvre.log 2>&1 ? It should create a louvre.log file in your home directory.

rafalz1978 commented 5 months ago

Louvre error: [LCompositor::addOutput] Failed to initialize output DisplayPort-2.

rafalz1978 commented 5 months ago

and the log in KDE from console Louvre debug: [LLauncher::startDaemon] LLauncher daemon started successfully with PID: 2206. unable to lock lockfile /run/user/1000/wayland-0.lock, maybe another compositor is running Louvre error: [LCompositorPrivate::initWayland] Failed to add custom socket wayland-0. Trying wl_display_add_socket_auto instead. unable to lock lockfile /run/user/1000/wayland-0.lock, maybe another compositor is running Louvre debug: [LCompositorPrivate::loadGraphicBackend] Graphic backend loaded successfully (/usr/lib/Louvre/backends/graphic/drm.so). Louvre debug: [LCompositorPrivate::initGraphicBackend] Graphic backend initialized successfully. Louvre debug: [LCompositorPrivate::loadInputBackend] Input backend loaded successfully (/usr/lib/Louvre/backends/input/libinput.so). Louvre debug: [LCompositorPrivate::initInputBackend] Input backend initialized successfully. Louvre error: [LCompositor::addOutput] Failed to initialize output DisplayPort-2. ^CLouvre debug: [LLauncher] Daemon exited with status 0.

ehopperdietzel commented 5 months ago
  1. Ensure you are running it from a free TTY.

    For example, you could switch to TTY 3 with:

    sudo chvt 3

    A black terminal should appear, if not, try another number. Then login to your user account.

  2. Finally, execute one of the examples:

    LOUVRE_WAYLAND_DISPLAY=wayland-3 WAYLAND_DISPLAY=wayland-3 louvre-views

    The LOUVRE_WAYLAND_DISPLAY and WAYLAND_DISPLAY environment variables are required because it seems you have another Wayland compositor running (using the wayland-0 socket).

rafalz1978 commented 5 months ago

still not working, I disabled my display manager too, same thing.

ehopperdietzel commented 5 months ago

Not sure what could be happening, could you run this again and send me the output?

SRM_DEBUG=4 LOUVRE_DEBUG=4 louvre-views > ~/louvre.log 2>&1

Please this time don't forget to add SRM_DEBUG=4

ehopperdietzel commented 5 months ago

You can press Ctrl + Shift + Esc to exit the examples btw.

rafalz1978 commented 5 months ago

Louvre debug: [LCompositorPrivate::initGraphicBackend] Graphic backend initialized successfully. SRM warning: [/dev/dri/card0] Directly mapping buffer DMA fd failed. Trying gbm_bo_map. SRM error: [/dev/dri/card0] srmBufferWrite() failed. Buffers with the GL_TEXTURE_EXTERNAL_OES target are immutable. Louvre debug: [LCompositorPrivate::loadInputBackend] Input backend loaded successfully (/usr/lib/Louvre/backends/input/libinput.so). Louvre debug: [LCompositorPrivate::initInputBackend] Input backend initialized successfully. SRM warning: [/dev/dri/card0] Directly mapping buffer DMA fd failed. Trying gbm_bo_map. SRM error: [/dev/dri/card0] srmBufferWrite() failed. Buffers with the GL_TEXTURE_EXTERNAL_OES target are immutable. SRM warning: [/dev/dri/card0] Directly mapping buffer DMA fd failed. Trying gbm_bo_map. SRM error: [/dev/dri/card0] srmBufferWrite() failed. Buffers with the GL_TEXTURE_EXTERNAL_OES target are immutable. SRM warning: [/dev/dri/card0] Directly mapping buffer DMA fd failed. Trying gbm_bo_map. SRM error: [/dev/dri/card0] srmBufferWrite() failed. Buffers with the GL_TEXTURE_EXTERNAL_OES target are immutable. SRM warning: [/dev/dri/card0] Directly mapping buffer DMA fd failed. Trying gbm_bo_map. SRM error: [/dev/dri/card0] srmBufferWrite() failed. Buffers with the GL_TEXTURE_EXTERNAL_OES target are immutable. SRM warning: [/dev/dri/card0] Directly mapping buffer DMA fd failed. Trying gbm_bo_map. SRM error: [/dev/dri/card0] srmBufferWrite() failed. Buffers with the GL_TEXTURE_EXTERNAL_OES target are immutable. SRM warning: [/dev/dri/card0] Directly mapping buffer DMA fd failed. Trying gbm_bo_map. SRM errLouvre error: [LOpenGL::loadTexture] Failed to load image /usr/etc/Louvre/assets/weston-terminal.png: can't fopen. Louvre error: [LCompositor::addOutput] Failed to initialize output DisplayPort-2.

rafalz1978 commented 5 months ago

I have to reboot computer everytime, because there is no output to monitor, and monitor goes to sleep, but pc is running.

rafalz1978 commented 5 months ago

Louvre debug: [LLauncher::startDaemon] LLauncher daemon started successfully with PID: 4090. Louvre debug: [LCompositorPrivate::loadGraphicBackend] Graphic backend loaded successfully (/usr/lib/Louvre/backends/graphic/drm.so). Louvre debug: [LSeatPrivate::initLibseat] Using libseat. SRM debug: [core] SRM version 0.5.4-1. SRM debug: [core] Deallocator thread started. SRM debug: [/dev/dri/card0] Is master: YES. SRM debug: [/dev/dri/card0] EGL version: 1.5. SRM debug: [/dev/dri/card0] EGL vendor: NVIDIA.

ehopperdietzel commented 5 months ago

Thank you, but you still haven't sent me the complete log, so I can't fully understand what's happening. It seems you're using proprietary Nvidia drivers and it's possible that there's no backend for creating textures with GBM (the log should contain a list of supported formats, but what you've sent seems incomplete).

This means that SRM (Louvre's graphic backend) is failing to create buffers, thus failing to initialize the displays. That's why your window appears black. You can press Left Ctrl + Left Shift + Esc to exit the compositor in such cases, your screen may remain black afterward, but switching tty should fix it.

I think I can fix it by forcing buffer allocation with OpenGL instead of GBM, I'll let you know. For now, I'd appreciate it if you could attach the complete louvre.log file with SRM_DEBUG=4 and LOUVRE_DEBUG=4.

P.S. Nvidia proprietary drivers always seem to have issues, you might consider using Nouveau instead.

ehopperdietzel commented 5 months ago

Hi again, I've made some changes to SRM which I believe will address your issue. Could you please try using the devel branch?

rafalz1978 commented 5 months ago

it does not fix the issue

ehopperdietzel commented 5 months ago

Hmm, I'm not sure what the issue might be. If I had access to the complete log, I could provide more assistance.

rafalz1978 commented 5 months ago

SRM debug: [core] Supported shared DMA formats: Format AB24 [LINEAR] Format XB24 [LINEAR] Format R8 [LINEAR] Format R16 [LINEAR] Format UYVY [LINEAR] Format AR12 [LINEAR] Format AR15 [LINEAR] Format AB4H [LINEAR] Format XB4H [LINEAR] Format AR24 [LINEAR] Format XR24 [LINEAR] Format RG16 [LINEAR] Format AR30 [LINEAR] Format XR30 [LINEAR] Format AB30 [LINEAR] Format YU12 [LINEAR] Format NV12 [LINEAR] Format NV21 [LINEAR] Format NV16 [LINEAR] Format P010 [LINEAR] Format P012 [LINEAR] Louvre debug: [LCompositorPrivate::initGraphicBackend] Graphic backend initialized successfully. SRM warning: [/dev/dri/card0] Directly mapping buffer DMA fd failed. Trying gbm_bo_map. SRM error: [/dev/dri/card0] srmBufferWrite() failed. Buffers with the GL_TEXTURE_EXTERNAL_OES target are immutable. Louvre debug: [LCompositorPrivate::loadInputBackend] Input backend loaded successfully (/usr/lib/Louvre/backends/input/libinput.so). Louvre debug: [LCompositorPrivate::initInputBackend] Input backend initialized successfully. SRM warning: [/dev/dri/card0] Directly mapping buffer DMA fd failed. Trying gbm_bo_map. SRM error: [/dev/dri/card0] srmBufferWrite() failed. Buffers with the GL_TEXTURE_EXTERNAL_OES target are immutable. SRM warning: [/dev/dri/card0] Directly mapping buffer DMA fd failed. Trying gbm_bo_map. SRM error: [/dev/dri/card0] srmBufferWrite() failed. Buffers with the GL_TEXTURE_EXTERNAL_OES target are immutable. SRM warning: [/dev/dri/card0] Directly mapping buffer DMA fd failed. Trying gbm_bo_map. SRM error: [/dev/dri/card0] srmBufferWrite() failed. Buffers with the GL_TEXTURE_EXTERNAL_OES target are immutable. SRM warning: [/dev/dri/card0] Directly mapping buffer DMA fd failed. Trying gbm_bo_map. SRM error: [/dev/dri/card0] srmBufferWrite() failed. Buffers with the GL_TEXTURE_EXTERNAL_OES target are immutable. SRM warning: [/dev/dri/card0] Directly mapping buffer DMA fd failed. Trying gbm_bo_map. SRM error: [/dev/dri/card0] srmBufferWrite() failed. Buffers with the GL_TEXTURE_EXTERNAL_OES target are immutable. SRM warning: [/dev/dri/card0] Directly mapping buffer DMA fd failed. Trying gbm_bo_map. SRM err

ehopperdietzel commented 5 months ago

Thank you! It appears that DMA buffers imported from EGL can only be utilized as GL_TEXTURE_EXTERNAL_OES. I've made some modifications to the SRM devel branch to attempt buffer allocation with OpenGL instead of GBM in such scenarios. Please inform me if this resolves the issue. If not, there's one more approach I can explore.

rafalz1978 commented 5 months ago

SRM debug: [core] Supported shared DMA formats: Format AB24 [LINEAR] Format XB24 [LINEAR] Format R8 [LINEAR] Format R16 [LINEAR] Format UYVY [LINEAR] Format AR12 [LINEAR] Format AR15 [LINEAR] Format AB4H [LINEAR] Format XB4H [LINEAR] Format AR24 [LINEAR] Format XR24 [LINEAR] Format RG16 [LINEAR] Format AR30 [LINEAR] Format XR30 [LINEAR] Format AB30 [LINEAR] Format YU12 [LINEAR] Format NV12 [LINEAR] Format NV21 [LINEAR] Format NV16 [LINEAR] Format P010 [LINEAR] Format P012 [LINEAR] Louvre debug: [LCompositorPrivate::initGraphicBackend] Graphic backend initialized successfully. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. Louvre debug: [LCompositorPrivate::loadInputBackend] Input backend loaded successfully (/usr/lib/Louvre/backends/input/libinput.so). Louvre debug: [LCompositorPrivate::initInputBackend] Input backend initialized successfully. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. SRM debug: [/dev/dri/card0] GL Texture (13) deleted. SRM debug: [/dev/dri/card0] GL Texture (12) deleted. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. Louvre debug: Font Inter or similar found: /usr/share/fonts/noto/NotoSans-Regular.ttf Louvre debug: Font Inter Semi Bold or similar found: /usr/share/fonts/notLouvre error: [LOpenGL::loadTexture] Failed to load image /usr/etc/Louvre/assets/weston-terminal.png: can't fopen. Louvre error: [LCompositor::addOutput] Failed to initialize output DisplayPort-2.

ehopperdietzel commented 5 months ago

Well at least buffer allocation is working now, but I'm not sure why the display isn't initializing. I've added more error messages to help find the problem. Could you try again? Also, you could try running it with SRM_FORCE_LEGACY_API=0, maybe your driver only supports the atomic DRM API.

rafalz1978 commented 5 months ago

Louvre debug: [LLauncher::startDaemon] LLauncher daemon started successfully with PID: 1925. Louvre debug: [LCompositorPrivate::loadGraphicBackend] Graphic backend loaded successfully (/usr/lib/Louvre/backends/graphic/drm.so). Louvre debug: [LSeatPrivate::initLibseat] Using libseat. SRM debug: [core] SRM version 0.5.4-1. SRM debug: [core] Deallocator thread started. SRM debug: [/dev/dri/card0] Is master: YES. SRM debug: [/dev/dri/card0] DRM Driver: nvidia-drm. SRM debug: [/dev/dri/card0] EGL version: 1.5. SRM debug: [/dev/dri/card0] EGL vendor: NVIDIA.

rafalz1978 commented 5 months ago

SRM debug: [core] Supported shared DMA formats: Format AB24 [LINEAR] Format XB24 [LINEAR] Format R8 [LINEAR] Format R16 [LINEAR] Format UYVY [LINEAR] Format AR12 [LINEAR] Format AR15 [LINEAR] Format AB4H [LINEAR] Format XB4H [LINEAR] Format AR24 [LINEAR] Format XR24 [LINEAR] Format RG16 [LINEAR] Format AR30 [LINEAR] Format XR30 [LINEAR] Format AB30 [LINEAR] Format YU12 [LINEAR] Format NV12 [LINEAR] Format NV21 [LINEAR] Format NV16 [LINEAR] Format P010 [LINEAR] Format P012 [LINEAR] Louvre debug: [LCompositorPrivate::initGraphicBackend] Graphic backend initialized successfully. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. Louvre debug: [LCompositorPrivate::loadInputBackend] Input backend loaded successfully (/usr/lib/Louvre/backends/input/libinput.so). Louvre debug: [LCompositorPrivate::initInputBackend] Input backend initialized successfully. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. SRM debug: [/dev/dri/card0] GL Texture (13) deleted. SRM debug: [/dev/dri/card0] GL Texture (12) deleted. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. Louvre debug: Font Inter or similar found: /usr/shar

rafalz1978 commented 5 months ago

Louvre debug: [LLauncher::startDaemon] LLauncher daemon started successfully with PID: 1925. Louvre debug: [LCompositorPrivate::loadGraphicBackend] Graphic backend loaded successfully (/usr/lib/Louvre/backends/graphic/drm.so). Louvre debug: [LSeatPrivate::initLibseat] Using libseat. SRM debug: [core] SRM version 0.5.4-1. SRM debug: [core] Deallocator thread started. SRM debug: [/dev/dri/card0] Is master: YES. SRM debug: [/dev/dri/card0] DRM Driver: nvidia-drm. SRM debug: [/dev/dri/card0] EGL version: 1.5. SRM debug: [/dev/dri/card0] EGL vendor: NVIDIA. SRM debug: [/dev/dri/card0] EGL Extensions: EGL_ANDROID_native_fence_sync EGL_EXT_buffer_age EGL_EXT_client_sync EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_MESA_image_dma_buf_export EGL_EXT_output_base EGL_EXT_output_drm EGL_EXT_protected_content EGL_EXT_stream_consumer_egloutput EGL_EXT_stream_acquire_mode EGL_EXT_sync_reuse EGL_IMG_context_priority EGL_KHR_config_attribs EGL_KHR_create_context_no_error EGL_KHR_context_flush_control EGL_KHR_create_context EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses EGL_KHR_partial_update EGL_KHR_swap_buffers_with_damage EGL_KHR_no_config_context 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_reusable_sync EGL_KHR_stream EGL_KHR_stream_attrib EGL_KHR_stream_consumer_gltexture EGL_KHR_stream_cross_process_fd EGL_KHR_stream_fifo EGL_KHR_stream_producer_eglsurface EGL_KHR_surfaceless_context EGL_KHR_wait_sync EGL_NV_nvrm_fence_sync EGL_NV_quadruple_buffer EGL_NV_stream_consumer_eglimage EGL_NV_stream_cross_display EGL_NV_stream_cross_object EGL_NV_stream_cross_process EGL_NV_stream_cross_system EGL_NV_stream_dma EGL_NV_stream_flush EGL_NV_stream_metadata EGL_NV_stream_remote EGL_NV_stream_reset EGL_NV_stream_socket EGL_NV_stream_socket_inet EGL_NV_stream_socket_unix EGL_NV_stream_sync EGL_NV_stream_fifo_next EGL_NV_stream_fifo_synchronous EGL_NV_stream_consumer_gltexture_yuv EGL_NV_stream_attrib EGL_NV_stream_origin EGL_NV_system_time EGL_NV_output_drm_flip_event EGL_NV_triple_buffer EGL_NV_robustness_video_memory_purge EGL_EXT_present_opaque EGL_WL_bind_wayland_display EGL_WL_wayland_eglstream. SRM debug: [/dev/dri/card0] EGL Device Extensions: EGL_NV_device_cuda EGL_EXT_device_drm EGL_EXT_device_drm_render_node EGL_EXT_device_query_name EGL_EXT_device_persistent_id. SRM debug: [/dev/dri/card0] EGL driver name: nvidia. SRM debug: [/dev/dri/card0] Using medium priority EGL context. SRM debug: [/dev/dri/card0] OpenGL Extensions: 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_conservative_depth GL_EXT_copy_image GL_EXT_depth_clamp GL_EXT_debug_label GL_EXT_discard_framebuffer GL_EXT_disjoint_timer_query GL_EXT_draw_buffers_indexed GL_EXT_draw_elements_base_vertex GL_EXT_EGL_image_array GL_EXT_EGL_image_storage GL_EXT_EGL_image_external_wrap_modes 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_multi_draw_indirect GL_EXT_multisample_compatibility GL_EXT_multisampled_render_to_texture GL_EXT_multisampled_render_to_texture2 GL_EXT_multiview_texture_multisample GL_EXT_multiview_timer_query GL_EXT_occlusion_query_boolean GL_EXT_polygon_offset_clamp GL_EXT_post_depth_coverage GL_EXT_primitive_bounding_box GL_EXT_raster_multisample GL_EXT_render_snorm GL_EXT_robustness 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_non_constant_global_initializers GL_EXT_shader_texture_lod GL_EXT_shadow_samplers GL_EXT_sparse_texture GL_EXT_sparse_texture2 GL_EXT_sRGB GL_EXT_sRGB_write_control 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_cube_map_array GL_EXT_texture_filter_anisotropic GL_EXT_texture_filter_minmax 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_shadow_lod GL_EXT_texture_sRGB_R8 GL_EXT_texture_sRGB_decode GL_EXT_texture_storage GL_EXT_texture_view GL_EXT_draw_transform_feedback GL_EXT_unpack_subimage GL_EXT_window_rectangles GL_KHR_context_flush_control GL_KHR_debug GL_EXT_memory_object GL_EXT_memory_object_fd GL_NV_memory_object_sparse GL_KHR_parallel_shader_compile GL_KHR_no_error GL_KHR_robust_buffer_access_behavior GL_KHR_robustness GL_EXT_semaphore GL_EXT_semaphore_fd GL_NV_timeline_semaphore GL_KHR_shader_subgroup GL_KHR_texture_compression_astc_ldr GL_KHR_texture_compression_astc_sliced_3d GL_KHR_texture_compression_astc_hdr GL_NV_bgr GL_NV_bindless_texture GL_NV_blend_equation_advanced GL_NV_blend_equation_advanced_coherent GL_NVX_blend_equation_advanced_multi_draw_buffers GL_NV_blend_minmax_factor GL_NV_clip_space_w_scaling GL_NV_compute_shader_derivatives GL_NV_conditional_render GL_NV_conservative_raster GL_NV_conservative_raster_pre_snap_triangles GL_NV_copy_buffer GL_NV_copy_image GL_NV_draw_buffers GL_NV_draw_instanced GL_NV_draw_texture GL_NV_draw_vulkan_image GL_NV_EGL_stream_consumer_external GL_NV_explicit_attrib_location GL_NV_fbo_color_attachments GL_NV_fill_rectangle GL_NV_fragment_coverage_to_color GL_NV_fragment_shader_barycentric GL_NV_fragment_shader_interlock GL_NV_framebuffer_blit GL_NV_framebuffer_mixed_samples GL_NV_framebuffer_multisample GL_NV_generate_mipmap_sRGB GL_NV_geometry_shader_passthrough GL_NV_instanced_arrays GL_NV_internalformat_sample_query GL_NV_gpu_shader5 GL_NV_image_formats GL_NV_memory_attachment GL_NV_mesh_shader GL_NV_occlusion_query_samples GL_NV_non_square_matrices GL_NV_pack_subimage GL_NV_packed_float GL_NV_packed_float_linear GL_NV_path_rendering GL_NV_path_rendering_shared_edge GL_NV_pixel_buffer_object GL_NV_polygon_mode GL_NV_primitive_shading_rate GL_NV_read_buffer GL_NV_read_depth GL_NV_read_depth_stencil GL_NV_read_stencil GL_NV_representative_fragment_test GL_NV_sample_locations GL_NV_sample_mask_override_coverage GL_NV_scissor_exclusive GL_NV_shader_atomic_fp16_vector GL_NV_shader_noperspective_interpolation GL_NV_shader_subgroup_partitioned GL_NV_shader_texture_footprint GL_NV_shading_rate_image GL_NV_shadow_samplers_array GL_NV_shadow_samplers_cube GL_NV_sRGB_formats GL_NV_stereo_view_rendering GL_NV_texture_array GL_NV_texture_barrier GL_NV_texture_border_clamp GL_NV_texture_compression_latc GL_NV_texture_compression_s3tc GL_NV_texture_compression_s3tc_update GL_NV_texture_dirty_tile_map GL_NV_timer_query GL_NV_viewport_array GL_NV_viewport_array2 GL_NV_viewport_swizzle GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_OES_compressed_ETC1_RGB8_texture GL_EXT_compressed_ETC1_RGB8_sub_texture GL_OES_depth24 GL_OES_depth32 GL_OES_depth_texture GL_OES_depth_texture_cube_map GL_OES_copy_image GL_OES_draw_buffers_indexed GL_OES_draw_elements_base_vertex GL_OES_texture_border_clamp GL_OES_tessellation_point_size GL_OES_tessellation_shader GL_OES_texture_buffer GL_OES_geometry_point_size GL_OES_geometry_shader GL_OES_gpu_shader5 GL_OES_shader_io_blocks GL_OES_texture_view GL_OES_primitive_bounding_box GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_image_external_essl3 GL_OES_EGL_sync GL_OES_element_index_uint GL_OES_fbo_render_mipmap GL_OES_get_program_binary GL_OES_mapbuffer GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_EXT_read_format_bgra GL_OES_sample_shading GL_OES_sample_variables GL_OES_shader_image_atomic GL_OES_shader_multisample_interpolation GL_OES_standard_derivatives GL_OES_surfaceless_context GL_OES_texture_cube_map_array GL_OES_texture_npot GL_OES_texture_float GL_OES_texture_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_stencil8 GL_OES_texture_storage_multisample_2d_array GL_OES_vertex_array_object GL_OES_vertex_half_float GL_OES_viewport_array GL_OVR_multiview GL_OVR_multiview2 GL_OVR_multiview_multisampled_render_to_texture GL_ANDROID_extension_pack_es31a . SRM debug: [/dev/dri/card1] Is master: YES. SRM debug: [/dev/dri/card1] DRM Driver: i915. SRM debug: [/dev/dri/card1] EGL version: 1.5. SRM debug: [/dev/dri/card1] EGL vendor: Mesa Project. SRM debug: [/dev/dri/card1] EGL 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_EXT_protected_content EGL_EXT_query_reset_notification_strategy 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_gl_interop EGL_MESA_image_dma_buf_export EGL_MESA_query_driver EGL_WL_bind_wayland_display . SRM debug: [/dev/dri/card1] EGL Device Extensions: EGL_EXT_device_drm EGL_EXT_device_drm_render_node. SRM debug: [/dev/dri/card1] EGL driver name: Unknown. SRM debug: [/dev/dri/card1] Using medium priority EGL context. SRM debug: [/dev/dri/card1] OpenGL 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_NV_texture_barrier 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_APPLE_sync GL_EXT_draw_buffers GL_EXT_instanced_arrays GL_EXT_map_buffer_range GL_KHR_debug GL_KHR_robustness GL_KHR_texture_compression_astc_ldr GL_NV_generate_mipmap_sRGB 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_NV_alpha_to_coverage_dither_control 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_sampler_objects GL_MESA_bgra GL_MESA_texture_const_bandwidth . SRM debug: [core] Supported shared DMA formats: Format AB24 [LINEAR] Format XB24 [LINEAR] Format R8 [LINEAR] Format R16 [LINEAR] Format UYVY [LINEAR] Format AR12 [LINEAR] Format AR15 [LINEAR] Format AB4H [LINEAR] Format XB4H [LINEAR] Format AR24 [LINEAR] Format XR24 [LINEAR] Format RG16 [LINEAR] Format AR30 [LINEAR] Format XR30 [LINEAR] Format AB30 [LINEAR] Format YU12 [LINEAR] Format NV12 [LINEAR] Format NV21 [LINEAR] Format NV16 [LINEAR] Format P010 [LINEAR] Format P012 [LINEAR] Louvre debug: [LCompositorPrivate::initGraphicBackend] Graphic backend initialized successfully. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. Louvre debug: [LCompositorPrivate::loadInputBackend] Input backend loaded successfully (/usr/lib/Louvre/backends/input/libinput.so). Louvre debug: [LCompositorPrivate::initInputBackend] Input backend initialized successfully. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. SRM debug: [/dev/dri/card0] GL Texture (13) deleted. SRM debug: [/dev/dri/card0] GL Texture (12) deleted. SRM debug: [/dev/dri/card0] CPU buffer created using glTexImage2D. Louvre debug: Font Inter or similar found: /usr/shar

ehopperdietzel commented 5 months ago

Okay, thank you. You sent me all the logs except the part where it fails, haha. But no worries, I see you have two GPUs, which I didn't know.

Currently, your Nvidia GPU is creating the buffers and it seems to be failing. I've changed the configuration in the devel branch to use the Intel GPU instead. If there are still issues, I'll force it to use only the Intel GPU for rendering.

When you try it, if it still doesn't work, could you send me the output of running srm-display-info? You can run this program from your desktop environment without any issues.

rafalz1978 commented 5 months ago

srm-display-info { "auth":"Your fullname", "desc":"Here you can add any additional information", "allocatorDevice":"/dev/dri/card0", "devices": [ { "name":"/dev/dri/card0", "clientCaps": { "stereo3D":true, "universalPlanes":true, "atomic":false, "aspectRatio":true, "writebackConnectors":true }, "caps": { "dumbBuffer":true, "primeImport":true, "primeExport":true, "addFB2Modifiers":true }, "configuration": { "enabled":true, "isRenderer":true, "renderMode":"ITSELF", "rendererDevice":"/dev/dri/card0" }, "crtcs": [ { "id":42 }, { "id":55 }, { "id":68 }, { "id":81 } ], "encoders": [ { "id":87, "crtcs":[42,55,68,81] }, { "id":90, "crtcs":[42,55,68,81] }, { "id":93, "crtcs":[42,55,68,81] }, { "id":94, "crtcs":[42,55,68,81] }, { "id":97, "crtcs":[42,55,68,81] }, { "id":98, "crtcs":[42,55,68,81] }, { "id":101, "crtcs":[42,55,68,81] } ], "planes": [ { "id":35, "type":"PRIMARY", "crtcs":[42] }, { "id":38, "type":"CURSOR", "crtcs":[42] }, { "id":43, "type":"OVERLAY", "crtcs":[42] }, { "id":48, "type":"PRIMARY", "crtcs":[55] }, { "id":51, "type":"CURSOR", "crtcs":[55] }, { "id":56, "type":"OVERLAY", "crtcs":[55] }, { "id":61, "type":"PRIMARY", "crtcs":[68] }, { "id":64, "type":"CURSOR", "crtcs":[68] }, { "id":69, "type":"OVERLAY", "crtcs":[68] }, { "id":74, "type":"PRIMARY", "crtcs":[81] }, { "id":77, "type":"CURSOR", "crtcs":[81] }, { "id":82, "type":"OVERLAY", "crtcs":[81] } ], "connectors": [ { "id":88, "type":"HDMI-A", "name":"HDMI-A-0", "mode":"Unknown", "manufacturer":"Unknown", "connected":false, "state":"UNINITIALIZED", "encoders":[87], "modes": [ ] }, { "id":91, "type":"DisplayPort", "name":"DisplayPort-1", "mode":"Unknown", "manufacturer":"Unknown", "connected":false, "state":"UNINITIALIZED", "encoders":[90,93], "modes": [ ] }, { "id":95, "type":"DisplayPort", "name":"DisplayPort-2", "mode":"LG Ultra HD", "manufacturer":"LG Electronics", "connected":true, "state":"UNINITIALIZED", "encoders":[94,97], "modes": [ { "width":3840, "height":2160, "refreshRate":60 } , { "width":3840, "height":2160, "refreshRate":30 } , { "width":1920, "height":1080, "refreshRate":60 } , { "width":1920, "height":1080, "refreshRate":60 } , { "width":1600, "height":900, "refreshRate":60 } , { "width":1280, "height":1024, "refreshRate":60 } , { "width":1280, "height":800, "refreshRate":60 } , { "width":1152, "height":864, "refreshRate":60 } , { "width":1280, "height":720, "refreshRate":60 } , { "width":1280, "height":720, "refreshRate":60 } , { "width":1024, "height":768, "refreshRate":60 } , { "width":800, "height":600, "refreshRate":60 } , { "width":720, "height":480, "refreshRate":60 } , { "width":640, "height":480, "refreshRate":60 } , { "width":640, "height":480, "refreshRate":60 } ] }, { "id":99, "type":"DisplayPort", "name":"DisplayPort-0", "mode":"Unknown", "manufacturer":"Unknown", "connected":false, "state":"UNINITIALIZED", "encoders":[98,101], "modes": [ ] } ] } , { "name":"/dev/dri/card1", "clientCaps": { "stereo3D":true, "universalPlanes":true, "atomic":false, "aspectRatio":true, "writebackConnectors":true }, "caps": { "dumbBuffer":true, "primeImport":true, "primeExport":true, "addFB2Modifiers":true }, "configuration": { "enabled":true, "isRenderer":true, "renderMode":"ITSELF", "rendererDevice":"/dev/dri/card1" }, "crtcs": [ { "id":80 }, { "id":131 }, { "id":182 }, { "id":233 } ], "encoders": [ { "id":235, "crtcs":[80,131,182,233] }, { "id":245, "crtcs":[80,131,182,233] }, { "id":249, "crtcs":[80,131,182,233] }, { "id":251, "crtcs":[80,131,182,233] }, { "id":252, "crtcs":[80,131,182,233] }, { "id":253, "crtcs":[80,131,182,233] }, { "id":254, "crtcs":[80,131,182,233] }, { "id":262, "crtcs":[80,131,182,233] }, { "id":264, "crtcs":[80,131,182,233] }, { "id":265, "crtcs":[80,131,182,233] }, { "id":266, "crtcs":[80,131,182,233] }, { "id":267, "crtcs":[80,131,182,233] } ], "planes": [ { "id":31, "type":"PRIMARY", "crtcs":[80] }, { "id":40, "type":"OVERLAY", "crtcs":[80] }, { "id":49, "type":"OVERLAY", "crtcs":[80] }, { "id":58, "type":"OVERLAY", "crtcs":[80] }, { "id":67, "type":"OVERLAY", "crtcs":[80] }, { "id":76, "type":"CURSOR", "crtcs":[80] }, { "id":82, "type":"PRIMARY", "crtcs":[131] }, { "id":91, "type":"OVERLAY", "crtcs":[131] }, { "id":100, "type":"OVERLAY", "crtcs":[131] }, { "id":109, "type":"OVERLAY", "crtcs":[131] }, { "id":118, "type":"OVERLAY", "crtcs":[131] }, { "id":127, "type":"CURSOR", "crtcs":[131] }, { "id":133, "type":"PRIMARY", "crtcs":[182] }, { "id":142, "type":"OVERLAY", "crtcs":[182] }, { "id":151, "type":"OVERLAY", "crtcs":[182] }, { "id":160, "type":"OVERLAY", "crtcs":[182] }, { "id":169, "type":"OVERLAY", "crtcs":[182] }, { "id":178, "type":"CURSOR", "crtcs":[182] }, { "id":184, "type":"PRIMARY", "crtcs":[233] }, { "id":193, "type":"OVERLAY", "crtcs":[233] }, { "id":202, "type":"OVERLAY", "crtcs":[233] }, { "id":211, "type":"OVERLAY", "crtcs":[233] }, { "id":220, "type":"OVERLAY", "crtcs":[233] }, { "id":229, "type":"CURSOR", "crtcs":[233] } ], "connectors": [ { "id":236, "type":"HDMI-A", "name":"HDMI-A-1", "mode":"Unknown", "manufacturer":"Unknown", "connected":false, "state":"UNINITIALIZED", "encoders":[235], "modes": [ ] }, { "id":246, "type":"HDMI-A", "name":"HDMI-A-2", "mode":"Unknown", "manufacturer":"Unknown", "connected":false, "state":"UNINITIALIZED", "encoders":[245], "modes": [ ] }, { "id":250, "type":"DisplayPort", "name":"DisplayPort-3", "mode":"Unknown", "manufacturer":"Unknown", "connected":false, "state":"UNINITIALIZED", "encoders":[249], "modes": [ ] }, { "id":259, "type":"HDMI-A", "name":"HDMI-A-3", "mode":"Unknown", "manufacturer":"Unknown", "connected":false, "state":"UNINITIALIZED", "encoders":[249], "modes": [ ] }, { "id":263, "type":"DisplayPort", "name":"DisplayPort-4", "mode":"Unknown", "manufacturer":"Unknown", "connected":false, "state":"UNINITIALIZED", "encoders":[262], "modes": [ ] }, { "id":271, "type":"HDMI-A", "name":"HDMI-A-4", "mode":"Unknown", "manufacturer":"Unknown", "connected":false, "state":"UNINITIALIZED", "encoders":[262], "modes": [ ] } ] } ] }

rafalz1978 commented 5 months ago

the log stops on the line below, and monitor go to sleep

�[32mSRM debug:�[0m [/dev/dri/card0] CPU buffer created using glTexImage2D. �[32mLouvre debug:�[0m Font Inter or similar found: /usr/shar

ehopperdietzel commented 5 months ago

Ok, and now?

ehopperdietzel commented 5 months ago

I also have a PC with both Intel and Nvidia GPUs, and it's running smoothly with the nvidia_drm driver. However, I've noticed that I need to use SRM_FORCE_LEGACY_API=0, otherwise, the display connected to the Nvidia GPU becomes very laggy.

rafalz1978 commented 5 months ago

its working now, the last patches fixed it

ehopperdietzel commented 5 months ago

Geat! And thank you for your time! Does it work well then? Or is it laggy?