I am using JP 6.0.
When I’m following Weston (Wayland) — NVIDIA Jetson Linux Developer Guide 1 documentation everything works.
But when I do the following:
- Disable GDM
systemctl disable gdm - Add nvidia-drm autoload by adding a line “nvidia-drm” to file /etc/modules-load.d/nvidia.conf
- Add nvidia-drm param by adding a line “options nvidia-drm modeset=1” to file /etc/modprobe.d/nvidia.conf
- reboot
In that case weston won’t start:
root@desktop:/home/ss# weston
Date: 2024-08-19 CEST
[11:53:19.103] weston 6.0.1
http://wayland.freedesktop.org
Bug reports to: https://bugs.freedesktop.org/enter_bug.cgi?product=Wayland&component=weston&version=3.0.0
Build: unknown (not built from git or tarball)
[11:53:19.103] Command line: weston
[11:53:19.103] OS: Linux, 5.15.136-tegra, #1 SMP PREEMPT Mon May 6 09:56:39 PDT 2024, aarch64
[11:53:19.103] warning: XDG_RUNTIME_DIR "/tmp/xdg" is not configured
correctly. Unix access mode must be 0700 (current mode is 755),
and must be owned by the user (current owner is UID 0).
Refer to your distribution on how to get it, or
http://www.freedesktop.org/wiki/Specifications/basedir-spec
on how to implement it.
[11:53:19.103] Using config file '/etc/xdg/weston/weston.ini'
[11:53:19.104] Output repaint window is 8 ms maximum.
[11:53:19.104] Loading module '/usr/lib/aarch64-linux-gnu/weston//drm-backend.so'
[11:53:19.106] initializing drm backend
[11:53:19.107] using /dev/dri/card0
[11:53:19.107] DRM: supports universal planes
[11:53:19.107] DRM: supports atomic modesetting
[11:53:19.107] DRM: supports picture aspect ratio
[11:53:19.107] Loading module '/usr/lib/aarch64-linux-gnu/weston//gl-renderer.so'
[11:53:19.117] EGL client extensions: EGL_EXT_platform_base EGL_EXT_device_base
EGL_EXT_device_enumeration EGL_EXT_device_query
EGL_KHR_client_get_all_proc_addresses EGL_EXT_client_extensions
EGL_KHR_debug EGL_KHR_platform_x11 EGL_EXT_platform_x11
EGL_EXT_platform_device EGL_MESA_platform_surfaceless
EGL_EXT_explicit_device EGL_KHR_platform_gbm
EGL_MESA_platform_gbm EGL_KHR_platform_wayland
EGL_EXT_platform_wayland EGL_EXT_platform_xcb
[11:53:19.239] failed to initialize display
[11:53:19.239] EGL error state: EGL_NOT_INITIALIZED (0x3001)
[11:53:19.239] falling back to internal swapchain
libEGL warning: MESA-LOADER: failed to open nvidia-drm: /usr/lib/dri/nvidia-drm_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/aarch64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri, suffix _dri)
libEGL warning: MESA-LOADER: failed to open nvidia-drm: /usr/lib/dri/nvidia-drm_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/aarch64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri, suffix _dri)
[11:53:19.249] failed to initialize display
[11:53:19.249] EGL error state: EGL_NOT_INITIALIZED (0x3001)
[11:53:19.249] failed to initialize egl
[11:53:19.257] fatal: failed to create compositor backend
[11:53:19.257] Internal warning: debug scope 'drm-backend' has not been destroyed.
If after that, without reboot, I remove nvidia-drm module and load it back, sometimes weston will start, sometimes the system will hang
modprobe -r nvidia-drm
modprobe nvidia-drm modeset=1
Some kernel logs:
log.txt (25.0 KB)
If I remove /etc/modules-load.d/nvidia.conf file and manualy modprobe nvidia-drm everything works:
root@ss-desktop:/home/ss# weston
Date: 2024-08-19 CEST
[12:10:00.862] weston 6.0.1
http://wayland.freedesktop.org
Bug reports to: https://bugs.freedesktop.org/enter_bug.cgi?product=Wayland&component=weston&version=3.0.0
Build: unknown (not built from git or tarball)
[12:10:00.862] Command line: weston
[12:10:00.862] OS: Linux, 5.15.136-tegra, #1 SMP PREEMPT Mon May 6 09:56:39 PDT 2024, aarch64
[12:10:00.862] warning: XDG_RUNTIME_DIR "/tmp/xdg" is not configured
correctly. Unix access mode must be 0700 (current mode is 755),
and must be owned by the user (current owner is UID 0).
Refer to your distribution on how to get it, or
http://www.freedesktop.org/wiki/Specifications/basedir-spec
on how to implement it.
[12:10:00.863] Using config file '/etc/xdg/weston/weston.ini'
[12:10:00.868] Output repaint window is 8 ms maximum.
[12:10:00.868] Loading module '/usr/lib/aarch64-linux-gnu/weston//drm-backend.so'
[12:10:00.873] initializing drm backend
[12:10:00.874] using /dev/dri/card1
[12:10:00.874] DRM: supports universal planes
[12:10:00.874] DRM: supports atomic modesetting
[12:10:00.874] DRM: supports picture aspect ratio
[12:10:00.875] Loading module '/usr/lib/aarch64-linux-gnu/weston//gl-renderer.so'
[12:10:01.003] EGL client extensions: EGL_EXT_platform_base EGL_EXT_device_base
EGL_EXT_device_enumeration EGL_EXT_device_query
EGL_KHR_client_get_all_proc_addresses EGL_EXT_client_extensions
EGL_KHR_debug EGL_KHR_platform_x11 EGL_EXT_platform_x11
EGL_EXT_platform_device EGL_MESA_platform_surfaceless
EGL_EXT_explicit_device EGL_KHR_platform_gbm
EGL_MESA_platform_gbm EGL_KHR_platform_wayland
EGL_EXT_platform_wayland EGL_EXT_platform_xcb
[12:10:01.124] EGL version: 1.5
[12:10:01.124] EGL vendor: NVIDIA
[12:10:01.124] EGL client APIs: OpenGL_ES OpenGL
[12:10:01.124] 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_context_priority_realtime
EGL_NV_cuda_event 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
[12:10:01.125] EGL_KHR_surfaceless_context available
[12:10:01.156] GL version: OpenGL ES 3.2 NVIDIA 540.3.0
[12:10:01.156] GLSL version: OpenGL ES GLSL ES 3.20
[12:10:01.156] GL vendor: NVIDIA Corporation
[12:10:01.156] GL renderer: NVIDIA Tegra Orin (nvgpu)/integrated
[12:10:01.156] GL 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_protected_textures
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_KHR_shader_subgroup
GL_KHR_texture_compression_astc_ldr
GL_KHR_texture_compression_astc_sliced_3d 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
[12:10:01.160] GL ES 2 renderer features:
read-back format: BGRA
wl_shm sub-image to texture: yes
EGL Wayland extension: yes
... rest of log