Splitting up linux-firmware

Mario Limonciello superm1 at kernel.org
Mon Jun 2 19:49:36 UTC 2025


On 6/2/2025 11:04 AM, Juerg Haefliger wrote:
> Hi,
> 
> linux-firmware is ever growing and I'd like to entertain the thought of
> splitting it up. Not as fine grained as Debian but only split out the bigger
> GPU blobs (for now):
> 
> - linux-firmware (provides the bulk of the blobs)
> - linux-<vendor>-graphics (similar to Debian, provides vendor specific
>    graphics related firmwares)
> 
> This obviously can't break users so I'm trying to understand which pieces
> need to be updated for seamless release upgrades and new installations. I
> think this means that we need to detect what's in the system and install the
> relevant linux-<vendor>-graphics package(s). Is this ubuntu-release-upgrader?
> subiquity? ubuntu-drivers? All of them? Anything else?
> 
> Image generation and seeds would probably be affected by this as well.
> 
> Does anyone see any (other) issues with this?
> 
> Thanks
> ...Juerg
> 
> 

Rather than doing it only in Ubuntu, how would you feel about making 
such a change upstream first?

My thought is that WHENCE doesn't have enough detail.
* We don't know what host architectures firmware is for.
* We don't know what kernel version is a minimum requirement for a firmware.
* We don't know what kernel driver a given firmware goes with (to even 
decide if it should be packaged!)
* We don't know what subsystem a given firmware goes with.

I feel like if we switched WHENCE to a (more) machine readable format 
like YAML we can also encode new mandatory fields all of this information.

By doing it this way there will be less delta for Ubuntu to maintain, 
and we can even end up with firmware packages that are architecture 
specific.

You can turn linux-firmware into a metapackage that depends upon all of 
the subpackages.

IMO picking a new package name for "graphics" firmware is wrong though. 
There are plenty of firmwares in the drm subsystem that enable other 
kinds of accelerators and have their own firmware.

So I'm personally akin to making package names match subsystems.

IE:

linux-firmware-drm
linux-firmware-sound
linux-firmware-platform

Thanks,



More information about the ubuntu-devel mailing list