236 | | The userspace library used for GPU is mesa so it makes sense to support the NPU there as well and for hardware accelleration this is done in mesa with 'delegate' libraries. While Support for the !VeriSilicon NPU made it into Mesa 24.1.0 via teflon it does not yest support the imx8mp which has a sightly newer version of the !VeriSilicon NPU. |
237 | | |
238 | | Therefore to support the NPU you need to build a custom fork of mesa that is being worked on by [https://blog.tomeuvizoso.net/ Tomeu Vizoso] with the work being sponsored by [https://ideasonboard.com/ Ideas On board]. |
| 236 | The [https://docs.mesa3d.org/systems.html Mesa] project began as an open-source userspace library implementation of the OpenGL specification - a system for rendering interactive 3D graphics. Over the years the project has grown to implement more graphics APIs, including OpenGL ES, OpenCL, VDPAU, VA-API, Vulkan and EGL. Mesa now supports NPUs as well as they are closely tied to GPUs. |
| 237 | |
| 238 | Support has been merged into Mesa for the IMX8MP NPU via the teflon delegate thanks to [https://blog.tomeuvizoso.net/ Tomeu Vizoso] and [https://ideasonboard.com/ Ideas On board] who sponsored the work. The specific code merges are [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31842 1] and [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32105 2]) which are expected to land in the [https://docs.mesa3d.org/relnotes.html 25.0 release]. |
| 239 | |
| 240 | Until this version of Mesa is packaged for your OS distribution you will need to build the Mesa library manually. |
| 241 | |