Join GitHub today
can't build mmal for aarch64 #460
I'm trying to build userland in custom debian arm64v8. But on the make stage I getting this errors:
I think you have come across one of the reasons why we don't have full support for 64bit userland. The GPU, the VC4 is 32 bit, and here we are passing pointers around from the VC4 to the Arm, and of course they are different sizes in a 64bit build. Someone need to write a translation layer that can handle the different addressing. We have never done that.
At least, that is how I understand it.
You can't - that's one of the reasons we don't support 64bit kernels/userspace.
Technically MMAL doesn't require VCSM, but has several optimisations that do require it (zero copy buffers mainly).
However part of MMAL is storing a userspace pointer within a 32bit field that is passed to the GPU. https://github.com/raspberrypi/userland/blob/master/interface/mmal/mmal_buffer.h#L73
It is a a fixable problem, but isn't our priority.
There may be a solution for FFMpeg and MPV coming in the form of a V4L2 M2M codec driver, but it's not complete quite yet.