On 2020-07-23 10:49, Faruk KILAVUZ wrote:
Hello

 I am using
Armbian_20.05.4_Lime-a64_focal_current_5.4.45_desktop.img.xz and I try
run glxgears on Olinuxino-A64 with Lima. When I running glxgears I see
117 frames in 5.0 second = 23.313FPS. Also mouse response so slow on
desktop. It is understood from here Olinuxino-A64 doing software
render. Please correct me if I am wrong. I am new at this job and I
have difficulty in fully understanding the problem. Is there a way I
can get high FPS in glxgears using Lima? What exactly is problem here?
Sorry if I ask silly question. Thanks. Below are some outputs for the
board I use.

dmesg greg | "lima" output:

__

[ 8.579828] lima 1c40000.gpu: IRQ ppmmu2 not found
[ 8.584705] lima 1c40000.gpu: IRQ ppmmu3 not found
[ 8.589554] lima 1c40000.gpu: gp - mali400 version major 1 minor 1
[ 8.589626] lima 1c40000.gpu: pp0 - mali400 version major 1 minor 1
[ 8.589670] lima 1c40000.gpu: pp1 - mali400 version major 1 minor 1
[ 8.589694] lima 1c40000.gpu: IRQ pp2 not found
[ 8.594298] lima 1c40000.gpu: IRQ pp3 not found
[ 8.598869] lima 1c40000.gpu: l2 cache 64K, 4-way, 64byte cache line,
64bit external bus
[ 8.606923] lima 1c40000.gpu: bus rate = 200000000
[ 8.606932] lima 1c40000.gpu: mod rate = 297000000
[ 8.607264] [drm] Initialized lima 1.0.0 20190217 for 1c40000.gpu on
minor 0

gpu node on sun50i-a64-olinuxoni.dts:

gpu@1c40000 {
 compatible = "allwinner,sun50i-a64-mali", "arm,mali-400";
 reg = <0x1c40000 0x10000>;
 interrupts = <0x0 0x61 0x4 0x0 0x62 0x4 0x0 0x63 0x4 0x0 0x64 0x4 0x0
0x66 0x4 0x0 0x67 0x4 0x0 0x65 0x4>;
 interrupt-names = "gp", "gpmmu", "pp0", "ppmmu0", "pp1", "ppmmu1",
"pmu";
 clocks = <0x2 0x35 0x2 0x72>;
 clock-names = "bus", "core";
 resets = <0x2 0x1f>;
 phandle = <0x83>;
 };

glxinfo:

name of display: :0

display: :0 screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
 GLX_ARB_context_flush_control, GLX_ARB_create_context,
 GLX_ARB_create_context_no_error, GLX_ARB_create_context_profile,
 GLX_ARB_fbconfig_float, GLX_ARB_framebuffer_sRGB,
GLX_ARB_multisample,
 GLX_EXT_create_context_es2_profile,
GLX_EXT_create_context_es_profile,
 GLX_EXT_fbconfig_packed_float, GLX_EXT_framebuffer_sRGB,
 GLX_EXT_import_context, GLX_EXT_libglvnd, GLX_EXT_no_config_context,
 GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info,
GLX_EXT_visual_rating,
 GLX_MESA_copy_sub_buffer, GLX_OML_swap_method, GLX_SGIS_multisample,
 GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group,
 GLX_SGI_make_current_read
client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
client glx extensions:
 GLX_ARB_context_flush_control, GLX_ARB_create_context,
 GLX_ARB_create_context_no_error, GLX_ARB_create_context_profile,
 GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float,
 GLX_ARB_framebuffer_sRGB, GLX_ARB_get_proc_address,
GLX_ARB_multisample,
 GLX_EXT_buffer_age, GLX_EXT_create_context_es2_profile,
 GLX_EXT_create_context_es_profile, GLX_EXT_fbconfig_packed_float,
 GLX_EXT_framebuffer_sRGB, GLX_EXT_import_context,
 GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info,
GLX_EXT_visual_rating,
 GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer,
 GLX_MESA_multithread_makecurrent, GLX_MESA_query_renderer,
 GLX_MESA_swap_control, GLX_OML_swap_method, GLX_OML_sync_control,
 GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
 GLX_SGIX_visual_select_group, GLX_SGI_make_current_read,
 GLX_SGI_swap_control, GLX_SGI_video_sync
GLX version: 1.4
GLX extensions:
 GLX_ARB_create_context, GLX_ARB_create_context_no_error,
 GLX_ARB_create_context_profile, GLX_ARB_fbconfig_float,
 GLX_ARB_framebuffer_sRGB, GLX_ARB_get_proc_address,
GLX_ARB_multisample,
 GLX_EXT_buffer_age, GLX_EXT_create_context_es2_profile,
 GLX_EXT_create_context_es_profile, GLX_EXT_fbconfig_packed_float,
 GLX_EXT_framebuffer_sRGB, GLX_EXT_import_context,
 GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info,
GLX_EXT_visual_rating,
 GLX_MESA_copy_sub_buffer, GLX_MESA_query_renderer,
GLX_MESA_swap_control,
 GLX_OML_swap_method, GLX_OML_sync_control, GLX_SGIS_multisample,
 GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group,
 GLX_SGI_make_current_read, GLX_SGI_video_sync
Extended renderer info (GLX_MESA_query_renderer):
 Vendor: lima (0x13b5)
 Device: Mali400 (0xffffffff)
 Version: 20.0.8
 Accelerated: yes
 Video memory: 0MB
 Unified memory: yes
 Preferred profile: compat (0x2)
 Max core profile version: 0.0
 Max compat profile version: 2.1
 Max GLES1 profile version: 1.1
 Max GLES[23] profile version: 2.0
OpenGL vendor string: lima
OpenGL renderer string: Mali400
OpenGL version string: 2.1 Mesa 20.0.8
OpenGL shading language version string: 1.20
OpenGL extensions:
 GL_AMD_shader_trinary_minmax, GL_APPLE_packed_pixels,
 GL_ARB_ES2_compatibility, GL_ARB_clear_buffer_object,
 GL_ARB_compressed_texture_pixel_storage, GL_ARB_copy_buffer,
 GL_ARB_debug_output, GL_ARB_depth_texture, GL_ARB_draw_buffers,
 GL_ARB_draw_elements_base_vertex, GL_ARB_explicit_attrib_location,
 GL_ARB_explicit_uniform_location, GL_ARB_fragment_coord_conventions,
 GL_ARB_fragment_program, GL_ARB_fragment_program_shadow,
 GL_ARB_fragment_shader, GL_ARB_framebuffer_sRGB,
 GL_ARB_get_program_binary, GL_ARB_get_texture_sub_image,
 GL_ARB_half_float_pixel, GL_ARB_half_float_vertex,
 GL_ARB_internalformat_query, GL_ARB_internalformat_query2,
 GL_ARB_invalidate_subdata, GL_ARB_map_buffer_alignment,
 GL_ARB_map_buffer_range, GL_ARB_multi_bind, GL_ARB_multisample,
 GL_ARB_multitexture, GL_ARB_occlusion_query, GL_ARB_occlusion_query2,

 GL_ARB_parallel_shader_compile, GL_ARB_pixel_buffer_object,
 GL_ARB_point_parameters, GL_ARB_point_sprite,
 GL_ARB_program_interface_query, GL_ARB_provoking_vertex,
 GL_ARB_robustness, GL_ARB_sampler_objects,
GL_ARB_separate_shader_objects,
 GL_ARB_shader_objects, GL_ARB_shader_texture_lod,
 GL_ARB_shading_language_100, GL_ARB_shading_language_include,
 GL_ARB_shadow, GL_ARB_sync, GL_ARB_texture_border_clamp,
 GL_ARB_texture_compression, GL_ARB_texture_cube_map,
 GL_ARB_texture_env_add, GL_ARB_texture_env_combine,
 GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3,
 GL_ARB_texture_mirrored_repeat, GL_ARB_texture_non_power_of_two,
 GL_ARB_texture_rectangle, GL_ARB_texture_storage,
GL_ARB_transpose_matrix,
 GL_ARB_vertex_array_object, GL_ARB_vertex_attrib_binding,
 GL_ARB_vertex_buffer_object, GL_ARB_vertex_program,
GL_ARB_vertex_shader,
 GL_ARB_window_pos, GL_ATI_blend_equation_separate,
GL_ATI_draw_buffers,
 GL_ATI_fragment_shader, GL_ATI_separate_stencil,
 GL_ATI_texture_env_combine3, GL_EXT_EGL_image_storage,
GL_EXT_EGL_sync,
 GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color,
 GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate,
 GL_EXT_blend_minmax, GL_EXT_blend_subtract,
GL_EXT_compiled_vertex_array,
 GL_EXT_copy_texture, GL_EXT_direct_state_access,
 GL_EXT_draw_range_elements, GL_EXT_fog_coord,
GL_EXT_framebuffer_blit,
 GL_EXT_framebuffer_multisample,
GL_EXT_framebuffer_multisample_blit_scaled,
 GL_EXT_framebuffer_object, GL_EXT_framebuffer_sRGB,
 GL_EXT_gpu_program_parameters, GL_EXT_multi_draw_arrays,
 GL_EXT_packed_depth_stencil, GL_EXT_packed_pixels,
 GL_EXT_pixel_buffer_object, GL_EXT_point_parameters,
 GL_EXT_provoking_vertex, GL_EXT_rescale_normal,
GL_EXT_secondary_color,
 GL_EXT_separate_specular_color, GL_EXT_shadow_funcs,
 GL_EXT_stencil_two_side, GL_EXT_stencil_wrap, GL_EXT_subtexture,
 GL_EXT_texture, GL_EXT_texture3D, GL_EXT_texture_cube_map,
 GL_EXT_texture_edge_clamp, GL_EXT_texture_env_add,
 GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3,
 GL_EXT_texture_lod_bias, GL_EXT_texture_object,
GL_EXT_texture_rectangle,
 GL_EXT_texture_sRGB, GL_EXT_texture_sRGB_decode, GL_EXT_vertex_array,

 GL_IBM_multimode_draw_arrays, GL_IBM_rasterpos_clip,
 GL_IBM_texture_mirrored_repeat, GL_INGR_blend_func_separate,
 GL_KHR_context_flush_control, GL_KHR_debug, GL_KHR_no_error,
 GL_KHR_parallel_shader_compile, GL_KHR_texture_compression_astc_ldr,
 GL_KHR_texture_compression_astc_sliced_3d, GL_MESA_pack_invert,
 GL_MESA_window_pos, GL_NV_blend_square, GL_NV_fog_distance,
 GL_NV_light_max_exponent, GL_NV_packed_depth_stencil,
 GL_NV_texgen_reflection, GL_NV_texture_env_combine4,
 GL_NV_texture_rectangle, GL_OES_EGL_image, GL_OES_read_format,
 GL_SGIS_generate_mipmap, GL_SGIS_texture_border_clamp,
 GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod,
GL_SUN_multi_draw_arrays

OpenGL ES profile version string: OpenGL ES 2.0 Mesa 20.0.8
OpenGL ES profile shading language version string: OpenGL ES GLSL ES
1.0.16
OpenGL ES profile extensions:
 GL_APPLE_texture_max_level, GL_EXT_blend_minmax,
 GL_EXT_compressed_ETC1_RGB8_sub_texture, GL_EXT_discard_framebuffer,
 GL_EXT_draw_buffers, GL_EXT_draw_elements_base_vertex,
GL_EXT_frag_depth,
 GL_EXT_map_buffer_range, GL_EXT_multi_draw_arrays,
 GL_EXT_occlusion_query_boolean, GL_EXT_read_format_bgra,
 GL_EXT_separate_shader_objects, GL_EXT_texture_border_clamp,
 GL_EXT_texture_format_BGRA8888, GL_EXT_unpack_subimage,
 GL_KHR_context_flush_control, GL_KHR_debug, GL_KHR_no_error,
 GL_KHR_parallel_shader_compile, GL_KHR_texture_compression_astc_ldr,
 GL_KHR_texture_compression_astc_sliced_3d, GL_NV_draw_buffers,
 GL_NV_fbo_color_attachments, GL_NV_read_buffer, GL_NV_read_depth,
 GL_NV_read_depth_stencil, GL_NV_read_stencil, GL_OES_EGL_image,
 GL_OES_EGL_image_external, GL_OES_EGL_sync,
 GL_OES_compressed_ETC1_RGB8_texture, GL_OES_depth24,
GL_OES_depth_texture,
 GL_OES_draw_elements_base_vertex, GL_OES_element_index_uint,
 GL_OES_fbo_render_mipmap, GL_OES_get_program_binary,
GL_OES_mapbuffer,
 GL_OES_packed_depth_stencil, GL_OES_required_internalformat,
 GL_OES_rgb8_rgba8, GL_OES_stencil8, GL_OES_surfaceless_context,
 GL_OES_texture_3D, GL_OES_texture_border_clamp, GL_OES_texture_npot,
 GL_OES_vertex_array_object, GL_OES_vertex_half_float

126 GLX Visuals
 visual x bf lv rg d st colorbuffer sr ax dp st accumbuffer ms cav
 id dep cl sp sz l ci b ro r g b a F gb bf th cl r g b a ns b eat
----------------------------------------------------------------------------
0x021 24 tc 0 32 0 r y . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None
0x022 24 dc 0 32 0 r y . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None
0x29b 24 tc 0 32 0 r . . 8 8 8 8 . . 0 0 0 0 0 0 0 0 0 None
0x29c 24 tc 0 32 0 r . . 8 8 8 8 . . 0 0 0 16 16 16 16 0 0 Slow
0x29d 24 tc 0 32 0 r y . 8 8 8 8 . . 0 0 0 0 0 0 0 0 0 None
0x29e 24 tc 0 32 0 r y . 8 8 8 8 . . 0 0 0 16 16 16 16 0 0 Slow
...

150 GLXFBConfigs:
 visual x bf lv rg d st colorbuffer sr ax dp st accumbuffer ms cav
 id dep cl sp sz l ci b ro r g b a F gb bf th cl r g b a ns b eat
----------------------------------------------------------------------------
0x0d9 24 tc 0 32 0 r . . 8 8 8 8 . . 0 0 0 0 0 0 0 0 0 None
0x0da 24 tc 0 32 0 r . . 8 8 8 8 . . 0 0 0 16 16 16 16 0 0 Slow
0x0db 24 tc 0 32 0 r y . 8 8 8 8 . . 0 0 0 0 0 0 0 0 0 None
0x0dc 24 tc 0 32 0 r y . 8 8 8 8 . . 0 0 0 16 16 16 16 0 0 Slow
0x0dd 24 tc 0 32 0 r y . 8 8 8 8 . . 0 0 0 0 0 0 0 0 0 None
0x0de 24 tc 0 32 0 r y . 8 8 8 8 . . 0 0 0 16 16 16 16 0 0 Slow
...

lsmod output:

Module Size Used by
snd_soc_hdmi_codec 20480 1
dw_hdmi_cec 16384 0
dw_hdmi_i2s_audio 16384 0
axp20x_adc 20480 0
axp20x_battery 16384 0
axp20x_ac_power 16384 0
snd_soc_spdif_tx 16384 0
snd_soc_simple_card 24576 1
snd_soc_simple_card_utils 20480 1 snd_soc_simple_card
sun50i_codec_analog 28672 0
sun8i_adda_pr_regmap 16384 1 sun50i_codec_analog
sun8i_drm_hdmi 24576 0
zstd 16384 4
sun4i_gpadc_iio 24576 0
sun8i_codec 28672 0
dw_hdmi 40960 2 sun8i_drm_hdmi,dw_hdmi_i2s_audio
sun4i_i2s 24576 2
lima 45056 3
cec 69632 2 dw_hdmi_cec,dw_hdmi
gpu_sched 28672 1 lima
snd_soc_core 176128 7
sun4i_i2s,snd_soc_spdif_tx,snd_soc_hdmi_codec,sun50i_codec_analog,sun8i_codec,snd_soc_simple_card_utils,snd_soc_simple_card
ac97_bus 16384 1 snd_soc_core
snd_pcm_dmaengine 16384 1 snd_soc_core
snd_pcm 106496 5
sun4i_i2s,snd_soc_hdmi_codec,sun8i_codec,snd_soc_core,snd_pcm_dmaengine
snd_timer 40960 1 snd_pcm
snd 86016 6 snd_soc_hdmi_codec,snd_timer,snd_soc_core,snd_pcm
soundcore 16384 1 snd
r8723bs 589824 0
cfg80211 356352 1 r8723bs
rfkill 28672 4 cfg80211
sun4i_drm 20480 7
sun4i_frontend 16384 1 sun4i_drm
sun4i_tcon 32768 1 sun4i_drm
sun8i_mixer 40960 0
sun8i_tcon_top 16384 3 sun8i_drm_hdmi,sun4i_tcon,sun4i_drm
cpufreq_dt 20480 0
zram 32768 2
sch_fq_codel 20480 6
usb_f_acm 20480 1
u_serial 32768 1 usb_f_acm
g_serial 16384 0
libcomposite 61440 2 g_serial,usb_f_acm
ip_tables 32768 0
x_tables 36864 1 ip_tables
autofs4 49152 2
axp20x_usb_power 16384 0
pinctrl_axp209 16384 0
axp20x_regulator 45056 8
fixed 20480 2
dwmac_sun8i 28672 0
mdio_mux 16384 1 dwmac_sun8i

 --
You received this message because you are subscribed to the Google
Groups "linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected].
To view this discussion on the web, visit
https://groups.google.com/d/msgid/linux-sunxi/d6ab8890-f84d-45b1-b713-95e014f9619co%40googlegroups.com
[1].


Links:
------
[1] https://groups.google.com/d/msgid/linux-sunxi/d6ab8890-f84d-45b1-b713-95e014f9619co%40googlegroups.com?utm_medium=email&utm_source=footer

Hi,

If I'm not mistaken is the Mali400 an OpenGL ES 2.0 GPU without support for regular OpenGL. Glxgears, however, is an OpenGL tool. So regardless of if the Lima driver is working or not, you'll never see a performance boost in Glxgears. Same for most Desktop Enviroments which are (when packaged by the distro's) by default compiled with only OpenGL support. Regarding you mouse cursor; I'm not sure if Lima contains any sort of 2D acceleration. The sunxi-mali drivers for mainline didn't.

You can however try the 'es2gears' demo from mesa/demos (https://cgit.freedesktop.org/mesa/demos/) with and without the Lima driver to see if it's working. You'll have to compile this yourself however and make sure it's linked against the correct libraries.

But then to make it useful afterwards is still another story. I'm not sure if you want go down that road.

Regards,
Pascal

--
You received this message because you are subscribed to the Google Groups 
"linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web, visit 
https://groups.google.com/d/msgid/linux-sunxi/e0abd954c5a3dc49d070012206760e18%40pascalroeleven.nl.

Reply via email to