Closed amazingfate closed 3 months ago
don't know much about that, but usually it should mmap the dmabuf's fd(exported from expbuf), not the device fd(which should use hacked v4l2_mmap).
I find the root cause, which is a mesa issue. Similar fix to i965 is merged: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10850. I will try do push a fix to mesa.
Continue with discussion from https://github.com/JeffyCN/libv4l-rkmpp/issues/18.
Current patches for chromium only work with mali blob driver. And mesa patch to make gbm support NV12 rendering seems to have a long way to get merged.
So there is another way: use LibYUVImageProcessorBackend in chromium, which has been tested with mainline stateful/stateless v4l2 api.
When I try to use it with rkmpp in chromium v122, I get following logs:
Root cause should be
ERROR:client_native_pixmap_dmabuf.cc(45)] Failed to mmap dmabuf: Permission denied (13)
. And I notice libv4l-rkmpp is usingv4l2_mmap
instead ofmmap
. So is it possible to letclient_native_pixmap_dmabuf.cc
usev4l2_mmap
when v4l_plugin is enabled?