* Richard W. M. Jones:
You only need network / wifi firmware blobs (although I'm sure they are in themselves large) and then you can fetch anything else needed for the hardware including graphics, right?
I think you need graphics to set up wifi.
Thanks, Florian
On Fri, 2022-12-09 at 12:04 +0100, Florian Weimer wrote:
- Richard W. M. Jones:
You only need network / wifi firmware blobs (although I'm sure they are in themselves large) and then you can fetch anything else needed for the hardware including graphics, right?
I think you need graphics to set up wifi.
Yeah, this is an awkward chicken-and-egg problem. Even if we assume you're on a wired network, kernel modules generally - AIUI - try to load the firmware once, on initial module load, and if they can't find it, just give up, right? So we still have an ordering problem: how can we delay the loading of modules that need firmware until the network is up for us to be able to access the firmware files?
Maybe I'm missing something that would help there, but it seems tricky...
Looking at sizes, iwlwifi firmware alone is 75M(!) ath10k is 6.8M, ath11k is 12M, ath6k is 812K, so that's nearly another 20M. brcm/ is another 6.4M and I *think* that's all wifi. There's a few other minor ones, but that's a little over 100M of just wifi, with Intel by a huge margin the worst offender.
Does anyone know anyone we can talk to at Intel about this? It's pretty obnoxious.
In terms of what the other big space takers are in general:
* amdgpu/ (AMD video cards) is ~20M * intel/ (mainly Intel bluetooth) is ~15M [0] * qed/ (some very high-end QLogic network cards) is ~10M [0] * i915/ (Intel video firmware) is 8.4M * mediatek/ is 7.7M [1] * qcom/ is 7.3M
Then it trails off from there. Just the wifi plus those 6 things are around 170M, so the large majority of all the space taken.
[0] No, we can't lose this - people install with Bluetooth mice/keyboards [1] For a quick win right now possibly we could assume nobody's going to use one of those as the interface for a Fedora install and drop that, not sure if it's a safe assumption [2] We could possibly lose a bunch of this stuff, I'll look into it
On Friday, December 9, 2022, Adam Williamson adamwill@fedoraproject.org wrote:
On Fri, 2022-12-09 at 12:04 +0100, Florian Weimer wrote:
- Richard W. M. Jones:
You only need network / wifi firmware blobs (although I'm sure they are in themselves large) and then you can fetch anything else needed for the hardware including graphics, right?
I think you need graphics to set up wifi.
Yeah, this is an awkward chicken-and-egg problem. Even if we assume you're on a wired network, kernel modules generally - AIUI - try to load the firmware once, on initial module load, and if they can't find it, just give up, right? So we still have an ordering problem: how can we delay the loading of modules that need firmware until the network is up for us to be able to access the firmware files?
Maybe I'm missing something that would help there, but it seems tricky...
Looking at sizes, iwlwifi firmware alone is 75M(!) ath10k is 6.8M, ath11k is 12M, ath6k is 812K, so that's nearly another 20M. brcm/ is another 6.4M and I *think* that's all wifi. There's a few other minor ones, but that's a little over 100M of just wifi, with Intel by a huge margin the worst offender.
Does anyone know anyone we can talk to at Intel about this? It's pretty obnoxious.
In terms of what the other big space takers are in general:
- amdgpu/ (AMD video cards) is ~20M
- intel/ (mainly Intel bluetooth) is ~15M [0]
- qed/ (some very high-end QLogic network cards) is ~10M [0]
- i915/ (Intel video firmware) is 8.4M
- mediatek/ is 7.7M [1]
- qcom/ is 7.3M
Then it trails off from there. Just the wifi plus those 6 things are around 170M, so the large majority of all the space taken.
[0] No, we can't lose this - people install with Bluetooth mice/keyboards [1] For a quick win right now possibly we could assume nobody's going to use one of those as the interface for a Fedora install and drop that, not sure if it's a safe assumption
It's not given that AMD wifi is rebranded mediatek, meaning it will drop wifi for lots of newer AMD laptops.
On Fri, 2022-12-09 at 20:33 +0100, drago01 wrote:
On Friday, December 9, 2022, Adam Williamson adamwill@fedoraproject.org wrote:
On Fri, 2022-12-09 at 12:04 +0100, Florian Weimer wrote:
- Richard W. M. Jones:
You only need network / wifi firmware blobs (although I'm sure they are in themselves large) and then you can fetch anything else needed for the hardware including graphics, right?
I think you need graphics to set up wifi.
Yeah, this is an awkward chicken-and-egg problem. Even if we assume you're on a wired network, kernel modules generally - AIUI - try to load the firmware once, on initial module load, and if they can't find it, just give up, right? So we still have an ordering problem: how can we delay the loading of modules that need firmware until the network is up for us to be able to access the firmware files?
Maybe I'm missing something that would help there, but it seems tricky...
Looking at sizes, iwlwifi firmware alone is 75M(!) ath10k is 6.8M, ath11k is 12M, ath6k is 812K, so that's nearly another 20M. brcm/ is another 6.4M and I *think* that's all wifi. There's a few other minor ones, but that's a little over 100M of just wifi, with Intel by a huge margin the worst offender.
Does anyone know anyone we can talk to at Intel about this? It's pretty obnoxious.
In terms of what the other big space takers are in general:
- amdgpu/ (AMD video cards) is ~20M
- intel/ (mainly Intel bluetooth) is ~15M [0]
- qed/ (some very high-end QLogic network cards) is ~10M [0]
- i915/ (Intel video firmware) is 8.4M
- mediatek/ is 7.7M [1]
- qcom/ is 7.3M
Then it trails off from there. Just the wifi plus those 6 things are around 170M, so the large majority of all the space taken.
[0] No, we can't lose this - people install with Bluetooth mice/keyboards [1] For a quick win right now possibly we could assume nobody's going to use one of those as the interface for a Fedora install and drop that, not sure if it's a safe assumption
It's not given that AMD wifi is rebranded mediatek, meaning it will drop wifi for lots of newer AMD laptops.
Sorry, I messed up my numbering there. That note was meant for the qed/ directory, not mediatek/ .
I've been working on this this morning. I'm pretty sure we can just drop every file but one in qed/ - it contains a lot of old versions that we don't need to care about any more. We can lose some stuff from mediatek/ - not any of the wifi stuff, but there's some firmware in there for ARM SoCs we do not even build the drivers for. I found a few other little cleanups, too.
I *think* we can fairly safely drop about 31M of iwlwifi firmwares from linux-firmware, I'm testing a PR for that right now. We could potentially drop even more in lorax (since we don't really need to support booting the current installer with an older kernel - that's a constraint on dropping things from the linux-firmware package too soon, as it would be a bit mean to break things for people booting older kernels on installed systems for some reason).
On Fri, 2022-12-09 at 09:48 -0800, Adam Williamson wrote:
On Fri, 2022-12-09 at 12:04 +0100, Florian Weimer wrote:
- Richard W. M. Jones:
You only need network / wifi firmware blobs (although I'm sure they are in themselves large) and then you can fetch anything else needed for the hardware including graphics, right?
I think you need graphics to set up wifi.
Yeah, this is an awkward chicken-and-egg problem. Even if we assume you're on a wired network, kernel modules generally - AIUI - try to load the firmware once, on initial module load, and if they can't find it, just give up, right? So we still have an ordering problem: how can we delay the loading of modules that need firmware until the network is up for us to be able to access the firmware files?
Maybe I'm missing something that would help there, but it seems tricky...
Looking at sizes, iwlwifi firmware alone is 75M(!) ath10k is 6.8M, ath11k is 12M, ath6k is 812K, so that's nearly another 20M. brcm/ is another 6.4M and I *think* that's all wifi. There's a few other minor ones, but that's a little over 100M of just wifi, with Intel by a huge margin the worst offender.
Does anyone know anyone we can talk to at Intel about this? It's pretty obnoxious.
In terms of what the other big space takers are in general:
- amdgpu/ (AMD video cards) is ~20M
- intel/ (mainly Intel bluetooth) is ~15M [0]
- qed/ (some very high-end QLogic network cards) is ~10M [0]
- i915/ (Intel video firmware) is 8.4M
- mediatek/ is 7.7M [1]
- qcom/ is 7.3M
Then it trails off from there. Just the wifi plus those 6 things are around 170M, so the large majority of all the space taken.
[0] No, we can't lose this - people install with Bluetooth mice/keyboards [1] For a quick win right now possibly we could assume nobody's going to use one of those as the interface for a Fedora install and drop that, not sure if it's a safe assumption [2] We could possibly lose a bunch of this stuff, I'll look into it
So since this turns out to be less important than I thought (thanks bcl for the correction) I won't poke it much further than I have today, but following up on the above, I've done a couple of PRs, one to strip more stuff in lorax: https://github.com/weldr/lorax/pull/1291 and one to dump a chunk of older iwlwifi firmwares: https://src.fedoraproject.org/rpms/linux-firmware/pull-request/9 those combined would get us some breathing room for a while...
desktop@lists.fedoraproject.org