Why do we need a vendor blob in order to make our custom Android ROM from the AOSP project?

As far as I know, the vendor blob contains the required proprietary drivers. But these drivers we could have used as modules in the kernel itself, then why do we use vendor blob as a separate partition?

  • 3
    Large parts of your question are already answered here: Which part of Android directories contains so-called proprietary blobs?
    – Robert
    Commented May 8, 2022 at 15:11
  • 2
    Proprietorship is the core of businesses revolving around Android. Everything built in Linux kernel has to be open-source. But the OEMs and vendors want their hardware drivers/firmware to be closed-source. So the HALs (userspace binary blobs) model fits best with the AOSP's Apache license. Commented May 8, 2022 at 16:56

1 Answer 1


Vendor blobs are required because the vendors aren't willing to release the source code of their Android drivers as open source. This may seem silly, given that the drivers are no use on any other hardware, but they doubtless have their reasons.

The most obvious one is that vendors who spend a lot on developing high-performance hardware will fear it being cloned by other vendors, who have not spent much on development and can thus sell their copied chips for less. For example, source code for drivers can be extremely helpful in figuring out how a GPU works.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .