一文带你玩转全志T527的GPU(2)-盈鹏飞嵌入式
-
本文中涉及到产品的实际操作,该操作都是在盈鹏飞嵌入式AHD-X527主板上进行执行,AHD-X527介绍如下:
AHD-X527产品特性:-
采用Allwinner公司Cortex-A55八核A527/T527处理器,运行最高速度为2.0GHZ(T527最高1.8GHZ);
-
支持Mali-G57 MC1 GPU,支持OpenGL ES 3.2/2.0/1.0, Valkan 1.1,OpenCL 2.0
-
支持4K/25fps H.264视频编码,支持4K/15fps MJPEG编码;
-
多格式4K/60fps视频解码 (H.265,H.264,VC-1, MPEG-1/2/4, VP8) ;
-
支持双屏异显;支持HDMI 2.0B, 分辨率最高4K@60fps;支持LVDS,分辨率最高1920x1080@60fps;支持MIPI DSI,分辨率最高2.5K@60fps(与LVDS复用);
-
支持1-4G Bytes LPDDR4X SDRAM;
-
支持EMMC 8G-64G大容量电子盘,可启动;
-
支持1路USB 3.0;支持3路USB2.0 HOST和一路OTG(TYPE-C接口);
-
支持2路I2C(其中一路支持掉电唤醒)、2路PWM(应用于背光);
-
支持双路千兆以太网;
-
支持3G/4G通信;
-
支持2路UART(TTL)、支持1路RS485、支持双路CAN BUS(2.0B,仅T527支持);
-
支持MIPI CSI - 24-lane/42-lane/ 4+2*2-lane;
-
操作系统的支持,可预装Android13/LINUX 5.15/Ubuntu 22.04;
-
尺寸为146X119MM
AHD-X527产品功能图:
三、Linux图形显示Tina_Linux_图形系统_开发指南_linux图形系统-CSDN博客
Tina_Linux_图形系统_开发指南_tinalinux-CSDN博客
Wayland与Weston简介_weston wayland-CSDN博客
Wayland与Weston简介_weston wayland-CSDN博客
GPU的使用是需要结合图形显示系统的,对于不同的图形显示系统,GPU驱动库也有所不同,所以要使用GPU必须先了解Linux下的图形显示方式。
linux是一个基于命令行的操作系统,图形界面是一个应用程序(而windows的图形界面是操作系统的一部分)。 Linux中图形显示所涉及的知识,简单框图如下所示:
下面简单介绍一些图形相关的知识,包括内核驱动、图形API接口、显示管理器、窗口管理器、GUI应用工具,桌面环境等等。
3.1. DRM/KMS
Direct Rendering Manager(DRM)子系统用于linux内核显示、图形和合成子系统的管理。 通常使用该框架来控制显示接口和外部显示器(控制分辨率,频率,多屏显示等)、输出画面到显示面板、硬件渲染画面等。DRM是在内核空间,用户空间使用,通常通过相应的 libdrm 库函数调用, 也可以直接ioctl访问设备文件或者使用sysfs文件DRM驱动通信, 使用OpenGL或Vulkan等图形API的应用程序可以通过这些设备文件与GPU进行交互,以实现硬件加速渲染等。
3.2. libdrm
libdrm库,为DRM驱动ioctl提供了包装函数,避免了将内核接口直接暴露给应用程序, 通过libdrm对显示资源进行统一访问,libdrm将命令传递到内核最终由DRM驱动接管各应用的请求并处理。libdrm是一个底层库,通常被其他图形驱动程序调用,例如Mesa、X、libva和类似项目。
3.3. OpenGL
OpenGL是一组专门涉及2D和3D图形的硬件加速渲染的规范, 至于内部具体每个函数是如何实现,将由编写OpenGL库的人自行决定,实际通常是GPU的生产商。 OpenGL API实现通常是C语言,也有其他语言的实现,如Java、Golang和Rust等。OpenGL ES(OpenGL for Embedded Systems)是适用于嵌入式设备的OpenGL规范,针对Android手机和iPhone等嵌入式设备。
EGL 是一个依赖于平台的API, 是渲染 API(如 OpenGL ES)和原生窗口系统之间的接口。通常来说,OpenGL 是一个操作 GPU 的 API,它通过驱动向 GPU 发送相关指令,控制图形渲染管线状态机的运行状态,但是当涉及到与本地窗口系统进行交互时,就需要这么一个中间层,因此 EGL 被设计出来,作为 OpenGL 和原生窗口系统之间的桥梁,且它与平台无关的。
3.4. Vulkan
Vulkan 是一个低开销、跨平台的2D和3D图形与计算的应用程序接口(API),能够跨平台高效访问GPU。Vulkan的设计目标是提供一个更轻量级、更高效的图形API,以取代OpenGL等传统的图形API。 作为业内开放标准的现代GPU API,开发人员能够编写可移植到多个不同平台的应用程序。
3.5. Mesa
Mesa 也称为Mesa3D和Mesa 3D图形库,是OpenGL、Vulkan和其他图形API规范的开源实现。 Mesa将这些API规范转换为特定于供应商的图形硬件驱动程序。Mesa项目最初是作为OpenGL规范的开源实现而开始。经过多年来发展,具有跨平台支持、高性能、开源和扩展性等特点,并且该项目已经扩展到实现更多的图形API, 包括OpenGL ES、OpenCL、OpenMAX、VDPAU、VA-API、Vulkan和EGL。
3.6. X Window System
大多数基于Linux的发行版都使用 X Window System (X11,或者简称X) , 它是基于客户端-服务器体系结构,可以在远程环境中使用。X Window系统基于客户端-服务器体系结构,客户端和服务器可以在同一台机器上也可以不在同一台机器上,就需要一个在客户端和服务器之间传递消息的协议。 X11协议就是负责消息传递,当客户端和服务器在同一台机器上时,消息通过UNIX套接字进行交换,不同机器上通过网络(TCP/IP)
3.7. Wayland
Wayland 是一种显示服务协议,不依赖客户端-服务器体系结构,旨在提供一个现代、 安全的的Linux和其他类Unix操作系统窗口系统取代X Window system,而Weston是Wayland开源显示协议的参考实现3.8. EGLFS
EGLFS是QT自带的一个平台插件,可以在EGL和OpenGL ES之上运行Qt应用程序,而不需要通过X11或Wayland这样的实际窗口系统。 EGLFS还支持软件渲染窗口,如QWidget的内容使用CPU渲染成图像,然后上传到纹理中,并由插件进行合成。四、T527 GPU使用
T527 GPU的使用,还要分两种GPU驱动来说,一种是闭源驱动mali,一种是开源panforst驱动。4.1、闭源GPU驱动的测试
由于部分 Android 平台 GKI 的要求,默认不开启CONFIG_DEBUG_FS, 导致 cpu_monitor 工具无法获取gpu 的频率信息,于是 mali‑valhall dirver 将 debugfs 相应的功能移动到 sysfs。具体的路径位于: /sys/devices/platform/soc@3000000/1800000.gpu/sunxi_gpu。接下来介绍下 sysfs 调试节点的使用方法。 scene_ctrl:可读写,GPU 是否运行在性能模式 echo 1 >scene_ctrl; GPU将会关闭dvfs,运行在最高频。 0:关闭 1:开启 sunxi_gpu_freq:可读写,用来查看、改变 GPU 的频率 /sys/devices/platform/soc@3000000/1800000.gpu/sunxi_gpu # cat sunxi_gpu_freq Frequency:696MHz; //GPU当前的频率 Utilisation from last show:0%; //GPU当前的负载率,这两个信息是用户最常用的 // 更改GPU的频率,单位是MHz,将GPU频率设为600MHz;同时会将dvfs关闭 /sys/devices/platform/soc@3000000/1800000.gpu/sunxi_gpu # echo 600 >sunxi_gpu_freq /sys/devices/platform/soc@3000000/1800000.gpu/sunxi_gpu # cat sunxi_gpu_freq Frequency:600MHz; Utilisation from last show:0%; 如果更改频率失败,会有以下提示: /sys/devices/platform/soc@3000000/1800000.gpu/sunxi_gpu # echo 1 >sunxi_gpu_freq [ 1212.444659] mali 1800000.gpu: sunxi:mali_kbase:set gpu core clock to 1000000 err ‑22! 注意:虽然更改频率失败,但仍会影响dvfs_ctrl的值,将dvfs_ctrl设为0,即dvfs不再起作用。读写频率的单位MHz。 sunxi_gpu_volt:可读写,用来查看、改变 GPU 的电压 (GPU 独立供电时才能更改电压) /sys/devices/platform/soc@3000000/1800000.gpu/sunxi_gpu # cat sunxi_gpu_volt 920mv //非独立供电时,尝试更改电压会报错 /sys/devices/platform/soc@3000000/1800000.gpu/sunxi_gpu # echo 900 >sunxi_gpu_volt [ 1315.910428] mali 1800000.gpu: sunxi:mali_kbase:[ERR]: GPU not support change voltage!!! ash: write error: Operation not permitted 注意:读写电压的单位是mv sunxi_gpu_dvfs:可读写,用来查看、配置 dvfs 对 GPU 的控制 echo 0 >sunxi_gpu_dvfs;//dvfs将不再影响GPU的频率,这个配置,只有内核开启PM_DEVFREQ 并且GPU驱动开启CONFIG_MALI_DEVFREQ选项时才有效。 sunxi_gpu_info:只读,查看 GPU 详细的运行信息和几组重要寄存器的值 /sys/devices/platform/soc@3000000/1800000.gpu/sunxi_gpu # cat sunxi_gpu_info voltage:920mV; idle:on; scenectrl:off; dvfs:off; independent_power:no; Frequency:600MHz; Utilisation from last show:0%; Register state: GPU_IRQ_RAWSTAT=0x00000000 GPU_STATUS=0x00000100 JOB_IRQ_RAWSTAT=0x90910010 JOB_IRQ_JS_STATE=0x00000001 JS0_STATUS=0x00000000 JS0_HEAD_LO=0x00000000 JS1_STATUS=0x00000000 JS1_HEAD_LO=0x00000000 JS2_STATUS=0x00000000 JS2_HEAD_LO=0x00000000 MMU_IRQ_RAWSTAT=0x00000000 GPU_FAULTSTATUS=0x00000000 GPU_IRQ_MASK=0x00000000 JOB_IRQ_MASK=0x00000000 MMU_IRQ_MASK=0x00000000 PWR_OVERRIDE0=0x00000000 PWR_OVERRIDE1=0x00000000 SHADER_CONFIG=0x20000000 L2_MMU_CONFIG=0x00000000 TILER_CONFIG=0x00000000 JM_CONFIG=0x000f0000
4.2、开源GPU驱动Panfrost的测试
具体的路径位于:/sys/devices/platform/soc@3000000/1800000.gpu/devfreq/1800000.gpu
注意:路径和闭源驱动不同了。
embfly-x527:/sys/devices/platform/soc@3000000/1800000.gpu/devfreq/1800000.gp available_frequencies max_freq subsystem available_governors min_freq target_freq cur_freq name timer device polling_interval trans_stat governor power uevent
available_frequencies表示可用的GPU频率:
#cat available_frequencies 150000000 200000000 300000000 400000000 600000000 696000000
可以看到最高频率是696Mhz,这个和G57标称的有区别,G57标称的最高频率是850MHZ ,而全志只能让它跑在700Mhz,分析估计是散热问题,跑太快,发热量高,最后导致不稳定。
available_governors表示GPU支持的工作方式,和CPU比较类似:
#cat available_governors userspace performance simple_ondemand
GPU的工作支持performance(最高性能),也支持simple_ondemand按照需求调度。那么默认是什么工作方式呢?通过如下指令可以获得:
#cat governor simple_ondemand
目前不得而知如何让其默认工作在性能模式。
4.3、开源GPU驱动Panfrost下glmark2的跑分
glmark2是一个用于评估OpenGL(图形编程接口)性能的基准测试工具。它可以测试图形处理器(GPU)在处理图形渲染任务时的性能表现。
root@Embfly-x527:/$ glmark2-es2-drm [ 135.729283] [drm] [LVDS]sunxi_lvds_connector_get_modes start ======================================================= glmark2 2021.02 ======================================================= OpenGL Information GL_VENDOR: Panfrost GL_RENDERER: Mali-G57 (Panfrost) GL_VERSION: OpenGL ES 3.1 Mesa 22.2.2 ======================================================= [build] use-vbo=false: FPS: 59 FrameTime: 16.949 ms [build] use-vbo=true: FPS: 59 FrameTime: 16.949 ms [texture] texture-filter=nearest: FPS: 59 FrameTime: 16.949 ms [texture] texture-filter=linear: FPS: 59 FrameTime: 16.949 ms [texture] texture-filter=mipmap: FPS: 59 FrameTime: 16.949 ms [shading] shading=gouraud: FPS: 59 FrameTime: 16.949 ms [shading] shading=blinn-phong-inf: FPS: 59 FrameTime: 16.949 ms [shading] shading=phong: FPS: 59 FrameTime: 16.949 ms [shading] shading=cel: FPS: 59 FrameTime: 16.949 ms [bump] bump-render=high-poly: FPS: 59 FrameTime: 16.949 ms [bump] bump-render=normals: FPS: 59 FrameTime: 16.949 ms [bump] bump-render=height: FPS: 59 FrameTime: 16.949 ms [effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 59 FrameTime: 16.949 ms [effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 59 FrameTime: 16.949 ms [pulsar] light=false:quads=5:texture=false: FPS: 59 FrameTime: 16.949 ms [desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 59 FrameTime: 16.949 ms [desktop] effect=shadow:windows=4: FPS: 59 FrameTime: 16.949 ms [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 59 FrameTime: 16.949 ms [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 59 FrameTime: 16.949 ms [buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 59 FrameTime: 16.949 ms [ideas] speed=duration: FPS: 59 FrameTime: 16.949 ms [jellyfish] <default>: FPS: 59 FrameTime: 16.949 ms [terrain] <default>: FPS: 14 FrameTime: 71.429 ms [shadow] <default>: FPS: 59 FrameTime: 16.949 ms [refract] <default>: FPS: 43 FrameTime: 23.256 ms [conditionals] fragment-steps=0:vertex-steps=0: FPS: 59 FrameTime: 16.949 ms [conditionals] fragment-steps=5:vertex-steps=0: FPS: 59 FrameTime: 16.949 ms [conditionals] fragment-steps=0:vertex-steps=5: FPS: 59 FrameTime: 16.949 ms [function] fragment-complexity=low:fragment-steps=5: FPS: 59 FrameTime: 16.949 ms [function] fragment-complexity=medium:fragment-steps=5: FPS: 59 FrameTime: 16.949 ms [loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 59 FrameTime: 16.949 ms [loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 59 FrameTime: 16.949 ms [loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 59 FrameTime: 16.949 ms ======================================================= glmark2 Score: 57 ======================================================= /////////////////////////////////////////// glmark2-es-wayland测试先要启动weston,否则不工作 root@Embfly-x527:/$ /etc/init.d/S40weston start mkdir: can't create directory '/tmp/wayland': File exists root@Embfly-x527:/$ Date: 2000-01-01 UTC [00:08:15.443] weston 9.0.0 https://wayland.freedesktop.org Bug reports to: https://gitlab.freedesktop.org/wayland/weston/issues/ Build: 9.0.0 [00:08:15.444] Command line: weston --backend=drm-backend.so --tty=1 --xwayland [00:08:15.444] OS: Linux, 5.15.147, #5 SMP PREEMPT Sat Jul 19 14:38:28 CST 2025, aarch64 [00:08:15.444] Using config file '/etc/xdg/weston/weston.ini' [00:08:15.444] Output repaint window is 7 ms maximum. [00:08:15.444] Loading module '/usr/lib/libweston-9/drm-backend.so' [00:08:15.446] initializing drm backend [00:08:15.449] using /dev/dri/card0 [00:08:15.449] DRM: supports atomic modesetting [00:08:15.449] DRM: supports GBM modifiers [00:08:15.449] DRM: supports picture aspect ratio [00:08:15.449] Loading module '/usr/lib/libweston-9/gl-renderer.so' [00:08:15.477] EGL client extensions: EGL_EXT_device_base EGL_EXT_device_enumeration EGL_EXT_device_query EGL_EXT_platform_base EGL_KHR_client_get_all_proc_addresses EGL_EXT_client_extensions EGL_KHR_debug EGL_EXT_platform_device EGL_EXT_platform_wayland EGL_KHR_platform_wayland EGL_MESA_platform_gbm EGL_KHR_platform_gbm EGL_MESA_platform_surfaceless [00:08:15.481] EGL version: 1.4 [00:08:15.481] EGL vendor: Mesa Project [00:08:15.481] EGL client APIs: OpenGL OpenGL_ES [00:08:15.481] EGL extensions: EGL_ANDROID_blob_cache EGL_EXT_buffer_age EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers 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_partial_update 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_image_dma_buf_export EGL_MESA_query_driver EGL_WL_bind_wayland_display [00:08:15.482] warning: Disabling render GPU timeline and explicit synchronization due to missing EGL_ANDROID_native_fence_sync extension [00:08:15.482] EGL_KHR_surfaceless_context available [00:08:15.486] GL version: OpenGL ES 3.1 Mesa 22.2.2 [00:08:15.486] GLSL version: OpenGL ES GLSL ES 3.10 [00:08:15.486] GL vendor: Panfrost [00:08:15.486] GL renderer: Mali-G57 (Panfrost) [00:08:15.487] GL 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_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_EXT_frag_depth GL_NV_fbo_color_attachments GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_vertex_array_object GL_ANGLE_pack_reverse_row_order GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_EXT_occlusion_query_boolean 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_EXT_draw_buffers GL_EXT_map_buffer_range GL_KHR_debug GL_KHR_texture_compression_astc_ldr 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_sRGB_write_control GL_EXT_separate_shader_objects GL_EXT_shader_framebuffer_fetch GL_EXT_shader_implicit_conversions GL_EXT_shader_integer_mix GL_EXT_compressed_ETC1_RGB8_sub_texture GL_EXT_draw_buffers_indexed GL_EXT_draw_elements_base_vertex GL_EXT_gpu_shader5 GL_EXT_primitive_bounding_box GL_EXT_shader_io_blocks GL_EXT_texture_border_clamp GL_EXT_texture_buffer GL_EXT_texture_view GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_KHR_context_flush_control GL_NV_image_formats 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_texture_border_clamp GL_OES_texture_buffer GL_OES_texture_stencil8 GL_OES_texture_storage_multisample_2d_array GL_OES_texture_view GL_EXT_blend_func_extended GL_EXT_float_blend GL_EXT_texture_sRGB_R8 GL_EXT_texture_sRGB_RG8 GL_KHR_no_error GL_KHR_texture_compression_astc_sliced_3d GL_OES_EGL_image_external_essl3 GL_OES_shader_image_atomic GL_EXT_multisampled_render_to_texture GL_EXT_multisampled_render_to_texture2 GL_EXT_texture_compression_s3tc_srgb GL_MESA_shader_integer_functions GL_EXT_color_buffer_half_float GL_EXT_texture_compression_bptc GL_EXT_texture_mirror_clamp_to_edge GL_KHR_parallel_shader_compile GL_EXT_EGL_image_storage GL_EXT_shader_framebuffer_fetch_non_coherent GL_INTEL_blackhole_render GL_MESA_framebuffer_flip_y GL_EXT_depth_clamp GL_MESA_bgra [00:08:15.817] GL ES 2 renderer features: read-back format: BGRA wl_shm sub-image to texture: yes EGL Wayland extension: yes [00:08:15.825] event2 - sunxi-gpadc0/channel3/input0: not tagged as supported input device [00:08:15.854] event2 - not usi[ 492.639666] [drm] [LVDS]sunxi_lvds_connector_get_modes start ng input device '/dev/input/even[ 492.647254] [drm] sunxi-hdmi: drm hdmi detect: connect t2' [00:08:15.855] event3 - su[ 492.655579] [drm] sunxi-hdmi: drm get edid support modes: 42 nxi-gpadc0/channel4/input0: not tagged as supported input device [00:08:15.901] event3 - not using input device '/dev/input/event3' [00:08:15.903] event4 - sunxi-gpadc0/channel5/input0: not tagged as supported input device [00:08:15.953] event4 - not using input device '/dev/input/event4' [00:08:15.955] event5 - sunxi-gpadc0/channel6/input0: not tagged as supported input device [00:08:15.986] event5 - not using input device '/dev/input/event5' [00:08:15.987] event6 - sunxi-gpadc0/channel7/input0: not tagged as supported input device [00:08:16.029] event6 - not using input device '/dev/input/event6' [00:08:16.031] event0 - sunxi-keyboard: is tagged by udev as: Keyboard [00:08:16.031] event0 - sunxi-keyboard: device is a keyboard [00:08:16.033] event1 - sunxi_ir_recv: is tagged by udev as: Keyboard Pointingstick Joystick [00:08:16.033] event1 - sunxi_ir_recv: device is a pointer [00:08:16.033] event1 - sunxi_ir_recv: device is a keyboard [00:08:16.035] event7 - axp2202-pek: is tagged by udev as: Keyboard [00:08:16.035] event7 - axp2202-pek: device is a keyboard [00:08:16.037] event8 - audiocodec Headphones: is tagged by udev as: Keyboard Switch [00:08:16.037] event8 - audiocodec Headphones: device is a keyboard [00:08:16.060] libinput: configuring device "sunxi-keyboard". [00:08:16.060] libinput: configuring device "sunxi_ir_recv". [00:08:16.060] libinput: configuring device "axp2202-pek". [00:08:16.060] libinput: configuring device "audiocodec Headphones". [00:08:16.068] DRM: head 'LVDS-1' found, connector 133 is connected, EDID make 'unknown', model 'unknown', serial 'unknown' [00:08:16.086] DRM: head 'HDMI-A-1' found, connector 135 is connected, EDID make 'DEL', model 'DELL U2414H', serial '4CWX76429U6L' [00:08:16.086] Registered plugin API 'weston_drm_output_api_v1' of size 24 [00:08:16.086] Chosen EGL config details: id: 25 rgba: 8 8 8 0 buf: 24 dep: 0 stcl: 0 int: 1-1 type: win vis_id: XRGB8888 (0x34325258) [00:08:16.087] Output LVDS-1 (crtc 115) video modes: 1280x800@60.2, preferred, current, 65.0 MHz [00:08:16.087] associating input device event0 with output LVDS-1 (none by udev) [00:08:16.087] associating input device event1 with output LVDS-1 (none by udev) [00:08:16.087] associating input device event7 with output LVDS-1 (none by udev) [00:08:16.087] associating input device event8 with output LVDS-1 (none by udev) [00:08:16.087] Output 'LVDS-1' enabled with head(s) LVDS-1 [00:08:16.087] Chosen EGL config details: id: 25 rgba: 8 8 8 0 buf: 24 dep: 0 stcl: 0 int: 1-1 type: win vis_id: XRGB8888 (0x34325258) [00:08:16.087] Output HDMI-A-1 (crtc 94) video modes: 1920x1080@60.0, preferred, current, 148.5 MHz 1920x1080@60.0 16:9, 148.5 MHz 1920x1080@59.9 16:9, 148.4 MHz 1920x1080@60.0, 74.2 MHz 1920x1080@60.0 16:9, 74.2 MHz 1920x1080@59.9 16:9, 74.2 MHz 1920x1080@50.0 16:9, 148.5 MHz 1920x1080@50.0 16:9, 74.2 MHz 1600x1200@60.0, 162.0 MHz 1600x900@60.0, 108.0 MHz 1280x1024@60.0, 108.0 MHz 1280x720@60.0, 74.2 MHz 1280x720@60.0 16:9, 74.2 MHz 1280x720@59.9 16:9, 74.2 MHz 1280x720@50.0 16:9, 74.2 MHz 1024x768@60.0, 65.0 MHz 800x600@60.3, 40.0 MHz 720x576@50.0 16:9, 27.0 MHz 720x576@50.0 16:9, 13.5 MHz 720x480@60.0 4:3, 27.0 MHz 720x480@60.0 16:9, 27.0 MHz 720x480@59.9, 27.0 MHz 720x480@59.9 16:9, 27.0 MHz 720x480@59.9 4:3, 27.0 MHz 720x480@60.0 16:9, 13.5 MHz 720x480@59.9 16:9, 13.5 MHz 640x480@60.0 4:3, 25.2 MHz 640x480@59.9, 25.2 MHz 640x480@59.9 4:3, 25.2 MHz [00:08:16.087] Output 'HDMI-A-1' enabled with head(s) HDMI-A-1 [00:08:16.087] Compositor capabilities: arbitrary surface rotation: yes screen capture uses y-flip: yes presentation clock: CLOCK_MONOTONIC, id 1 presentation clock resolution: 0.000000001 s [00:08:16.418] Loading module '/usr/lib/weston/desktop-shell.so' [00:08:16.419] launching '/usr/libexec/weston-keyboard' [00:08:16.421] Loading module '/usr/lib/libweston-9/xwayland.so' [00:08:16.440] Registered plugin API 'weston_xwayland_v1' of size 32 [00:08:16.440] Registered plugin API 'weston_xwayland_surface_v1' of si[ 493.060950] [drm] sunxi-hdmi: drm hdmi check mode: unchange >>>>>>>>>>>>>>>> ze 16 [00:08:16.440] xserver listening on display :0 [00:08:16.440] launching '/usr/libexec/weston-desktop-shell' could not load cursor 'dnd-move' could not load cursor 'dnd-move' could not load cursor 'dnd-copy' could not load cursor 'dnd-copy' could not load cursor 'dnd-none' could not load cursor 'dnd-none' Fontconfig warning: "/usr/share/fontconfig/conf.avail/44-wqy-zenhei.conf", line 11: Having multiple values in <test> isn't supported and may not work as expected Fontconfig warning: "/usr/share/fontconfig/conf.avail/44-wqy-zenhei.conf", line 11: Having multiple values in <test> isn't supported and may not work as expected xkbcommon: ERROR: couldn't find a Compose file for locale "C" (mapped to "C") could not create XKB compose table for locale 'C'. Disabiling compose xkbcommon: ERROR: couldn't find a Compose file for locale "C" (mapped to "C") could not create XKB compose table for locale 'C'. Disabiling compose [ 494.282726] [drm] sunxi-hdmi: drm hdmi check mode: unchange >>>>>>>>>>>>>>>> [ 494.317721] [drm] sunxi-hdmi: drm hdmi check mode: unchange >>>>>>>>>>>>>>>> root@Embfly-x527:/$ glmark2-es2-wayland ======================================================= glmark2 2021.02 ======================================================= OpenGL Information GL_VENDOR: Panfrost GL_RENDERER: Mali-G57 (Panfrost) GL_VERSION: OpenGL ES 3.1 Mesa 22.2.2 ======================================================= [build] use-vbo=false: FPS: 442 FrameTime: 2.262 ms [build] use-vbo=true: FPS: 676 FrameTime: 1.479 ms [texture] texture-filter=nearest: FPS: 672 FrameTime: 1.488 ms [texture] texture-filter=linear: FPS: 651 FrameTime: 1.536 ms [texture] texture-filter=mipmap:[ 553.106439] [drm] sunxi-hdmi: drm hdmi check mode: unchange >>>>>>>>>>>>>>>> [ 553.115778] [drm] sunxi-hdmi: drm hdmi check mode: unchange >>>>>>>>>>>>>>>> FPS: 664 FrameTime: 1.506 ms [shading] shading=gouraud: FPS: 695 FrameTime: 1.439 ms [shading] shading=blinn-phong-inf: FPS: 665 FrameTime: 1.504 ms [shading] shading=phong: FPS: 667 FrameTime: 1.499 ms [shading] shading=cel: FPS: 659 FrameTime: 1.517 ms [bump] bump-render=high-poly: FPS: 459 FrameTime: 2.179 ms [bump] bump-render=normals:[ 613.105150] [drm] sunxi-hdmi: drm hdmi check mode: unchange >>>>>>>>>>>>>>>> [ 613.114472] [drm] sunxi-hdmi: drm hdmi check mode: unchange >>>>>>>>>>>>>>>> FPS: 669 FrameTime: 1.495 ms [bump] bump-render=height: FPS: 655 FrameTime: 1.527 ms [effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 713 FrameTime: 1.403 ms [effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 298 FrameTime: 3.356 ms [pulsar] light=false:quads=5:texture=false: FPS: 642 FrameTime: 1.558 ms [desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 255 FrameTime: 3.922 ms [desktop] effect=shadow:windows=4:[ 673.103149] [drm] sunxi-hdmi: drm hdmi check mode: unchange >>>>>>>>>>>>>>>> [ 673.112629] [drm] sunxi-hdmi: drm hdmi check mode: unchange >>>>>>>>>>>>>>>> FPS: 363 FrameTime: 2.755 ms [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 95 FrameTime: 10.526 ms [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 96 FrameTime: 10.417 ms [buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 59 FrameTime: 16.949 ms [ideas] speed=duration: FPS: 230 FrameTime: 4.348 ms [jellyfish] <default>: FPS: 445 FrameTime: 2.247 ms [terrain] <default>:[ 733.104976] [drm] sunxi-hdmi: drm hdmi check mode: unchange >>>>>>>>>>>>>>>> [ 733.124117] [drm] sunxi-hdmi: drm hdmi check mode: unchange >>>>>>>>>>>>>>>> FPS: 26 FrameTime: 38.462 ms [shadow] <default>: FPS: 495 FrameTime: 2.020 ms [refract] <default>: FPS: 70 FrameTime: 14.286 ms [conditionals] fragment-steps=0:vertex-steps=0: FPS: 702 FrameTime: 1.425 ms [conditionals] fragment-steps=5:vertex-steps=0: FPS: 669 FrameTime: 1.495 ms [conditionals] fragment-steps=0:vertex-steps=5: FPS: 712 FrameTime: 1.404 ms [function] fragment-complexity=low:fragment-steps=5:[ 793.104596] [drm] sunxi-hdmi: drm hdmi check mode: unchange >>>>>>>>>>>>>>>> [ 793.114071] [drm] sunxi-hdmi: drm hdmi check mode: unchange >>>>>>>>>>>>>>>> FPS: 686 FrameTime: 1.458 ms [function] fragment-complexity=medium:fragment-steps=5: FPS: 714 FrameTime: 1.401 ms [loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 679 FrameTime: 1.473 ms [loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 712 FrameTime: 1.404 ms [loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 670 FrameTime: 1.493 ms ======================================================= glmark2 Score: 512 =======================================================
-
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号