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.

AM6548: KMSCube averaging 5 FPS

Part Number: AM6548

Dear TI,

We have an LVDS Screen connected to our custom baseboard with the TI AM6548 Processor. The performance when displaying applications such as kmscube is very poor. Additional details below:

  • Kmscube reports that it is operating at about 5 FPS:
    • root@tqma65xx-2gb-mba65xx:~# kmscube
      MESA-LOADER: failed to open tidss: /usr/lib/dri/tidss_dri.so: cannot open shared object file: No such file or directory (search p$
      failed to load driver: tidss
      Using display 0xaaaae94f29b0 with EGL version 1.4
      ===================================
      EGL information:
        version: "1.4"
        vendor: "Mesa Project"
        client extensions: "EGL_EXT_client_extensions EGL_EXT_device_base EGL_EXT_device_enumeration EGL_EXT_device_query EGL_EXT_platf$
        display extensions: "EGL_ANDROID_blob_cache EGL_EXT_buffer_age EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifi$
      ===================================
      OpenGL ES 2.x information:
        version: "OpenGL ES 3.1 Mesa 21.0.3"
        shading language version: "OpenGL ES GLSL ES 3.10"
        vendor: "Mesa/X.org"
        renderer: "softpipe"
        extensions: "GL_EXT_blend_minmax GL_EXT_multi_draw_arrays GL_EXT_texture_filter_anisotropic GL_EXT_texture_compression_s3tc GL_$
      ===================================
      Using modifier ffffffffffffff
      Modifiers failed!
      Using modifier ffffffffffffff
      Modifiers failed!
      Rendered 10 frames in 2.050202 sec (4.877568 fps)
      Rendered 20 frames in 4.117058 sec (4.857838 fps)
      Rendered 30 frames in 6.142262 sec (4.884194 fps)
      Rendered 40 frames in 8.150817 sec (4.907483 fps)
      Rendered 50 frames in 10.176011 sec (4.913517 fps)
      
  • Kmstest isn't able to find any drm drivers:
    • root@tqma65xx-2gb-mba65xx:~# kmstest
      trying to open device 'i915'...failed
      trying to open device 'amdgpu'...failed
      trying to open device 'radeon'...failed
      trying to open device 'nouveau'...failed
      trying to open device 'vmwgfx'...failed
      trying to open device 'omapdrm'...failed
      trying to open device 'exynos'...failed
      trying to open device 'tilcdc'...failed
      trying to open device 'msm'...failed
      trying to open device 'sti'...failed
      trying to open device 'tegra'...failed
      trying to open device 'imx-drm'...failed
      trying to open device 'rockchip'...failed
      trying to open device 'atmel-hlcdc'...failed
      trying to open device 'fsl-dcu-drm'...failed
      trying to open device 'vc4'...failed
      trying to open device 'virtio_gpu'...failed
      trying to open device 'mediatek'...failed
      trying to open device 'meson'...failed
      trying to open device 'pl111'...failed
      trying to open device 'stm'...failed
      trying to open device 'sun4i-drm'...failed
      trying to open device 'armada-drm'...failed
      trying to open device 'komeda'...failed
      trying to open device 'imx-dcss'...failed
      no device found
      main: Could not open device (No such device)
      root@tqma65xx-2gb-mba65xx:~#
      
  • Running a simple Qt QML Application with EGLFS using the eglfs_kms integration is pretty slow as well. I believe eglfs_kms relies on hardware acceleration (GPU). Correct me if I'm wrong.
  • For the TI AM6548, I believe the DRM driver is the tidss. Should kmstest be able to find this? I can confirm that the tidss kernel module is loaded with the lsmod command:
    • root@tqma65xx-2gb-mba65xx:~# lsmod
      Module                  Size  Used by
      hid_multitouch        327680  0
      usbhid                327680  0
      xhci_plat_hcd         327680  0
      xhci_hcd              393216  1 xhci_plat_hcd
      usbcore               458752  3 xhci_hcd,usbhid,xhci_plat_hcd
      dwc3                  327680  0
      udc_core              262144  1 dwc3
      usb_common            262144  5 xhci_hcd,usbcore,xhci_plat_hcd,dwc3,udc_core
      crct10dif_ce          262144  1
      tidss                 327680  0
      videobuf2_dma_contig   262144  1 tidss
      videobuf2_memops      262144  1 videobuf2_dma_contig
      phy_omap_usb2         262144  4
      v4l2_mem2mem          262144  1 tidss
      dwc3_keystone         262144  0
      videobuf2_v4l2        262144  2 tidss,v4l2_mem2mem
      videobuf2_common      327680  3 videobuf2_v4l2,tidss,v4l2_mem2mem
      sch_fq_codel          262144  3
      fuse                  393216  1
      ipv6                  720896  30
      root@tqma65xx-2gb-mba65xx:~#
      
  • Uname -a
    • root@tqma65xx-2gb-mba65xx:~# uname -a
      Linux tqma65xx-2gb-mba65xx 5.4.109-rt55 #1 SMP PREEMPT Mon Feb 21 09:29:21 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux
      

Here is a log captured with PuTTY that shows the complete boot from U-Boot and running the above commands:

/cfs-file/__key/communityserver-discussions-components-files/791/am65.log

If I had to guess, it would be that something with the GPU setup/configuration is wrong on my end. However, I'm sure you guys have a better idea of what it could be. Let me know your thoughts!

Thanks,

Joseph Keene