Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

在ubuntu 22.04的嵌入式服务器系统上报:could not initialize canvas #24

Closed
kevin406972552 opened this issue Apr 16, 2024 · 6 comments

Comments

@kevin406972552
Copy link

kevin406972552 commented Apr 16, 2024

在ubuntu22.04
下载源码后meson build 发现生成的.so只有8.2kb,ninja ---> ninja install 后,把安装目录的.so文件覆盖到系统/usr/lib/aarch64-linux-gnu/目录下
运行glmark2-es2-drm 报错:
root@localhost:/usr/lib/aarch64-linux-gnu# ls libmali* libMali* libEGL* libgbm* libGLES* -l -h
lrwxrwxrwx 1 root root 11 Apr 15 15:07 libEGL.so -> libEGL.so.1
-rwxr-xr-x 1 root root 8.2K Apr 15 15:07 libEGL.so.1
lrwxrwxrwx 1 root root 17 Apr 15 15:07 libGLESv1_CM.so -> libGLESv1_CM.so.1
-rwxr-xr-x 1 root root 8.2K Apr 15 15:07 libGLESv1_CM.so.1
lrwxrwxrwx 1 root root 14 Apr 15 15:07 libGLESv2.so -> libGLESv2.so.2
-rwxr-xr-x 1 root root 8.2K Apr 15 15:07 libGLESv2.so.2
lrwxrwxrwx 1 root root 18 Apr 15 15:07 libMaliOpenCL.so -> libMaliOpenCL.so.1
-rwxr-xr-x 1 root root 8.2K Apr 15 15:07 libMaliOpenCL.so.1
lrwxrwxrwx 1 root root 11 Apr 15 15:07 libgbm.so -> libgbm.so.1
-rwxr-xr-x 1 root root 8.2K Apr 15 15:07 libgbm.so.1
lrwxrwxrwx 1 root root 12 Apr 15 15:07 libmali-bifrost-g52-g13p0-gbm.so -> libmali.so.1
-rw-r--r-- 1 root root 3.6K Apr 15 14:59 libmali-hook-injector.a
lrwxrwxrwx 1 root root 17 Apr 15 15:07 libmali-hook.so -> libmali-hook.so.1
lrwxrwxrwx 1 root root 21 Apr 15 15:07 libmali-hook.so.1 -> libmali-hook.so.1.9.0
-rwxr-xr-x 1 root root 23K Apr 15 15:07 libmali-hook.so.1.9.0
lrwxrwxrwx 1 root root 12 Apr 15 15:07 libmali.so -> libmali.so.1
lrwxrwxrwx 1 root root 16 Apr 15 15:07 libmali.so.1 -> libmali.so.1.9.0
-rwxr-xr-x 1 root root 42M Apr 15 15:07 libmali.so.1.9.0
root@localhost:/usr/lib/aarch64-linux-gnu# glmark2-es2-drm
arm_release_ver: g13p0-01eac0, rk_so_ver: 10
Error: eglCreateWindowSurface failed with error: 0x3009
Error: eglCreateWindowSurface failed with error: 0x3009
Error: CanvasGeneric: Invalid EGL state
Error: main: Could not initialize canvas

同样的方法在ubuntu23.10系统下,能正常运行glmark2-es2-drm
root@localhost:~# glmark2-es2-drm
arm_release_ver: g13p0-01eac0, rk_so_ver: 10

glmark2 2023.01

=======================================================
OpenGL Information
GL_VENDOR: ARM
GL_RENDERER: Mali-G52
GL_VERSION: OpenGL ES 3.2 v1.g13p0-01eac0.fdf91928d758c45c1787782175b35c6a
Surface Config: buf=32 r=8 g=8 b=8 a=8 depth=24 stencil=0 samples=0
Surface Size: 800x480 fullscreen

[build] use-vbo=false: FPS: 60 FrameTime: 16.697 ms
[build] use-vbo=true: FPS: 60 FrameTime: 16.679 ms
[texture] texture-filter=nearest: FPS: 60 FrameTime: 16.671 ms
[texture] texture-filter=linear: FPS: 60 FrameTime: 16.693 ms
[texture] texture-filter=mipmap: FPS: 60 FrameTime: 16.672 ms
[shading] shading=gouraud: FPS: 60 FrameTime: 16.701 ms
[shading] shading=blinn-phong-inf: FPS: 60 FrameTime: 16.693 ms
[shading] shading=phong: FPS: 60 FrameTime: 16.687 ms
[shading] shading=cel: FPS: 60 FrameTime: 16.691 ms
[bump] bump-render=high-poly: FPS: 60 FrameTime: 16.717 ms
[bump] bump-render=normals: FPS: 60 FrameTime: 16.681 ms
[bump] bump-render=height: FPS: 60 FrameTime: 16.685 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 60 FrameTime: 16.678 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 60 FrameTime: 16.703 ms
[pulsar] light=false:quads=5:texture=false: FPS: 60 FrameTime: 16.692 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 60 FrameTime: 16.689 ms
[desktop] effect=shadow:windows=4: FPS: 60 FrameTime: 16.679 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 43 FrameTime: 23.739 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 42 FrameTime: 24.119 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 60 FrameTime: 16.690 ms
[ideas] speed=duration: FPS: 60 FrameTime: 16.689 ms
[jellyfish] : FPS: 60 FrameTime: 16.692 ms
[terrain] : FPS: 33 FrameTime: 30.709 ms
[shadow] : FPS: 60 FrameTime: 16.674 ms
[refract] : FPS: 58 FrameTime: 17.336 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 60 FrameTime: 16.681 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 60 FrameTime: 16.695 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 60 FrameTime: 16.691 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 60 FrameTime: 16.677 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 60 FrameTime: 16.700 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 60 FrameTime: 16.686 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 60 FrameTime: 16.689 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 60 FrameTime: 16.691 ms

                              glmark2 Score: 57

=======================================================

@JeffyCN
Copy link
Owner

JeffyCN commented Apr 16, 2024

rwxr-xr-x 1 root root 42M Apr 15 16:10 libmali.so.1.9.0

@JeffyCN
Copy link
Owner

JeffyCN commented Apr 16, 2024

pls try to test it with newest glmark2

@kevin406972552
Copy link
Author

两个系统环境下用的同样的glmark2-es2-drm版本,都是
apt update
apt install glmark2-es2-drm 安装的。
最大的问题是在ubuntu22.04下ninja install 生成的
-rwxr-xr-x 1 root root 8.2K Apr 15 15:07 libEGL.so.1
-rwxr-xr-x 1 root root 8.2K Apr 15 15:07 libGLESv1_CM.so.1
-rwxr-xr-x 1 root root 8.2K Apr 15 15:07 libGLESv2.so.2 等等都异常的小。

我也试过只把下面的覆盖过去,也不行
lrwxrwxrwx 1 root root 17 Apr 15 15:07 libmali-hook.so -> libmali-hook.so.1
lrwxrwxrwx 1 root root 21 Apr 15 15:07 libmali-hook.so.1 -> libmali-hook.so.1.9.0
-rwxr-xr-x 1 root root 23K Apr 15 15:07 libmali-hook.so.1.9.0
lrwxrwxrwx 1 root root 12 Apr 15 15:07 libmali.so -> libmali.so.1
lrwxrwxrwx 1 root root 16 Apr 15 15:07 libmali.so.1 -> libmali.so.1.9.0
-rwxr-xr-x 1 root root 42M Apr 15 15:07 libmali.so.1.9.0

@JeffyCN
Copy link
Owner

JeffyCN commented Apr 16, 2024

they are expected to be small.

pls use the same glmark2 to test. (there's a knowing issue about old glmark2, it should be fixed in newer version)

@kevin406972552
Copy link
Author

在ubuntu23.10的文件系统情况下,刚刚还做了Qt的交叉编译:
1:在没更换编译出来的库时,config正常通过,并支持opengl
2:在更换编译出来的库后却报egl,eglfs,opengl es2 依赖库的错误

@JeffyCN
Copy link
Owner

JeffyCN commented Apr 20, 2024

For Debian-based OSs, this libmali uses vendor packaging, which would conflict with the unified libmali library(vendor packaging requires multiple sonames).
So there would be some dummy(smallest) libraries to wrap the libmali.
This requires third-party packages to get compiling flags through pkg-config(which would provide -lmali in ldflags) instead of being hard-coded in their build scripts.

The suggested way to use this libmali on Debian-based OS would be:
1/ Remove it when compiling other packages.
2/ Install it only when you are about to use it.

@JeffyCN JeffyCN closed this as not planned Won't fix, can't repro, duplicate, stale Apr 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants