This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[FAQ] SK-TDA4VM: No graphics acceleration on SDK 9.x in Wayland (Weston)

Part Number: SK-TDA4VM
Other Parts Discussed in Thread: TDA4VM

Tool/software:

Hi, TI Team
I run an opencv example program(drawing and media play) in Wayland(western).
But drawing(graphics) is little bit slow and media play occurs a stuttering frames.
- drawing.cpp: graphics example
drawing.cpp
- test_play.cpp: simple media play
test_play.cpp

I attached a video screen(performacne_issue.mp4) for checking the performance of media play - TDA4VM(left side) vs PC(right side),
you can see a stuttering frames(left side video) in TDA4VM.

Is there anything I can do to improve performance?

FYI, I am using ti-processor-sdk-linux-edgeai-j721e-evm-09_01_00_06-Linux-x86-Install.bin

Regards,
JB

  • Hello,

    Can you first check that you are not using Software Rendering and actually getting GPU accelerated performance?

    Once weston is launched, please identify the PID and then gather the logs for the initialization. Below is an example:

    root@j721s2-evm:/var/log# ps -A | grep weston
        437 tty7     00:00:00 weston
        701 tty7     00:00:00 weston-keyboard
        703 tty7     00:00:00 weston-desktop-
    
    # Then, use PID 437 to get the logs for weston from journalctl
    root@j721s2-evm:/var/log# journalctl _PID=437
    Jul 12 13:51:18 j721s2-evm systemd[437]: pam_unix(weston-autologin:session): session opened for user weston(uid=1000) by weston(uid=0)
    Jul 12 13:51:19 j721s2-evm audit[437]: SYSCALL arch=c00000b7 syscall=64 success=yes exit=4 a0=8 a1=ffffe3d06b68 a2=4 a3=ffff8009f020 items=0 ppid=1 pid=437 auid=1000 uid=0 gid=0 euid=0 suid>
    Jul 12 13:51:19 j721s2-evm weston[437]: Date: 2024-07-12 UTC
    Jul 12 13:51:19 j721s2-evm weston[437]: [13:51:19.446] weston 10.0.2
    Jul 12 13:51:19 j721s2-evm weston[437]:                https://wayland.freedesktop.org
    Jul 12 13:51:19 j721s2-evm weston[437]:                Bug reports to: https://gitlab.freedesktop.org/wayland/weston/issues/
    Jul 12 13:51:19 j721s2-evm weston[437]:                Build: 10.0.2
    Jul 12 13:51:19 j721s2-evm weston[437]: [13:51:19.446] Command line: /usr/bin/weston --modules=systemd-notify.so
    Jul 12 13:51:19 j721s2-evm weston[437]: [13:51:19.446] OS: Linux, 6.1.80-dirty, #1 SMP PREEMPT Fri Jun 28 12:08:14 CDT 2024, aarch64
    Jul 12 13:51:19 j721s2-evm weston[437]: [13:51:19.446] Flight recorder: enabled
    Jul 12 13:51:19 j721s2-evm weston[437]: [13:51:19.452] Using config file '/etc/xdg/weston/weston.ini'
    Jul 12 13:51:19 j721s2-evm weston[437]: [13:51:19.461] Output repaint window is 7 ms maximum.
    Jul 12 13:51:19 j721s2-evm weston[437]: [13:51:19.467] Loading module '/usr/lib/libweston-10/drm-backend.so'
    Jul 12 13:51:19 j721s2-evm weston[437]: [13:51:19.484] initializing drm backend
    Jul 12 13:51:19 j721s2-evm weston[437]: [13:51:19.484] Trying logind launcher...
    Jul 12 13:51:19 j721s2-evm weston[437]: [13:51:19.490] logind: session control granted
    Jul 12 13:51:19 j721s2-evm weston[437]: [13:51:19.501] using /dev/dri/card1
    Jul 12 13:51:19 j721s2-evm weston[437]: [13:51:19.502] DRM: supports atomic modesetting
    Jul 12 13:51:19 j721s2-evm weston[437]: [13:51:19.502] DRM: supports GBM modifiers
    Jul 12 13:51:19 j721s2-evm weston[437]: [13:51:19.502] DRM: supports picture aspect ratio
    Jul 12 13:51:19 j721s2-evm weston[437]: [13:51:19.505] Loading module '/usr/lib/libweston-10/gl-renderer.so'
    Jul 12 13:51:19 j721s2-evm weston[437]: [13:51:19.825] EGL client extensions: EGL_EXT_client_extensions
    Jul 12 13:51:19 j721s2-evm weston[437]:                EGL_EXT_device_base EGL_EXT_device_enumeration
    Jul 12 13:51:19 j721s2-evm weston[437]:                EGL_EXT_device_query EGL_EXT_platform_base
    Jul 12 13:51:19 j721s2-evm weston[437]:                EGL_KHR_client_get_all_proc_addresses EGL_KHR_debug
    Jul 12 13:51:19 j721s2-evm weston[437]:                EGL_EXT_platform_device EGL_EXT_platform_wayland
    Jul 12 13:51:19 j721s2-evm weston[437]:                EGL_KHR_platform_wayland EGL_MESA_platform_gbm
    Jul 12 13:51:19 j721s2-evm weston[437]:                EGL_KHR_platform_gbm EGL_MESA_platform_surfaceless
    Jul 12 13:51:19 j721s2-evm weston[437]: [13:51:19.827] EGL device extensions: EGL_EXT_device_drm
    Jul 12 13:51:19 j721s2-evm weston[437]: [13:51:19.827] EGL version: 1.5
    Jul 12 13:51:19 j721s2-evm weston[437]: [13:51:19.827] EGL vendor: Mesa Project
    Jul 12 13:51:19 j721s2-evm weston[437]: [13:51:19.827] EGL client APIs: OpenGL_ES
    Jul 12 13:51:19 j721s2-evm weston[437]: [13:51:19.827] EGL extensions: EGL_ANDROID_native_fence_sync EGL_EXT_buffer_age
    Jul 12 13:51:19 j721s2-evm weston[437]:                EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import
    Jul 12 13:51:19 j721s2-evm weston[437]:                EGL_EXT_image_dma_buf_import_modifiers
    Jul 12 13:51:19 j721s2-evm weston[437]:                EGL_EXT_image_gl_colorspace EGL_EXT_yuv_surface
    Jul 12 13:51:19 j721s2-evm weston[437]:                EGL_IMG_context_priority EGL_KHR_cl_event2
    Jul 12 13:51:19 j721s2-evm weston[437]:                EGL_KHR_config_attribs EGL_KHR_create_context
    Jul 12 13:51:19 j721s2-evm weston[437]:                EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses
    Jul 12 13:51:19 j721s2-evm weston[437]:                EGL_KHR_gl_colorspace EGL_KHR_gl_renderbuffer_image
    Jul 12 13:51:19 j721s2-evm weston[437]:                EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image
    Jul 12 13:51:19 j721s2-evm weston[437]:                EGL_KHR_gl_texture_cubemap_image EGL_KHR_image
    Jul 12 13:51:19 j721s2-evm weston[437]:                EGL_KHR_image_base EGL_KHR_image_pixmap
    Jul 12 13:51:19 j721s2-evm weston[437]:                EGL_KHR_no_config_context EGL_KHR_partial_update
    Jul 12 13:51:19 j721s2-evm weston[437]:                EGL_KHR_reusable_sync EGL_KHR_surfaceless_context
    Jul 12 13:51:19 j721s2-evm weston[437]:                EGL_EXT_pixel_format_float EGL_KHR_wait_sync
    Jul 12 13:51:19 j721s2-evm weston[437]:                EGL_MESA_configless_context EGL_MESA_drm_image
    Jul 12 13:51:19 j721s2-evm weston[437]:                EGL_MESA_image_dma_buf_export EGL_MESA_query_driver
    Jul 12 13:51:19 j721s2-evm weston[437]:                EGL_WL_bind_wayland_display EGL_IMG_cl_image
    Jul 12 13:51:19 j721s2-evm weston[437]: [13:51:19.827] EGL_KHR_surfaceless_context available
    Jul 12 13:51:19 j721s2-evm weston[437]: [13:51:19.871] GL version: OpenGL ES 3.2 build 23.3@6512818
    Jul 12 13:51:19 j721s2-evm weston[437]: [13:51:19.872] GLSL version: OpenGL ES GLSL ES 3.20 build 23.3@6512818
    Jul 12 13:51:19 j721s2-evm weston[437]: [13:51:19.872] GL vendor: Imagination Technologies
    Jul 12 13:51:19 j721s2-evm weston[437]: [13:51:19.872] GL renderer: PowerVR B-Series BXS-4-64
    Jul 12 13:51:19 j721s2-evm weston[437]: [13:51:19.872] GL extensions: GL_ANDROID_extension_pack_es31a
    Jul 12 13:51:19 j721s2-evm weston[437]:                GL_APPLE_texture_format_BGRA8888 GL_EXT_EGL_image_array

    Notice these logs:

    Jul 12 13:51:19 j721s2-evm weston[437]: [13:51:19.871] GL version: OpenGL ES 3.2 build 23.3@6512818
    Jul 12 13:51:19 j721s2-evm weston[437]: [13:51:19.872] GLSL version: OpenGL ES GLSL ES 3.20 build 23.3@6512818
    Jul 12 13:51:19 j721s2-evm weston[437]: [13:51:19.872] GL vendor: Imagination Technologies
    Jul 12 13:51:19 j721s2-evm weston[437]: [13:51:19.872] GL renderer: PowerVR B-Series BXS-4-64

    This means we are using GPU accelerated libraries. If we don't have these libraries available, you would see something like this:

    Jul 12 14:00:15 j721s2-evm weston[986]: [14:00:15.466] GL version: OpenGL ES 3.1 Mesa 22.3.5 (git-1be98ba804)
    Jul 12 14:00:15 j721s2-evm weston[986]: [14:00:15.466] GLSL version: OpenGL ES GLSL ES 3.10
    Jul 12 14:00:15 j721s2-evm weston[986]: [14:00:15.466] GL vendor: Mesa/X.org
    Jul 12 14:00:15 j721s2-evm weston[986]: [14:00:15.466] GL renderer: softpipe

    Regards,

    Erick

  • Hello, Erick

    I found these logs(please refer to the attachment for the full log),

    root@tda4vm-sk:/# ps -A | grep weston
        538 tty7     00:00:06 weston
        668 tty7     00:00:00 weston-keyboard
        670 tty7     00:00:00 weston-desktop-
    root@tda4vm-sk:/# journalctl _PID=538
    Jul 16 00:21:48 tda4vm-sk systemd[538]: pam_unix(weston-autologin:session): session opened for user weston(uid=1000) by weston(uid=0)
    Jul 16 00:21:49 tda4vm-sk audit[538]: SYSCALL arch=c00000b7 syscall=64 success=yes exit=4 a0=8 a1=ffffe061b888 a2=4 a3=ffff8987d020 items=0 ppid=1 pid=538 auid=1000 uid=0 gid=0 eui>
    Jul 16 00:21:49 tda4vm-sk weston[538]: Date: 2024-07-16 UTC
    Jul 16 00:21:49 tda4vm-sk weston[538]: [00:21:49.793] weston 10.0.2
    Jul 16 00:21:49 tda4vm-sk weston[538]:                https://wayland.freedesktop.org
    Jul 16 00:21:49 tda4vm-sk weston[538]:                Bug reports to: https://gitlab.freedesktop.org/wayland/weston/issues/
    Jul 16 00:21:49 tda4vm-sk weston[538]:                Build: 10.0.2
    Jul 16 00:21:49 tda4vm-sk weston[538]: [00:21:49.794] Command line: /usr/bin/weston --modules=systemd-notify.so
    Jul 16 00:21:49 tda4vm-sk weston[538]: [00:21:49.794] OS: Linux, 6.1.46, #1 SMP PREEMPT Wed Jul  3 15:42:30 KST 2024, aarch64
    Jul 16 00:21:49 tda4vm-sk weston[538]: [00:21:49.794] Flight recorder: enabled
    Jul 16 00:21:49 tda4vm-sk weston[538]: [00:21:49.854] Using config file '/etc/xdg/weston/weston.ini'
    Jul 16 00:21:49 tda4vm-sk weston[538]: [00:21:49.873] Output repaint window is 7 ms maximum.
    Jul 16 00:21:49 tda4vm-sk weston[538]: [00:21:49.887] Loading module '/usr/lib/libweston-10/drm-backend.so'
    Jul 16 00:21:49 tda4vm-sk weston[538]: [00:21:49.911] initializing drm backend
    Jul 16 00:21:49 tda4vm-sk weston[538]: [00:21:49.911] Trying logind launcher...
    Jul 16 00:21:49 tda4vm-sk weston[538]: [00:21:49.932] logind: session control granted
    Jul 16 00:21:49 tda4vm-sk weston[538]: [00:21:49.950] using /dev/dri/card0
    Jul 16 00:21:49 tda4vm-sk weston[538]: [00:21:49.950] DRM: supports atomic modesetting
    Jul 16 00:21:49 tda4vm-sk weston[538]: [00:21:49.950] DRM: supports GBM modifiers
    Jul 16 00:21:49 tda4vm-sk weston[538]: [00:21:49.950] DRM: supports picture aspect ratio
    Jul 16 00:21:49 tda4vm-sk weston[538]: [00:21:49.955] Loading module '/usr/lib/libweston-10/gl-renderer.so'
    Jul 16 00:21:50 tda4vm-sk weston[538]: MESA-LOADER: failed to open zink: /usr/lib/dri/zink_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/>
    Jul 16 00:21:50 tda4vm-sk weston[538]: failed to load driver: zink
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.425] EGL client extensions: EGL_EXT_client_extensions
    Jul 16 00:21:50 tda4vm-sk weston[538]:                EGL_EXT_device_base EGL_EXT_device_enumeration
    Jul 16 00:21:50 tda4vm-sk weston[538]:                EGL_EXT_device_query EGL_EXT_platform_base
    Jul 16 00:21:50 tda4vm-sk weston[538]:                EGL_KHR_client_get_all_proc_addresses EGL_KHR_debug
    Jul 16 00:21:50 tda4vm-sk weston[538]:                EGL_EXT_platform_device EGL_EXT_platform_wayland
    Jul 16 00:21:50 tda4vm-sk weston[538]:                EGL_KHR_platform_wayland EGL_EXT_platform_x11
    Jul 16 00:21:50 tda4vm-sk weston[538]:                EGL_KHR_platform_x11 EGL_EXT_platform_xcb EGL_MESA_platform_gbm
    Jul 16 00:21:50 tda4vm-sk weston[538]:                EGL_KHR_platform_gbm EGL_MESA_platform_surfaceless
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.426] EGL device extensions: EGL_MESA_device_software
    Jul 16 00:21:50 tda4vm-sk weston[538]:                EGL_EXT_device_drm_render_node
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.426] failed to query DRM device from EGL
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.426] EGL version: 1.4
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.426] EGL vendor: Mesa Project
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.426] EGL client APIs: OpenGL OpenGL_ES
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.426] EGL extensions: EGL_ANDROID_blob_cache EGL_EXT_buffer_age
    Jul 16 00:21:50 tda4vm-sk weston[538]:                EGL_EXT_image_dma_buf_import
    Jul 16 00:21:50 tda4vm-sk weston[538]:                EGL_EXT_image_dma_buf_import_modifiers
    Jul 16 00:21:50 tda4vm-sk weston[538]:                EGL_EXT_image_gl_colorspace EGL_EXT_yuv_surface
    Jul 16 00:21:50 tda4vm-sk weston[538]:                EGL_KHR_cl_event2 EGL_KHR_config_attribs
    Jul 16 00:21:50 tda4vm-sk weston[538]:                EGL_KHR_context_flush_control EGL_KHR_create_context
    Jul 16 00:21:50 tda4vm-sk weston[538]:                EGL_KHR_create_context_no_error EGL_KHR_fence_sync
    Jul 16 00:21:50 tda4vm-sk weston[538]:                EGL_KHR_get_all_proc_addresses EGL_KHR_gl_colorspace
    Jul 16 00:21:50 tda4vm-sk weston[538]:                EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image
    Jul 16 00:21:50 tda4vm-sk weston[538]:                EGL_KHR_gl_texture_3D_image EGL_KHR_gl_texture_cubemap_image
    Jul 16 00:21:50 tda4vm-sk weston[538]:                EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap
    Jul 16 00:21:50 tda4vm-sk weston[538]:                EGL_KHR_no_config_context EGL_KHR_reusable_sync
    Jul 16 00:21:50 tda4vm-sk weston[538]:                EGL_KHR_surfaceless_context EGL_EXT_pixel_format_float
    Jul 16 00:21:50 tda4vm-sk weston[538]:                EGL_KHR_wait_sync EGL_MESA_configless_context
    Jul 16 00:21:50 tda4vm-sk weston[538]:                EGL_MESA_drm_image EGL_MESA_image_dma_buf_export
    Jul 16 00:21:50 tda4vm-sk weston[538]:                EGL_MESA_query_driver EGL_WL_bind_wayland_display
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.427] warning: Disabling render GPU timeline and explicit synchronization due to missing EGL_ANDROID_native_fence_sync extension
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.427] EGL_KHR_surfaceless_context available
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.547] GL version: OpenGL ES 3.1 Mesa 22.3.5 (git-54fd9d7dea)
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.547] GLSL version: OpenGL ES GLSL ES 3.10
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.547] GL vendor: Mesa/X.org
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.547] GL renderer: softpipe
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.547] GL extensions: GL_EXT_blend_minmax GL_EXT_multi_draw_arrays
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_EXT_texture_filter_anisotropic
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_EXT_texture_compression_s3tc GL_EXT_texture_compression_dxt1
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_EXT_texture_compression_rgtc GL_EXT_texture_format_BGRA8888
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth24
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_OES_element_index_uint GL_OES_fbo_render_mipmap
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_OES_mapbuffer GL_OES_rgb8_rgba8 GL_OES_standard_derivatives
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_OES_stencil8 GL_OES_texture_3D GL_OES_texture_float
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_OES_texture_float_linear GL_OES_texture_half_float
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_OES_texture_half_float_linear GL_OES_texture_npot
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_OES_vertex_half_float GL_EXT_draw_instanced
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_EXT_texture_sRGB_decode GL_OES_EGL_image
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_OES_depth_texture GL_OES_packed_depth_stencil
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_EXT_texture_type_2_10_10_10_REV GL_NV_conditional_render
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_OES_get_program_binary GL_APPLE_texture_max_level
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_EXT_discard_framebuffer GL_EXT_read_format_bgra
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_NV_pack_subimage GL_EXT_frag_depth
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_NV_fbo_color_attachments GL_OES_EGL_image_external
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_OES_EGL_sync GL_OES_vertex_array_object
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_OES_viewport_array GL_ANGLE_pack_reverse_row_order
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_ANGLE_texture_compression_dxt3
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_ANGLE_texture_compression_dxt5
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_EXT_occlusion_query_boolean GL_EXT_texture_rg
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_EXT_unpack_subimage GL_NV_draw_buffers GL_NV_read_buffer
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_NV_read_depth GL_NV_read_depth_stencil GL_NV_read_stencil
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_EXT_draw_buffers GL_EXT_map_buffer_range GL_KHR_debug
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_KHR_texture_compression_astc_ldr GL_NV_pixel_buffer_object
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_OES_depth_texture_cube_map GL_OES_required_internalformat
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_OES_surfaceless_context GL_EXT_color_buffer_float
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_EXT_debug_label GL_EXT_sRGB_write_control
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_EXT_separate_shader_objects
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_EXT_shader_implicit_conversions GL_EXT_shader_integer_mix
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_EXT_base_instance GL_EXT_compressed_ETC1_RGB8_sub_texture
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_EXT_copy_image GL_EXT_draw_buffers_indexed
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_EXT_draw_elements_base_vertex GL_EXT_gpu_shader5
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_EXT_primitive_bounding_box GL_EXT_render_snorm
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_EXT_shader_io_blocks GL_EXT_texture_border_clamp
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_EXT_texture_buffer GL_EXT_texture_cube_map_array
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_EXT_texture_norm16 GL_EXT_texture_view
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_KHR_context_flush_control GL_NV_image_formats
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_NV_shader_noperspective_interpolation GL_OES_copy_image
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_OES_draw_buffers_indexed GL_OES_draw_elements_base_vertex
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_OES_gpu_shader5 GL_OES_primitive_bounding_box
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_OES_shader_io_blocks GL_OES_texture_border_clamp
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_OES_texture_buffer GL_OES_texture_cube_map_array
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_OES_texture_stencil8
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_OES_texture_storage_multisample_2d_array GL_OES_texture_view
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_EXT_blend_func_extended GL_EXT_buffer_storage
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_EXT_float_blend GL_EXT_geometry_point_size
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_EXT_geometry_shader GL_EXT_texture_sRGB_R8
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_EXT_texture_sRGB_RG8 GL_KHR_no_error
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_KHR_texture_compression_astc_sliced_3d
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_OES_EGL_image_external_essl3 GL_OES_geometry_point_size
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_OES_geometry_shader GL_OES_shader_image_atomic
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_EXT_clear_texture GL_EXT_clip_cull_distance
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_EXT_disjoint_timer_query
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_EXT_texture_compression_s3tc_srgb
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_MESA_shader_integer_functions GL_EXT_clip_control
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_EXT_color_buffer_half_float GL_EXT_texture_compression_bptc
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_EXT_texture_mirror_clamp_to_edge
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_KHR_parallel_shader_compile GL_EXT_EGL_image_storage
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_MESA_framebuffer_flip_y GL_EXT_depth_clamp
    Jul 16 00:21:50 tda4vm-sk weston[538]:                GL_EXT_texture_query_lod GL_MESA_bgra
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.630] GL ES 3.1 - renderer features:
    Jul 16 00:21:50 tda4vm-sk weston[538]:                read-back format: BGRA
    Jul 16 00:21:50 tda4vm-sk weston[538]:                wl_shm sub-image to texture: yes
    Jul 16 00:21:50 tda4vm-sk weston[538]:                EGL Wayland extension: yes
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.690] event0  - Lenovo USB Receiver: is tagged by udev as: Keyboard
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.690] event0  - Lenovo USB Receiver: device is a keyboard
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.752] event2  - Lenovo USB Receiver: is tagged by udev as: Mouse
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.752] event2  - Lenovo USB Receiver: device is a pointer
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.757] event3  - Lenovo USB Receiver Consumer Control: is tagged by udev as: Keyboard
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.757] event3  - Lenovo USB Receiver Consumer Control: device is a keyboard
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.762] event4  - Lenovo USB Receiver System Control: is tagged by udev as: Keyboard
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.763] event4  - Lenovo USB Receiver System Control: device is a keyboard
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.794] libinput: configuring device "Lenovo USB Receiver".
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.794] libinput: configuring device "Lenovo USB Receiver".
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.794] libinput: configuring device "Lenovo USB Receiver Consumer Control".
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.794] libinput: configuring device "Lenovo USB Receiver System Control".
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.794] DRM: head 'DP-1' updated, connector 40 is disconnected.
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.794] DRM: head 'DP-1' found, connector 40 is disconnected.
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.820] DRM: head 'HDMI-A-1' updated, connector 50 is connected, EDID make 'LEN', model 'E24q-20', serial 'V5LPR696'
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.820] DRM: head 'HDMI-A-1' found, connector 50 is connected, EDID make 'LEN', model 'E24q-20', serial 'V5LPR696'
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.820] Registered plugin API 'weston_drm_output_api_v1' of size 24
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.820] Color manager: no-op
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.820] Output 'HDMI-A-1' using color profile: built-in default sRGB SDR profile
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.821] Chosen EGL config details: id:  16 rgba: 8 8 8 0 buf: 24 dep:  0 stcl: 0 int: 1-1 type: win|pbf vis_id: XRGB8888 (0x34325258)
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.821] Output HDMI-A-1 (crtc 48) video modes:
    Jul 16 00:21:50 tda4vm-sk weston[538]:                1920x1200@60.0, current, 154.0 MHz
    Jul 16 00:21:50 tda4vm-sk weston[538]:                1920x1080@60.0, 148.5 MHz
    Jul 16 00:21:50 tda4vm-sk weston[538]:                1920x1080@60.0 16:9, 148.5 MHz
    Jul 16 00:21:50 tda4vm-sk weston[538]:                1920x1080@59.9 16:9, 148.4 MHz
    Jul 16 00:21:50 tda4vm-sk weston[538]:                1920x1080@50.0 16:9, 148.5 MHz
    Jul 16 00:21:50 tda4vm-sk weston[538]:                1600x1200@60.0, 162.0 MHz
    Jul 16 00:21:50 tda4vm-sk weston[538]:                1680x1050@59.9, 119.0 MHz
    Jul 16 00:21:50 tda4vm-sk weston[538]:                1280x1024@75.0, 135.0 MHz
    Jul 16 00:21:50 tda4vm-sk weston[538]:                1280x1024@60.0, 108.0 MHz
    Jul 16 00:21:50 tda4vm-sk weston[538]:                1440x900@59.9, 88.8 MHz
    Jul 16 00:21:50 tda4vm-sk weston[538]:                1366x768@59.8, 85.5 MHz
    Jul 16 00:21:50 tda4vm-sk weston[538]:                1280x800@59.9, 71.0 MHz
    Jul 16 00:21:50 tda4vm-sk weston[538]:                1152x864@75.0, 108.0 MHz
    Jul 16 00:21:50 tda4vm-sk weston[538]:                1280x720@60.0 16:9, 74.2 MHz
    Jul 16 00:21:50 tda4vm-sk weston[538]:                1280x720@59.9 16:9, 74.2 MHz
    Jul 16 00:21:50 tda4vm-sk weston[538]:                1280x720@50.0 16:9, 74.2 MHz
    Jul 16 00:21:50 tda4vm-sk weston[538]:                1024x768@75.0, 78.8 MHz
    Jul 16 00:21:50 tda4vm-sk weston[538]:                1024x768@70.1, 75.0 MHz
    Jul 16 00:21:50 tda4vm-sk weston[538]:                1024x768@60.0, 65.0 MHz
    Jul 16 00:21:50 tda4vm-sk weston[538]:                832x624@74.6, 57.3 MHz
    Jul 16 00:21:50 tda4vm-sk weston[538]:                800x600@75.0, 49.5 MHz
    Jul 16 00:21:50 tda4vm-sk weston[538]:                800x600@72.2, 50.0 MHz
    Jul 16 00:21:50 tda4vm-sk weston[538]:                800x600@60.3, 40.0 MHz
    Jul 16 00:21:50 tda4vm-sk weston[538]:                720x576@50.0 4:3, 27.0 MHz
    Jul 16 00:21:50 tda4vm-sk weston[538]:                720x576@50.0 16:9, 27.0 MHz
    Jul 16 00:21:50 tda4vm-sk weston[538]:                720x480@60.0 4:3, 27.0 MHz
    Jul 16 00:21:50 tda4vm-sk weston[538]:                720x480@60.0 16:9, 27.0 MHz
    Jul 16 00:21:50 tda4vm-sk weston[538]:                720x480@59.9 4:3, 27.0 MHz
    Jul 16 00:21:50 tda4vm-sk weston[538]:                720x480@59.9 16:9, 27.0 MHz
    Jul 16 00:21:50 tda4vm-sk weston[538]:                640x480@75.0, 31.5 MHz
    Jul 16 00:21:50 tda4vm-sk weston[538]:                640x480@72.8, 31.5 MHz
    Jul 16 00:21:50 tda4vm-sk weston[538]:                640x480@60.0 4:3, 25.2 MHz
    Jul 16 00:21:50 tda4vm-sk weston[538]:                640x480@59.9, 25.2 MHz
    Jul 16 00:21:50 tda4vm-sk weston[538]:                640x480@59.9 4:3, 25.2 MHz
    Jul 16 00:21:50 tda4vm-sk weston[538]:                720x400@70.1, 28.3 MHz
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.821] associating input device event0 with output HDMI-A-1 (none by udev)
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.821] associating input device event2 with output HDMI-A-1 (none by udev)
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.821] associating input device event3 with output HDMI-A-1 (none by udev)
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.821] associating input device event4 with output HDMI-A-1 (none by udev)
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.821] Output 'HDMI-A-1' enabled with head(s) HDMI-A-1
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.821] Compositor capabilities:
    Jul 16 00:21:50 tda4vm-sk weston[538]:                arbitrary surface rotation: yes
    Jul 16 00:21:50 tda4vm-sk weston[538]:                screen capture uses y-flip: yes
    Jul 16 00:21:50 tda4vm-sk weston[538]:                cursor planes: yes
    Jul 16 00:21:50 tda4vm-sk weston[538]:                arbitrary resolutions: no
    Jul 16 00:21:50 tda4vm-sk weston[538]:                view mask clipping: yes
    Jul 16 00:21:50 tda4vm-sk weston[538]:                explicit sync: no
    Jul 16 00:21:50 tda4vm-sk weston[538]:                color operations: yes
    Jul 16 00:21:50 tda4vm-sk weston[538]:                presentation clock: CLOCK_MONOTONIC, id 1
    Jul 16 00:21:50 tda4vm-sk weston[538]:                presentation clock resolution: 0.000000001 s
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.822] Loading module '/usr/lib/weston/desktop-shell.so'
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.827] launching '/usr/libexec/weston-keyboard'
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.831] Note: support for the deprecated wl_shell interface is disabled. If a legacy client still needs it, it can be re-enabled by pa>
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.833] Loading module '/usr/lib/weston/systemd-notify.so'
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.833] info: add 1 socket(s) provided by systemd
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.839] launching '/usr/libexec/weston-desktop-shell'
    Jul 16 00:21:51 tda4vm-sk weston[538]: [00:21:51.547] event1  - ABKO APC925 QHD WEBCAM: ABKO AP: is tagged by udev as: Keyboard
    Jul 16 00:21:51 tda4vm-sk weston[538]: [00:21:51.547] event1  - ABKO APC925 QHD WEBCAM: ABKO AP: device is a keyboard
    Jul 16 00:21:51 tda4vm-sk weston[538]: [00:21:51.547] libinput: configuring device "ABKO APC925 QHD WEBCAM: ABKO AP".
    Jul 16 00:21:51 tda4vm-sk weston[538]: [00:21:51.547] associating input device event1 with output HDMI-A-1 (none by udev)
    Jul 16 00:21:55 tda4vm-sk weston[538]: [00:21:55.132] unexpectedly large timestamp jump (from 10935 to 12657)

    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.547] GL version: OpenGL ES 3.1 Mesa 22.3.5 (git-54fd9d7dea)
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.547] GLSL version: OpenGL ES GLSL ES 3.10
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.547] GL vendor: Mesa/X.org
    Jul 16 00:21:50 tda4vm-sk weston[538]: [00:21:50.547] GL renderer: softpipe

    How can I use GPU accelerated libraries?

    Regards,

    JB

  • JB,

    We first need the graphics driver to be loaded. Not sure why it is not being loaded by default in your system, but we can do the following:

    1) Stop Weston

    systemctl stop weston

    2) Insert the GPU driver module

    insmod /lib/modules/<linux_version>/extra/pvrsrvkm.ko

    3) Start Weston again

    systemctl start weston

    This should start weston now with GPU acceleration. If you want to check step 2), you should see logs in "dmesg" which contain the string "PVR".

    Regards,

    Erick

  • Hi, Erick

    I had to rebuild ti-img-rogue-driver.
    I completed to build it but couldn't install it to target.

    Please check the following build logs.
    I think 'Primary arch' must be target_aarch64 not target_x86_64.
    Actually .../ti-img-rogue-driver-23.2.6460340/binary_j721e_linux_lws-generic_release/target_x86_64 was generated.

    jblim@dev01-vm:ti-processor-sdk-linux-edgeai-j721e-evm-09_01_00_06$ make ti-img-rogue-driver
    ...
    =====================================
    Building ti-img-rogue-driver
    =====================================
    make -C /home/jblim/ti-processor-sdk-linux-edgeai-j721e-evm-09_01_00_06/board-support/extra-drivers/ti-img-rogue-driver-23.2.6460340 ARCH=arm64 KERNELDIR=/home/jblim/ti-processor-sdk-linux-edgeai-j721e-evm-09_01_00_06/board-support/ti-linux-kernel-6.1.46+gitAUTOINC+5892b80d6b-g5892b80d6b \
    	CROSS_COMPILE=/home/jblim/ti-processor-sdk-linux-edgeai-j721e-evm-09_01_00_06/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/aarch64-oe-linux/aarch64-oe-linux- CC=gcc SYSROOT=/home/jblim/ti-processor-sdk-linux-edgeai-j721e-evm-09_01_00_06/linux-devkit/sysroots/aarch64-oe-linux \
    	BUILD=release PVR_BUILD_DIR=j721e_linux WINDOW_SYSTEM=lws-generic
    make[1]: Entering directory '/home/jblim/ti-processor-sdk-linux-edgeai-j721e-evm-09_01_00_06/board-support/extra-drivers/ti-img-rogue-driver-23.2.6460340'
    ******* Multiarch build:     no
    ******* Primary arch:        target_x86_64
    ******* Secondary arch:      none
    ******* PVR top-level arch:  rogue
    ******* PVR DEFS arch:       rogue
    ******* PVR USC arch:        rogue
    ******* PVR TPU arch:        rogue
    ******* HWDefs Root:         /home/jblim/ti-processor-sdk-linux-edgeai-j721e-evm-09_01_00_06/board-support/extra-drivers/ti-img-rogue-driver-23.2.6460340/hwdefs/rogue
    ******* Host OS:             linux
    ******* Target OS:           linux
    ...
    
    jblim@dev01-vm:ti-processor-sdk-linux-edgeai-j721e-evm-09_01_00_06$ sudo make ti-img-rogue-driver_install
    ====================================
    Installing ti-img-rogue-driver
    ====================================
    make -C /home/jblim/ti-processor-sdk-linux-edgeai-j721e-evm-09_01_00_06/board-support/ti-linux-kernel-6.1.46+gitAUTOINC+5892b80d6b-g5892b80d6b ARCH=arm64 CROSS_COMPILE=/home/jblim/ti-processor-sdk-linux-edgeai-j721e-evm-09_01_00_06/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/aarch64-oe-linux/aarch64-oe-linux- \
    	M=/home/jblim/ti-processor-sdk-linux-edgeai-j721e-evm-09_01_00_06/board-support/extra-drivers/ti-img-rogue-driver-23.2.6460340/binary_j721e_linux_lws-generic_release/target_aarch64/kbuild \
    	INSTALL_MOD_PATH=/home/jblim/ti-processor-sdk-linux-edgeai-j721e-evm-09_01_00_06/_targetfs INSTALL_MOD_STRIP=1 \
    	modules_install
    make[1]: Entering directory '/home/jblim/ti-processor-sdk-linux-edgeai-j721e-evm-09_01_00_06/board-support/ti-linux-kernel-6.1.46+gitAUTOINC+5892b80d6b-g5892b80d6b'
    make -f ./scripts/Makefile.modinst
    cat: /home/jblim/ti-processor-sdk-linux-edgeai-j721e-evm-09_01_00_06/board-support/extra-drivers/ti-img-rogue-driver-23.2.6460340/binary_j721e_linux_lws-generic_release/target_aarch64/kbuild/modules.order: No such file or directory
      sh ./scripts/depmod.sh depmod 6.1.46-dirty
    make[1]: Leaving directory '/home/jblim/ti-processor-sdk-linux-edgeai-j721e-evm-09_01_00_06/board-support/ti-linux-kernel-6.1.46+gitAUTOINC+5892b80d6b-g5892b80d6b'

    Regards,

    JB

  • Hi, Erick

    There was a target mismatch between build and install.
    I modified makefile and succeed to install ko.

    diff --git a/linux/makerules/Makefile_ti-img-rogue-driver b/linux/makerules/Makefile_ti-img-rogue-driver
    index 3cedb64ca..aaa0919e7 100644
    --- a/linux/makerules/Makefile_ti-img-rogue-driver
    +++ b/linux/makerules/Makefile_ti-img-rogue-driver
    @@ -23,7 +23,7 @@ ti-img-rogue-driver_install:
            @echo     Installing ti-img-rogue-driver
            @echo ====================================
            $(MAKE) -C $(LINUXKERNEL_INSTALL_DIR) ARCH=arm64 CROSS_COMPILE=$(CROSS_COMPILE) \
    -               M=$(IMG_ROGUE_SRC_DIR)/binary_$(PVR_BUILD_DIR)_$(PVR_WS)_$(PVR_BUILD)/target_aarch64/kbuild \
    +               M=$(IMG_ROGUE_SRC_DIR)/binary_$(PVR_BUILD_DIR)_$(PVR_WS)_$(PVR_BUILD)/target_x86_64/kbuild \
                    INSTALL_MOD_PATH=$(ROOTFS_PART) INSTALL_MOD_STRIP=$(INSTALL_MOD_STRIP) \
                    modules_install
    
    

    Then I checked Wayland(western) started with GPU acceleration, and performance is improved

    Thanks,

    Regards,

    JB