ardera / flutter-pi

A light-weight Flutter Engine Embedder for Raspberry Pi that runs without X.
MIT License
1.49k stars 153 forks source link

libGL error: unable to load driver: rockchip_dri.so #339

Open AndroidDesigner opened 11 months ago

AndroidDesigner commented 11 months ago

Hello I wanna stream an IP camera by the rtsp protocol. So I have used media_kit package to play a media. It works fine on my Ubuntu 16.04 x86_64 system, but results in the below error in a Debian 10 buster aarch64 system. The mvp and vlc from cmd (for example vlc rtsp://ip:554/live/0/MAIN) works in both systems.

code:

import 'package:media_kit/media_kit.dart';
Player player = Player();
await player.open(Media('rtsp://ip:554/live/0/MAIN'));
player.play();

error:

libGL error: unable to load driver: rockchip_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: rockchip
libGL error: unable to load driver: rockchip_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: rockchip
Segmentation fault

How can I solve the problem?

ardera commented 11 months ago

What board are you using? Are you using some debian derivative (armbian, dietpi) or vanilla debian buster? Have you done any special setup for opengl (installed some driver packages, etc)?

Can you try running kmscube and see if it works?

In general it seems like the GL driver is not installed, or not installed correctly. Maybe there's some documentation about that for your distro, it could vary from board to board.

Btw, media_kit will not work with flutter-pi, at least not if you're using video playback. If a package on pub.dev says it supports linux, in 99% it actually means it supports the official linux desktop embedder, not third-party embedders such as flutter-pi, ivi-homescreen or the sony-embedder.

For video playback using flutter-pi I'd recommend using the gstreamer video player: https://github.com/ardera/flutter-pi#gstreamer-video-player and the feature/compositor-ng branch

AndroidDesigner commented 11 months ago

What board are you using? Are you using some debian derivative (armbian, dietpi) or vanilla debian buster? Have you done any special setup for opengl (installed some driver packages, etc)?

It is a touch panel with Debian 10 buster OS and aarch64 architecture. uname -a:

Linux yf-rk356x 4.19.232 #671 SMP Tue Feb 21 11:02:04 CST 2023 aarch64 GNU/Linux

lsb_release -a:

No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 10 (buster)
Release:    10
Codename:   buster

lscpu:

Architecture:        aarch64
Byte Order:          Little Endian
CPU(s):              4
On-line CPU(s) list: 0-3
Thread(s) per core:  1
Core(s) per socket:  4
Socket(s):           1
Vendor ID:           ARM
Model:               0
Model name:          Cortex-A55
Stepping:            r2p0
CPU max MHz:         1800.0000
CPU min MHz:         408.0000
BogoMIPS:            48.00
Flags:               fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp

I'm playing audio fine (with the media_kit package) now wanna stream an IP camera too.

Can you try running kmscube and see if it works?

Yes, it is working fine (A colorful cube is rotating in center of screen with a white background).

arm_release_ver of this libmali is 'g2p0-01eac0', rk_so_ver is '3'.Using display 0x55a0bd3400 with EGL version 1.4 =================================== EGL information: version: "1.4 Bifrost-"g2p0-01eac0"" vendor: "ARM" client extensions: "EGL_EXT_client_extensions EGL_EXT_platform_base EGL_KHR_client_get_all_proc_addresses EGL_KHR_platform_gbm EGL_KHR_platform_wayland EGL_EXT_platform_wayland" display extensions: "EGL_WL_bind_wayland_display EGL_KHR_partial_update EGL_KHR_config_attribs EGL_KHR_image EGL_KHR_image_base EGL_KHR_fence_sync EGL_KHR_wait_sync EGL_KHR_gl_colorspace EGL_KHR_get_all_proc_addresses EGL_IMG_context_priority EGL_KHR_no_config_context EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_EXT_yuv_surface EGL_EXT_pixel_format_float EGL_ARM_pixmap_multisample_discard EGL_ARM_implicit_external_sync EGL_KHR_gl_texture_2D_image EGL_KHR_gl_renderbuffer_image EGL_KHR_create_context EGL_KHR_surfaceless_context EGL_KHR_gl_texture_cubemap_image EGL_EXT_image_gl_colorspace EGL_EXT_create_context_robustness" =================================== OpenGL ES 2.x information: version: "OpenGL ES 3.2 v1.g2p0-01eac0.a728b64d6b9d8cadf7f54eb4e167984c" shading language version: "OpenGL ES GLSL ES 3.20" vendor: "ARM" renderer: "Mali-G52" extensions: "GL_ARM_rgba8 GL_ARM_mali_shader_binary GL_OES_depth24 GL_OES_depth_texture GL_OES_depth_texture_cube_map GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_EXT_read_format_bgra GL_OES_compressed_paletted_texture GL_OES_compressed_ETC1_RGB8_texture GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_image_external_essl3 GL_OES_EGL_sync GL_OES_texture_npot GL_OES_vertex_half_float GL_OES_required_internalformat GL_OES_vertex_array_object GL_OES_mapbuffer GL_EXT_texture_format_BGRA8888 GL_EXT_texture_rg GL_EXT_texture_type_2_10_10_10_REV GL_OES_fbo_render_mipmap GL_OES_element_index_uint GL_EXT_shadow_samplers GL_OES_texture_compression_astc GL_KHR_texture_compression_astc_ldr GL_KHR_texture_compression_astc_hdr GL_KHR_texture_compression_astc_sliced_3d GL_EXT_texture_compression_astc_decode_mode GL_EXT_texture_compression_astc_decode_mode_rgb9e5 GL_KHR_debug GL_EXT_occlusion_query_boolean GL_EXT_disjoint_timer_query GL_EXT_blend_minmax GL_EXT_discard_framebuffer GL_OES_get_program_binary GL_OES_texture_3D GL_EXT_texture_storage GL_EXT_multisampled_render_to_texture GL_EXT_multisampled_render_to_texture2 GL_OES_surfaceless_context GL_OES_texture_stencil8 GL_EXT_shader_pixel_local_storage GL_ARM_shader_framebuffer_fetch GL_ARM_shader_framebuffer_fetch_depth_stencil GL_ARM_mali_program_binary GL_EXT_sRGB GL_EXT_sRGB_write_control GL_EXT_texture_sRGB_decode GL_EXT_texture_sRGB_R8 GL_EXT_texture_sRGB_RG8 GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_OES_texture_storage_multisample_2d_array GL_OES_shader_image_atomic GL_EXT_robustness GL_EXT_draw_buffers_indexed GL_OES_draw_buffers_indexed GL_EXT_texture_border_clamp GL_OES_texture_border_clamp GL_EXT_texture_cube_map_array GL_OES_texture_cube_map_array GL_OES_sample_variables GL_OES_sample_shading GL_OES_shader_multisample_interpolation GL_EXT_shader_io_blocks GL_OES_shader_io_blocks GL_EXT_tessellation_shader GL_OES_tessellation_shader GL_EXT_primitive_bounding_box GL_OES_primitive_bounding_box GL_EXT_geometry_shader GL_OES_geometry_shader GL_ANDROID_extension_pack_es31a GL_EXT_gpu_shader5 GL_OES_gpu_shader5 GL_EXT_texture_buffer GL_OES_texture_buffer GL_EXT_copy_image GL_OES_copy_image GL_EXT_shader_non_constant_global_initializers GL_EXT_color_buffer_half_float GL_EXT_color_buffer_float GL_EXT_YUV_target GL_OVR_multiview GL_OVR_multiview2 GL_OVR_multiview_multisampled_render_to_texture GL_KHR_robustness GL_KHR_robust_buffer_access_behavior GL_EXT_draw_elements_base_vertex GL_OES_draw_elements_base_vertex GL_EXT_buffer_storage GL_EXT_texture_filter_anisotropic GL_ARM_texture_unnormalized_coordinates " ===================================

In general it seems like the GL driver is not installed, or not installed correctly. Maybe there's some documentation about that for your distro, it could vary from board to board.

AndroidDesigner commented 11 months ago

For video playback using flutter-pi I'd recommend using the gstreamer video player: https://github.com/ardera/flutter-pi#gstreamer-video-player and the feature/compositor-ng branch

I'm using the compositor-ng branch and also cloned the source code of the flutter-pi-gstreamer-video-player, but it results in the below error:

Sample code:

import 'package:flutter/material.dart';
import 'package:video_player/video_player.dart';

class CameraPage extends StatefulWidget {

  const CameraPage({Key? key}) : super(key: key);

  @override
  State<CameraPage> createState() => _CameraPageState();
}

class _CameraPageState extends State<CameraPage> {

  late VideoPlayerController _controller;

  @override
  void initState() {
    super.initState();
    _controller = VideoPlayerController.network(
        'https://flutter.github.io/assets-for-api-docs/assets/videos/bee.mp4')
      ..initialize().then((_) {
        setState(() {});
      });
  }

  @override
  void dispose() {
    _controller.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Container(
      alignment: Alignment.center,
      child: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        crossAxisAlignment: CrossAxisAlignment.center,
        children: [
          GestureDetector(
              onTap: (){
                _controller.play();
              },
              child: const Icon(Icons.play_arrow_rounded, size: 64, color: Colors.white,)),
          const SizedBox(height: 16),
          GestureDetector(
              onTap: (){
                _controller.pause();
              },
              child: const Icon(Icons.pause, size: 64, color: Colors.white,))
        ],
      ),
    );
  }
}

error:

/path/flutter-pi-feature-compositor-ng/src/plugins/gstreamer_video_player/frame.c: EGL does not support EGL_EXT_image_dma_buf_import extension. Video frames cannot be uploaded.
/path/flutter-pi-feature-compositor-ng/src/plugins/gstreamer_video_player/plugin.c: Couldn't create gstreamer video player.
[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(nativeerror, Input/output error, 5, null)
#0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:653:7)
#1      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:315:18)
<asynchronous suspension>
#2      FlutterpiVideoPlayer.create (package:sampleRTSP/gstreamer/src/platform.dart:78:12)
<asynchronous suspension>
#3      VideoPlayerController.initialize (package:video_player/video_player.dart:404:19)
<asynchronous suspension>
ardera commented 11 months ago

ah, so at least it's starting up on feature/compositor-ng now? It didn't previously, right? can you build with -DCMAKE_BUILD_TYPE=Debug if you haven't already, run again, and attach the whole flutter-pi output? (not just the error)

AndroidDesigner commented 11 months ago

ah, so at least it's starting up on feature/compositor-ng now? It didn't previously, right?

No. I'm using feature/compositor-ng in both cases.

can you build with -DCMAKE_BUILD_TYPE=Debug if you haven't already, run again, and attach the whole flutter-pi output? (not just the error)

Do you mean run flutter-pi with the -DCMAKE_BUILD_TYPE=Debug? I'm building the asset bundle with flutter build bundle and am using debug mode (not release mode).

run the app in debug mode:

sudo flutter-pi /path/flutter_assets/ -DCMAKE_BUILD_TYPE=Debug

log:

[locales] Warning: The system has no configured locale. The default "C" locale may or may not be supported by the app.
/path/flutter-pi-feature-compositor-ng/src/modesetting.c: Could not set DRM client atomic capable. drmSetClientCap: Invalid argument
/path/flutter-pi-feature-compositor-ng/src/flutter-pi.c: Could not create drmdev from device at "/dev/dri/card1". Continuing.
arm_release_ver of this libmali is 'g2p0-01eac0', rk_so_ver is '3'.flutter: The Dart VM service is listening on http://127.0.0.1:42813/noKCwMkqAmA=/
/path/flutter-pi-feature-compositor-ng/src/plugins/gstreamer_video_player/frame.c: EGL does not support EGL_EXT_image_dma_buf_import extension. Video frames cannot be uploaded.
/path/flutter-pi-feature-compositor-ng/src/plugins/gstreamer_video_player/plugin.c: Couldn't create gstreamer video player.
[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(nativeerror, Input/output error, 5, null)
#0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:653:7)
#1      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:315:18)
<asynchronous suspension>
#2      FlutterpiVideoPlayer.create (package:sampleRTSP/gstreamer/src/platform.dart:78:12)
<asynchronous suspension>
#3      VideoPlayerController.initialize (package:video_player/video_player.dart:404:19)
<asynchronous suspension>
ardera commented 11 months ago

Do you mean run flutter-pi with the -DCMAKE_BUILD_TYPE=Debug?

No, I mean configuring the build with -DCMAKE_BUILD_TYPE=Debug, i.e. cmake -DCMAKE_BUILD_TYPE=Debug .... Then build again (using make or ninja) and run flutter-pi. That'll output more debugging information

AndroidDesigner commented 11 months ago

Full log:

/path/flutter-pi/src/filesystem_layout.c: icudtl file not found at /path2/flutter_assets/icudtl.dat.
/path/flutter-pi/src/filesystem_layout.c: icudtl file not found at /usr/share/flutter/icudtl.dat.
[locales] Warning: The system has no configured locale. The default "C" locale may or may not be supported by the app.
==============Locale==============
Flutter locale:
  default: C.UTF-8
  locales: C.UTF-8 C.UTF-8 C.UTF-8 C.UTF-8 C
===================================
/path/flutter-pi/src/modesetting.c: Could not set DRM client atomic capable. drmSetClientCap: Invalid argument
/path/flutter-pi/src/flutter-pi.c: Could not create drmdev from device at "/dev/dri/card1". Continuing.
/path/flutter-pi/src/modesetting.c: Unknown DRM connector property: CONNECTOR_ID
/path/flutter-pi/src/modesetting.c: Unknown DRM connector property: brightness
/path/flutter-pi/src/modesetting.c: Unknown DRM connector property: contrast
/path/flutter-pi/src/modesetting.c: Unknown DRM connector property: saturation
/path/flutter-pi/src/modesetting.c: Unknown DRM connector property: hue
/path/flutter-pi/src/modesetting.c: Unknown DRM crtc property: SOC_ID
/path/flutter-pi/src/modesetting.c: Unknown DRM crtc property: PORT_ID
/path/flutter-pi/src/modesetting.c: Unknown DRM crtc property: ACLK
/path/flutter-pi/src/modesetting.c: Unknown DRM crtc property: BACKGROUND
/path/flutter-pi/src/modesetting.c: Unknown DRM crtc property: LINE_FLAG1
/path/flutter-pi/src/modesetting.c: Unknown DRM crtc property: left margin
/path/flutter-pi/src/modesetting.c: Unknown DRM crtc property: right margin
/path/flutter-pi/src/modesetting.c: Unknown DRM crtc property: top margin
/path/flutter-pi/src/modesetting.c: Unknown DRM crtc property: bottom margin
/path/flutter-pi/src/modesetting.c: Unknown DRM crtc property: PLANE_MASK
===================================
EGL information:
  version: 1.4 Bifrost-"g2p0-01eac0"
  vendor: ARM
  client extensions: EGL_EXT_client_extensions EGL_EXT_platform_base EGL_KHR_client_get_all_proc_addresses EGL_KHR_platform_gbm EGL_KHR_platform_wayland EGL_EXT_platform_wayland
  display extensions: EGL_WL_bind_wayland_display EGL_KHR_partial_update EGL_KHR_config_attribs EGL_KHR_image EGL_KHR_image_base EGL_KHR_fence_sync EGL_KHR_wait_sync EGL_KHR_gl_colorspace EGL_KHR_get_all_proc_addresses EGL_IMG_context_priority EGL_KHR_no_config_context EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_EXT_yuv_surface EGL_EXT_pixel_format_float EGL_ARM_pixmap_multisample_discard EGL_ARM_implicit_external_sync EGL_KHR_gl_texture_2D_image EGL_KHR_gl_renderbuffer_image EGL_KHR_create_context EGL_KHR_surfaceless_context EGL_KHR_gl_texture_cubemap_image EGL_EXT_image_gl_colorspace EGL_EXT_create_context_robustness
===================================
===================================
OpenGL ES information:
  version: "OpenGL ES 3.2 v1.g2p0-01eac0.a728b64d6b9d8cadf7f54eb4e167984c"
  shading language version: "OpenGL ES GLSL ES 3.20"
  vendor: "ARM"
  renderer: "Mali-G52"
  extensions: "GL_ARM_rgba8 GL_ARM_mali_shader_binary GL_OES_depth24 GL_OES_depth_texture GL_OES_depth_texture_cube_map GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_EXT_read_format_bgra GL_OES_compressed_paletted_texture GL_OES_compressed_ETC1_RGB8_texture GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_image_external_essl3 GL_OES_EGL_sync GL_OES_texture_npot GL_OES_vertex_half_float GL_OES_required_internalformat GL_OES_vertex_array_object GL_OES_mapbuffer GL_EXT_texture_format_BGRA8888 GL_EXT_texture_rg GL_EXT_texture_type_2_10_10_10_REV GL_OES_fbo_render_mipmap GL_OES_element_index_uint GL_EXT_shadow_samplers GL_OES_texture_compression_astc GL_KHR_texture_compression_astc_ldr GL_KHR_texture_compression_astc_hdr GL_KHR_texture_compression_astc_sliced_3d GL_EXT_texture_compression_astc_decode_mode GL_EXT_texture_compression_astc_decode_mode_rgb9e5 GL_KHR_debug GL_EXT_occlusion_query_boolean GL_EXT_disjoint_timer_query GL_EXT_blend_minmax GL_EXT_discard_framebuffer GL_OES_get_program_binary GL_OES_texture_3D GL_EXT_texture_storage GL_EXT_multisampled_render_to_texture GL_EXT_multisampled_render_to_texture2 GL_OES_surfaceless_context GL_OES_texture_stencil8 GL_EXT_shader_pixel_local_storage GL_ARM_shader_framebuffer_fetch GL_ARM_shader_framebuffer_fetch_depth_stencil GL_ARM_mali_program_binary GL_EXT_sRGB GL_EXT_sRGB_write_control GL_EXT_texture_sRGB_decode GL_EXT_texture_sRGB_R8 GL_EXT_texture_sRGB_RG8 GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_OES_texture_storage_multisample_2d_array GL_OES_shader_image_atomic GL_EXT_robustness GL_EXT_draw_buffers_indexed GL_OES_draw_buffers_indexed GL_EXT_texture_border_clamp GL_OES_texture_border_clamp GL_EXT_texture_cube_map_array GL_OES_texture_cube_map_array GL_OES_sample_variables GL_OES_sample_shading GL_OES_shader_multisample_interpolation GL_EXT_shader_io_blocks GL_OES_shader_io_blocks GL_EXT_tessellation_shader GL_OES_tessellation_shader GL_EXT_primitive_bounding_box GL_OES_primitive_bounding_box GL_EXT_geometry_shader GL_OES_geometry_shader GL_ANDROID_extension_pack_es31a GL_EXT_gpu_shader5 GL_OES_gpu_shader5 GL_EXT_texture_buffer GL_OES_texture_buffer GL_EXT_copy_image GL_OES_copy_image GL_EXT_shader_non_constant_global_initializers GL_EXT_color_buffer_half_float GL_EXT_color_buffer_float GL_EXT_YUV_target GL_OVR_multiview GL_OVR_multiview2 GL_OVR_multiview_multisampled_render_to_texture GL_KHR_robustness GL_KHR_robust_buffer_access_behavior GL_EXT_draw_elements_base_vertex GL_OES_draw_elements_base_vertex GL_EXT_buffer_storage GL_EXT_texture_filter_anisotropic GL_ARM_texture_unnormalized_coordinates "
===================================
/path/flutter-pi/src/window.c: INFO: display has non-square pixels. Non-square-pixels are not supported by flutter.
display mode:
  resolution: 800 x 1280
  refresh rate: 56.244777Hz
  physical size: 155mm x 86mm
  flutter device pixel ratio: 1.358234
  pixel format: (any)
/path/flutter-pi/src/pluginregistry.c: Initialized plugins: services, text input, raw keyboard plugin, gstreamer video_player, audioplayers, 
/path/flutter-pi/src/window.c: Flutter requested render surface before supplying surface dimensions.
/path/flutter-pi/src/gl_renderer.c: Choosing EGL config with pixel format ARGB 8:8:8:8...
arm_release_ver of this libmali is 'g2p0-01eac0', rk_so_ver is '3'.flutter: The Dart VM service is listening on http://127.0.0.1:34717/UlXPkXc9Evw=/

/path/flutter-pi/src/plugins/gstreamer_video_player/frame.c: EGL does not support EGL_EXT_image_dma_buf_import extension. Video frames cannot be uploaded.
/path/flutter-pi/src/plugins/gstreamer_video_player/plugin.c: Couldn't create gstreamer video player.

[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(nativeerror, Input/output error, 5, null)
#0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:653:7)
#1      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:315:18)
<asynchronous suspension>
#2      FlutterpiVideoPlayer.create (package:sampleRTSP/gstreamer/src/platform.dart:78:12)
<asynchronous suspension>
#3      VideoPlayerController.initialize (package:video_player/video_player.dart:404:19)
<asynchronous suspension>
ardera commented 11 months ago

Are you on the latest commit of the feature/compositor-ng branch? Looks like this is a bug I fixed some weeks ago

AndroidDesigner commented 11 months ago

Yes I'm using the latest version of feature/compositor-ng branch. What is the problem?

ardera commented 11 months ago

The problem I fixed was a typo in the check for EGL_EXT_image_dma_buf_import support: https://github.com/ardera/flutter-pi/commit/7325374b1c64801739804ea50f4f7496edeb63ff

Other than that I'm not sure what could cause this.

AndroidDesigner commented 11 months ago

As you can see, the log says:

/path/flutter-pi/src/plugins/gstreamer_video_player/frame.c: EGL does not support EGL_EXT_image_dma_buf_import extension. Video frames cannot be uploaded.

what that means?

ardera commented 11 months ago

That means it could not find EGL_EXT_image_dma_buf_import in the list of supported EGL extensions reported by the driver.

But, as you can see, that's clearly not correct, it is actually listed as supported:

...
  display extensions: ... EGL_KHR_no_config_context EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers ... 
...

So something must be wrong with the check, which was the case like 3 weeks ago. Hence my suspicion you're on an outdated revision

AndroidDesigner commented 11 months ago

@ardera I did all of steps again from scratch. Now I don't get the previous error EGL does not support EGL_EXT_image_dma_buf_import extension. Video frames cannot be uploaded.. but video could not played again Full log:

/path1/flutter-pi/src/filesystem_layout.c: icudtl file not found at /path2/flutter_assets/icudtl.dat.
/path1/flutter-pi/src/filesystem_layout.c: icudtl file not found at /usr/share/flutter/icudtl.dat.
[locales] Warning: The system has no configured locale. The default "C" locale may or may not be supported by the app.
==============Locale==============
Flutter locale:
  default: C.UTF-8
  locales: C.UTF-8 C.UTF-8 C.UTF-8 C.UTF-8 C
===================================
/path1/flutter-pi/src/modesetting.c: Could not set DRM client atomic capable. drmSetClientCap: Invalid argument
/path1/flutter-pi/src/flutter-pi.c: Could not create drmdev from device at "/dev/dri/card1". Continuing.
/path1/flutter-pi/src/modesetting.c: Unknown DRM connector property: CONNECTOR_ID
/path1/flutter-pi/src/modesetting.c: Unknown DRM connector property: brightness
/path1/flutter-pi/src/modesetting.c: Unknown DRM connector property: contrast
/path1/flutter-pi/src/modesetting.c: Unknown DRM connector property: saturation
/path1/flutter-pi/src/modesetting.c: Unknown DRM connector property: hue
/path1/flutter-pi/src/modesetting.c: Unknown DRM crtc property: SOC_ID
/path1/flutter-pi/src/modesetting.c: Unknown DRM crtc property: PORT_ID
/path1/flutter-pi/src/modesetting.c: Unknown DRM crtc property: ACLK
/path1/flutter-pi/src/modesetting.c: Unknown DRM crtc property: BACKGROUND
/path1/flutter-pi/src/modesetting.c: Unknown DRM crtc property: LINE_FLAG1
/path1/flutter-pi/src/modesetting.c: Unknown DRM crtc property: left margin
/path1/flutter-pi/src/modesetting.c: Unknown DRM crtc property: right margin
/path1/flutter-pi/src/modesetting.c: Unknown DRM crtc property: top margin
/path1/flutter-pi/src/modesetting.c: Unknown DRM crtc property: bottom margin
/path1/flutter-pi/src/modesetting.c: Unknown DRM crtc property: PLANE_MASK
===================================
EGL information:
  version: 1.4 Bifrost-"g2p0-01eac0"
  vendor: ARM
  client extensions: EGL_EXT_client_extensions EGL_EXT_platform_base EGL_KHR_client_get_all_proc_addresses EGL_KHR_platform_gbm EGL_KHR_platform_wayland EGL_EXT_platform_wayland
  display extensions: EGL_WL_bind_wayland_display EGL_KHR_partial_update EGL_KHR_config_attribs EGL_KHR_image EGL_KHR_image_base EGL_KHR_fence_sync EGL_KHR_wait_sync EGL_KHR_gl_colorspace EGL_KHR_get_all_proc_addresses EGL_IMG_context_priority EGL_KHR_no_config_context EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_EXT_yuv_surface EGL_EXT_pixel_format_float EGL_ARM_pixmap_multisample_discard EGL_ARM_implicit_external_sync EGL_KHR_gl_texture_2D_image EGL_KHR_gl_renderbuffer_image EGL_KHR_create_context EGL_KHR_surfaceless_context EGL_KHR_gl_texture_cubemap_image EGL_EXT_image_gl_colorspace EGL_EXT_create_context_robustness
===================================
===================================
OpenGL ES information:
  version: "OpenGL ES 3.2 v1.g2p0-01eac0.a728b64d6b9d8cadf7f54eb4e167984c"
  shading language version: "OpenGL ES GLSL ES 3.20"
  vendor: "ARM"
  renderer: "Mali-G52"
  extensions: "GL_ARM_rgba8 GL_ARM_mali_shader_binary GL_OES_depth24 GL_OES_depth_texture GL_OES_depth_texture_cube_map GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_EXT_read_format_bgra GL_OES_compressed_paletted_texture GL_OES_compressed_ETC1_RGB8_texture GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_image_external_essl3 GL_OES_EGL_sync GL_OES_texture_npot GL_OES_vertex_half_float GL_OES_required_internalformat GL_OES_vertex_array_object GL_OES_mapbuffer GL_EXT_texture_format_BGRA8888 GL_EXT_texture_rg GL_EXT_texture_type_2_10_10_10_REV GL_OES_fbo_render_mipmap GL_OES_element_index_uint GL_EXT_shadow_samplers GL_OES_texture_compression_astc GL_KHR_texture_compression_astc_ldr GL_KHR_texture_compression_astc_hdr GL_KHR_texture_compression_astc_sliced_3d GL_EXT_texture_compression_astc_decode_mode GL_EXT_texture_compression_astc_decode_mode_rgb9e5 GL_KHR_debug GL_EXT_occlusion_query_boolean GL_EXT_disjoint_timer_query GL_EXT_blend_minmax GL_EXT_discard_framebuffer GL_OES_get_program_binary GL_OES_texture_3D GL_EXT_texture_storage GL_EXT_multisampled_render_to_texture GL_EXT_multisampled_render_to_texture2 GL_OES_surfaceless_context GL_OES_texture_stencil8 GL_EXT_shader_pixel_local_storage GL_ARM_shader_framebuffer_fetch GL_ARM_shader_framebuffer_fetch_depth_stencil GL_ARM_mali_program_binary GL_EXT_sRGB GL_EXT_sRGB_write_control GL_EXT_texture_sRGB_decode GL_EXT_texture_sRGB_R8 GL_EXT_texture_sRGB_RG8 GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_OES_texture_storage_multisample_2d_array GL_OES_shader_image_atomic GL_EXT_robustness GL_EXT_draw_buffers_indexed GL_OES_draw_buffers_indexed GL_EXT_texture_border_clamp GL_OES_texture_border_clamp GL_EXT_texture_cube_map_array GL_OES_texture_cube_map_array GL_OES_sample_variables GL_OES_sample_shading GL_OES_shader_multisample_interpolation GL_EXT_shader_io_blocks GL_OES_shader_io_blocks GL_EXT_tessellation_shader GL_OES_tessellation_shader GL_EXT_primitive_bounding_box GL_OES_primitive_bounding_box GL_EXT_geometry_shader GL_OES_geometry_shader GL_ANDROID_extension_pack_es31a GL_EXT_gpu_shader5 GL_OES_gpu_shader5 GL_EXT_texture_buffer GL_OES_texture_buffer GL_EXT_copy_image GL_OES_copy_image GL_EXT_shader_non_constant_global_initializers GL_EXT_color_buffer_half_float GL_EXT_color_buffer_float GL_EXT_YUV_target GL_OVR_multiview GL_OVR_multiview2 GL_OVR_multiview_multisampled_render_to_texture GL_KHR_robustness GL_KHR_robust_buffer_access_behavior GL_EXT_draw_elements_base_vertex GL_OES_draw_elements_base_vertex GL_EXT_buffer_storage GL_EXT_texture_filter_anisotropic GL_ARM_texture_unnormalized_coordinates "
===================================
/path1/flutter-pi/src/window.c: INFO: display has non-square pixels. Non-square-pixels are not supported by flutter.
display mode:
  resolution: 800 x 1280
  refresh rate: 56.244777Hz
  physical size: 155mm x 86mm
  flutter device pixel ratio: 1.358234
  pixel format: (any)
/path1/flutter-pi/src/pluginregistry.c: Initialized plugins: services, text input, raw keyboard plugin, gstreamer video_player, audioplayers, 
/path1/flutter-pi/src/window.c: Flutter requested render surface before supplying surface dimensions.
/path1/flutter-pi/src/gl_renderer.c: Choosing EGL config with pixel format ARGB 8:8:8:8...
arm_release_ver of this libmali is 'g2p0-01eac0', rk_so_ver is '3'.flutter: The Dart VM service is listening on http://127.0.0.1:46869/mKqpt5hWlIE=/

............................................. 
here I called the ``controller.play()``
.............................................

/path1/flutter-pi/src/plugins/gstreamer_video_player/plugin.c: Couldn't create gstreamer video player.
[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(nativeerror, Input/output error, 5, null)
#0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:653:7)
#1      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:315:18)
<asynchronous suspension>
#2      FlutterpiVideoPlayer.create (package:testSample/gstreamer/src/platform.dart:78:12)
<asynchronous suspension>
#3      VideoPlayerController.initialize (package:video_player/video_player.dart:404:19)
<asynchronous suspension>

what does the following error mean?

Couldn't create gstreamer video player.
[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(nativeerror, Input/output error, 5, null)