Reverse-Engineered Rockchip NPU Driver Hitting Same Performance As Proprietary Driver

Written by Michael Larabel in Hardware on 28 March 2024 at 06:16 AM EDT. 3 Comments
Open-source developer Tomeu Vizoso recently began the effort of creating an open-source, reverse-engineered driver for the Rockchip NPU found in some of the latest Rockchip SoCs. After succeeding at open-source NPU driver support for the VeriSilicon NPU IP, Vizoso took up the challenge of working on Rockchip NPU support. With his open-source user-space driver he's already got his first model running. Not only is it running but it's doing so at similar performance to the proprietary driver.

To much surprise, just weeks after beginning his latest reverse-engineered driver adventure, his open-source code is already up and running the MobileNetV1 model on the Rockchip NPU. Most exciting is this statement:
"And it not only runs flawlessly, but at the same performance level as the blob."

He's been enjoying rapid success thanks to at least having some documented register information from Rockchip and their driver design being similar to NVIDIA's NVDLA and ONNX to which he can leverage documentation and code to help in the reverse engineering.

Rockchip SoC

This Rockchip open-source driver work also relies on the Teflon framework that was upstreamed into Mesa as part of the Vivante/Etnaviv NPU driver effort.

More details on the latest open-source Rockchip NPU driver success via this blog post.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via

Popular News This Week