Changes between Version 21 and Version 22 of venice/npu


Ignore:
Timestamp:
11/21/2024 04:20:14 PM (7 hours ago)
Author:
Tim Harvey
Comment:

updated mesa notes for mainline IMX8MP NPU support

Legend:

Unmodified
Added
Removed
Modified
  • venice/npu

    v21 v22  
    231231
    232232
    233 == Upstream / Mainline NPU support
     233== Upstream / Mainline NPU support (via Mesa)
    234234The IMX8MP has a Verisilicon NPU which is from Vivante. Vivante supports this via their vivante driver (/dev/galcore) but that is not an opensource driver so it would make sense to want to support the NPU with it's opensource equivalent (etnaviv driver). Support for this has been added to the Linux 6.10 kernel.
    235235
    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].
     236The [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
     238Support 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
     240Until this version of Mesa is packaged for your OS distribution you will need to build the Mesa library manually.
     241
    239242
    240243On a Gateworks Venice board with an IMX8MP and an Ubuntu noble root filesystem: