mripard / sunxi-mali

GNU General Public License v2.0
100 stars 54 forks source link

Mali API mismatch #59

Closed avafinger closed 5 years ago

avafinger commented 5 years ago

I've built sunxi-mali r6p2 to get GBM/DRM with kernel 4.20.0 and used the r6p2 lib64 blobs on A64 board but i get:

using card: '/dev/dri/card0': Success
ERROR in Mali driver:
 * Device driver API mismatch
 * Device driver API version: 900
 * User space API version: 800
failed to initialize
cannot create EGL context.
Segmentation fault

Which blobs should i use? Is any way i can know which API the blob requires?

avafinger commented 5 years ago

Ok, i got it right this time from: https://github.com/bootlin/mali-blobs/tree/master/r6p2/arm64/wayland

kmscube (with wayland help) works but gbm_es2_demo failed with:

using card: '/dev/dri/card0': Success
Using display 0x1 with EGL version 1.4
EGL Version "1.4 Linux-r6p2-01rel0"
EGL Vendor "ARM"
failed to make the OpenGL ES Context current: EGL_BAD_MATCH
cannot create EGL context.
Segmentation fault

Any idea how to handle this?

avafinger commented 5 years ago

Closing the API mismatch issue. the EGL_BAD_MATCH issue still unresolved since i cannot compile gbmPes2_demo from source.

I get /usr/include/gbm.h:46:8: note: class type ‘gbm_device’ is incomplete

If anyone reading this can share some thoughts about how to solve it I would appreciate.

avafinger commented 5 years ago

I was able to build it instead of just running the pre-built binary but i can't figure why i cannot run a pure GBM/DRM with this blob.

mripard commented 5 years ago

I have never ran the wayland versions of the blobs myself, so I can't help you, sorry. Maybe someone else will chime in :/