glmark2 / glmark2

glmark2 is an OpenGL 2.0 and ES 2.0 benchmark
GNU General Public License v3.0
420 stars 176 forks source link

glmark2-es2-drm execute failed with latest version #83

Open numbqq opened 5 years ago

numbqq commented 5 years ago

Failed to execute glmark2-es2-drm with latest commit eaa70888862f63da853f8ed9c94442b7a32d3335

Configuration & build:

./waf configure --with-flavors=drm-glesv2 --data-path=$(pwd)/data
./waf

Error message:

root@Khadas:~/glmark2# ./build/src/glmark2-es2-drm -d
Debug: Using Udev to detect the right DRM node to use
Debug: Looking for the main GPU DRM node...
Debug: Not found!
Debug: Looking for a concrete GPU DRM node...
Debug: Success!
Debug: Trying to use the DRM node /dev/dri/card0
Debug: Success!
Error: Loading EGL entry points failed
Debug: Using eglGetPlatformDisplayEXT()
Segmentation fault

But when I reset to commit 71b327487b42a2e1668c0cff0b0093f1358a2455

It works.

afrantzis commented 5 years ago

Thanks for the report! A few questions to help debug this:

  1. What kind of system (hw/distribution) are you running on?
  2. What does nm -D LIBEGL-SO-PATH | grep egl output (replace LIBEGL-SO-PATH with the right path)?
  3. Does using the code from branch https://github.com/glmark2/glmark2/tree/try-to-fix-issue-83 help?
numbqq commented 5 years ago

Hello @afrantzis,

What kind of system (hw/distribution) are you running on?

CPU: Rockchip RK3399 GPU: Mali T860 Userspace library: GBM OS: Ubuntu 18.04.2 LTS

What does nm -D LIBEGL-SO-PATH | grep egl output (replace LIBEGL-SO-PATH with the right

root@Khadas:~/glmark2# nm -D /usr/lib/aarch64-linux-gnu/libEGL.so | grep egl
00000000006f07cc T eglBindAPI
00000000006e96b4 T eglBindTexImage
00000000006f1c14 T egl_check_display_valid_and_retain
00000000006f1e3c T egl_check_surface_current
00000000006f1c1c T egl_check_surface_valid_and_retain
00000000006e4914 T eglChooseConfig
00000000006eee74 T eglClientWaitSyncKHR
00000000006f3ca4 T egl_color_buffer_flush_mapping_to_cpu
00000000006f3d04 T egl_color_buffer_flush_mapping_to_gpu
00000000006f4f9c T egl_color_buffer_format_get_afbc_size
00000000006f3234 T egl_color_buffer_format_get_planes
00000000006f4f8c T egl_color_buffer_format_is_afbc_split_mode
00000000006f4f94 T egl_color_buffer_format_is_afbc_wideblk_mode
00000000006f4f7c T egl_color_buffer_format_needs_y_inversion
00000000006f50c0 T egl_color_buffer_get_age
00000000006f625c T egl_color_buffer_get_crop_rectangle
00000000006f4490 T egl_color_buffer_get_early_display
00000000006f4530 T egl_color_buffer_get_fence
00000000006f34f0 T egl_color_buffer_get_format
00000000006f34e8 T egl_color_buffer_get_height
00000000006f3c7c T egl_color_buffer_get_line_stride
00000000006f3c90 T egl_color_buffer_get_mapped_address
00000000006f458c T egl_color_buffer_get_non_thread_safe
00000000006f3c74 T egl_color_buffer_get_num_planes
00000000006f33f8 T egl_color_buffer_get_plane_dims
00000000006f44f0 T egl_color_buffer_get_rotation
00000000006f44c0 T egl_color_buffer_get_transaction_elimination_disabled
00000000006f34e0 T egl_color_buffer_get_width
00000000006f4520 T egl_color_buffer_get_y_inversion
00000000006f34f8 T egl_color_buffer_get_yuva_comp_sizes
00000000006f50c8 T egl_color_buffer_increment_age
00000000006f4528 T egl_color_buffer_is_secure
00000000006f415c T egl_color_buffer_lock
00000000006f3af0 T egl_color_buffer_map
00000000006f5670 T egl_color_buffer_new
00000000006f3d64 T egl_color_buffer_release
00000000006f3dbc T egl_color_buffer_retain
00000000006f3460 T egl_color_buffer_rgb_format_get_bpp
00000000006f50b8 T egl_color_buffer_set_age
00000000006f51e0 T egl_color_buffer_set_crop_rectangle
00000000006f44b4 T egl_color_buffer_set_early_display
00000000006f4554 T egl_color_buffer_set_fence
00000000006f45b0 T egl_color_buffer_set_non_thread_safe
00000000006f4514 T egl_color_buffer_set_rotation
00000000006f44e4 T egl_color_buffer_set_transaction_elimination_disabled
00000000006f4224 T egl_color_buffer_unlock
00000000006f3c0c T egl_color_buffer_unmap
00000000006f45bc T egl_color_buffer_user_property_enabled
00000000006f4454 T egl_color_buffer_user_property_get
00000000006f442c T egl_color_buffer_user_property_set
00000000006f4638 T egl_color_buffer_validate_format
00000000006f4f24 T egl_color_buffer_validate_render_target
00000000006f61e8 T egl_color_buffer_wrap_external
00000000006f59f4 T egl_color_buffer_wrap_external_planar
00000000006ed578 T eglCopyBuffers
00000000006e586c T eglCreateContext
00000000006e77c8 T eglCreateImageKHR
00000000006e96ac T eglCreatePbufferFromClientBuffer
00000000006e969c T eglCreatePbufferSurface
00000000006ed4d4 T eglCreatePixmapSurface
00000000006ee638 T eglCreateSync64KHR
00000000006ee94c T eglCreateSyncKHR
00000000006eb8b4 T eglCreateWindowSurface
00000000006e5ee0 T eglDestroyContext
00000000006e7e18 T eglDestroyImageKHR
00000000006ea818 T eglDestroySurface
00000000006eed54 T eglDestroySyncKHR
00000000006f1c18 T egl_display_release
00000000006ef6d8 T egl_env_set
00000000006f1f2c T egl_export_platform_fence
00000000006e4710 T eglGetConfigAttrib
00000000006e481c T eglGetConfigs
00000000006f1828 T eglGetCurrentContext
00000000006f1ae4 T eglGetCurrentDisplay
00000000006f1950 T eglGetCurrentSurface
00000000006e6b48 T eglGetDisplay
00000000006f0694 T eglGetError
00000000006e6cc8 T eglGetPlatformDisplayEXT
00000000006e81d8 T eglGetProcAddress
00000000006ef204 T eglGetSyncAttribKHR
00000000006f1c24 T egl_get_winsys_display
00000000006f1c38 T egl_get_winsys_surface
00000000006e6d30 T eglInitialize
00000000006f1c58 T egl_magic_surface_set_displayed_callback
00000000006f1c2c T egl_magic_surface_set_winsys_surface
00000000006f0dcc T eglMakeCurrent
00000000006eff20 T eglp_call_color_buffer_wait_unlock
00000000006eff24 T eglp_call_config_get_color_buffer_format
00000000006e8690 T eglp_check_attribute_present
00000000006effc8 T eglp_color_buffer_format_to_string
00000000006f3fd0 T eglp_color_buffer_wait_unlock
00000000006e4588 T eglp_config_set_attributes
00000000006efd44 T eglp_display_create_default_configs
00000000006ef728 T eglp_find_unterminated_state
00000000006e8614 T eglp_get_attribute_value
00000000006f0014 T eglp_get_color_buffer_format_supported
00000000006eff28 T eglp_get_color_buffer_format_table
00000000006ef6dc T eglp_has_display_terminated
00000000006ef798 T eglp_read_write_buffer
00000000006f0108 T eglp_string_to_color_buffer_format
00000000006ec044 T eglp_swap_buffers
00000000006efe5c T eglp_wait_buffer_displayed
00000000006f0928 T eglQueryAPI
00000000006e6120 T eglQueryContext
00000000006e80d8 T eglQueryString
00000000006eaab8 T eglQuerySurface
00000000006f21c4 T egl_register_gles_blob_cache_callbacks
00000000006e98d0 T eglReleaseTexImage
00000000006f0a60 T eglReleaseThread
00000000006f1d0c T egl_set_changed_region
00000000006ec9e8 T eglSetDamageRegionKHR
00000000006f1f08 T egl_set_error
00000000006eaf30 T eglSurfaceAttrib
00000000006f1c20 T egl_surface_release
00000000006ec9d4 T eglSwapBuffers
00000000006f0ba8 T eglSwapInterval
00000000006e7508 T eglTerminate
00000000006edf30 T eglWaitClient
00000000006edf64 T eglWaitGL
00000000006edf98 T eglWaitNative
00000000006ef098 T eglWaitSyncKHR
00000000006f1c64 T egl_window_buffer_displayed
00000000005fc818 T egl_winsys_get_implementation
00000000005fc80c T egl_winsys_get_implementation_gbm
00000000006f2000 T mali_egl_image_get_buffer_ext_phandle
00000000006f1f30 T mali_egl_image_get_buffer_ext_type
00000000006f20f4 T mali_egl_image_get_buffer_size
00000000006f2278 T mali_egl_image_get_format

Does using the code from branch https://github.com/glmark2/glmark2/tree/try-to-fix-issue-83 help?

Still the same error as before.

root@Khadas:~/glmark2# ./build/src/glmark2-es2-drm  -d
Debug: Using Udev to detect the right DRM node to use
Debug: Looking for the main GPU DRM node...
Debug: Not found!
Debug: Looking for a concrete GPU DRM node...
Debug: Success!
Debug: Trying to use the DRM node /dev/dri/card0
Debug: Success!
Error: Loading EGL entry points failed
Debug: Using eglGetPlatformDisplayEXT()
Segmentation fault
5schatten commented 5 years ago

@afrantzis

I tried to run glmark on my RockPro64 too & it fails with the same output:

rockpro64:/usr/bin # LD_PRELOAD=/usr/lib/libEGL.so.1 LD_PRELOAD=/usr/lib/libGLESv2.so glmark2-es2-drm -d
Debug: Using Udev to detect the right DRM node to use
Debug: Looking for the main GPU DRM node...
Debug: Not found!
Debug: Looking for a concrete GPU DRM node...
Debug: Success!
Debug: Trying to use the DRM node /dev/dri/card0
Debug: Success!
Error: Loading EGL entry points failed
Debug: Using eglGetPlatformDisplayEXT()
Segmentation fault

My glmark2 package https://github.com/5schatten/LibreELEC-RR/commit/8e091831520df8a9f94877e678c5d26b10caa30b

Miouyouyou commented 5 years ago

What does ldd /path/to/glmark2-es2-drm output ?

Miouyouyou commented 5 years ago

Also, does it work from this commit c4b3ff5a481348e8bdc2b71ee275864db91e40b1 ?