Make arch specific linux-firmware

Bug #1967858 reported by Dimitri John Ledkov
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
linux-firmware (Ubuntu)
Fix Released
Undecided
Juerg Haefliger
Mantic
Fix Released
Undecided
Juerg Haefliger

Bug Description

There are many kernel modules that only exist on some architectures.

Yet linux-firmware is an arch:all package that ships firmware for all drivers, for all architectures.

For example, it is pointless to ship many Intel firmware on non-x86 machines. At the same time it is pointless to ship many Qualcomm firmware on non-arm machines. Or shipping nvidia firmware on architectures that have no Nvidia drivers. Or shipping wifi firmware on IBM Z / PowerPC.

It seems like we should build-depend on linux / linux-oem kernels and only install relevant firmware files on relevant architectures only.

Tags: kern-2865
description: updated
Juerg Haefliger (juergh)
tags: added: kern-2865
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in linux-firmware (Ubuntu):
status: New → Confirmed
Juerg Haefliger (juergh)
Changed in linux-firmware (Ubuntu Mantic):
status: Confirmed → In Progress
assignee: nobody → Juerg Haefliger (juergh)
Revision history for this message
Mantas Kriaučiūnas (mantas) wrote (last edit ):

@juergh maybe it would be better simply reuse debian packaging practice for linux-firmware? Please also look at LP bug #1958518 - this issue is solved in Debian a long time ago:

metapackage https://packages.debian.org/sid/firmware-linux depends on small firmware-linux-free package and firmware-linux-nonfree metapackage

metapackage https://packages.debian.org/sid/firmware-linux-nonfree
depends on most useful "nonfree" firmware, including this pretty firmware-misc-nonfree package (takes only ~40 MB after installation, instead of ~900MB sized of Ubuntu's linux-firmware):
https://packages.debian.org/sid/firmware-misc-nonfree

For example netronome network adapters firmware is packaged separately in Debian, see https://packages.debian.org/sid/firmware-netronome

Someone from Ubuntu developers decided simply put all useful and almost not used firmware into huge package, which is updated very often and this causes a lot of problems for users, especially who uses SSD storage or slow internet connection :(

For example see bug #1972806 - simple change of some device firmware (few kilobytes size) requires to download ~250MB linux-firmware package for *every* Ubuntu user. This is a nonsense and waste of bandwidth and other resources.

Revision history for this message
Dimitri John Ledkov (xnox) wrote : Re: [Bug 1967858] Re: Make arch specific linux-firmware

On Thu, 4 May 2023, 22:35 Mantas Kriaučiūnas, <email address hidden>
wrote:

> @juergh maybe it would be better simply reuse debian packaging practice
> for linux-firmware? Please also look at LP bug #1958518 - this issue is
> solved in Debian a long time ago:
>
> metapackage https://packages.debian.org/sid/firmware-linux depends on
> small firmware-linux-free package and firmware-linux-nonfree metapackage
>

Ubuntu and Debian have different licensing and distribution requirements of
what goes into free/nonfree/any.

metapackage https://packages.debian.org/sid/firmware-linux-nonfree
> depends on most useful "nonfree" firmware, including this pretty
> firmware-misc-nonfree package (takes only ~40 MB after installation,
> instead of ~900MB sized of Ubuntu's linux-firmware):
> https://packages.debian.org/sid/firmware-misc-nonfree
>
> For example netronome network adapters firmware is packaged separately
> in Debian, see https://packages.debian.org/sid/firmware-netronome

For many reasons in Debian firmwares are split into multiple source
packages which in Ubuntu we do not want for operational reasons.

Also in Ubuntu, unlike in Debian, we have support for additional hardware
detection and package installation via ubuntu-drivers.

> Someone from Ubuntu developers decided simply put all useful and almost
> not used firmware into huge package, which is updated very often and
> this causes a lot of problems for users, especially who uses SSD storage
> or slow internet connection :(
>
> For example see bug #1972806 - simple change of some device firmware
> (few kilobytes size) requires to download ~250MB linux-firmware package
> for *every* Ubuntu user. This is a nonsense and waste of bandwidth and
> other resources.
>

There are many optimisations we can do on that front that are orthogonal to
this.

Adopting Debian packaging split is not enough for us, and thus if we are
doing work to split things we need it to be done the most optimal way that
will serve all our current needs and the future ones. Just adopting Debian
splits will improve things a little for us, but also regress many of our
usecases which will break our users. No silver bullet so far.

Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (8.9 KiB)

This bug was fixed in the package linux-firmware - 20230629.gitee91452d-0ubuntu1

---------------
linux-firmware (20230629.gitee91452d-0ubuntu1) mantic; urgency=medium

  * Miscellaneous Ubuntu changes
    - SAUCE: Remove RTL8192E from WHENCE.ubuntu
    - [Packaging] build-package: Add --clean commandline option
    - [Packaging] close-release: Always append version suffix
    - [Packaging] close-release: Fix tag name and commit subject
    - [Packaging] tag-release: Handle '~' in package versions
    - [Packaging] Rework the packaging process
    - [Packaging] config: Clean up exclude.obsolete
    - [Packaging] rules: Use explicit top-level rules
    - Rebase to upstream commit ee91452dac5abfc4c5b9827cf55e701d8c0ca678
      Rebase against git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
      - rtw88: 8822c: Update normal firmware to v9.9.15
      - amdgpu: Add GC 11.0.4 firmware
      - amdgpu: Update DCN 3.1.4 firmware
      - amdgpu: Update GC 11.0.1 firmware
      - amdgpu: Update PSP 13.0.4 firmware
      - amdgpu: Add PSP 13.0.11 firmware
      - amdgpu: Update SDMA 6.0.1 firmware
      - iwlwifi: update 9000-family firmwares to core78-32
      - iwlwifi: add new FWs from core78-32 release
      - linux-firmware: Amphion: Update vpu firmware
      - linux-firmware: update firmware for mediatek bluetooth chip (MT7922)
      - linux-firmware: update firmware for MT7922 WiFi device
      - nvidia: update Tu10x and Tu11x signed firmware to support newer Turing HW
      - ath10k: QCA4019 hw1.0: update board-2.bin
      - ath10k: QCA6174 hw3.0: update board-2.bin
      - ath10k: QCA9888 hw2.0: update board-2.bin
      - ath10k: QCA9984 hw1.0: update board-2.bin
      - ath10k: QCA99X0 hw2.0: update board-2.bin
      - ath11k: IPQ6018 hw1.0: update board-2.bin
      - ath11k: IPQ6018 hw1.0: update to WLAN.HK.2.7.0.1-01744-QCAHKSWPL_SILICONZ-1
      - ath11k: IPQ8074 hw2.0: update board-2.bin
      - ath11k: IPQ8074 hw2.0: update to WLAN.HK.2.7.0.1-01744-QCAHKSWPL_SILICONZ-1
      - ath11k: QCN9074 hw1.0: update to WLAN.HK.2.7.0.1-01744-QCAHKSWPL_SILICONZ-1
      - ath11k: WCN6750 hw1.0: update to WLAN.MSL.1.0.1-01160-QCAMSLSWPLZ-1
      - ath11k: WCN6855 hw2.0: update board-2.bin
      - rtw89: 8852c: update fw to v0.27.56.13
      - rtw89: 8852b: update format-1 fw to v0.29.29.1
      - linux-firmware: update firmware for MT7916
      - linux-firmware: Add firmware for Cirrus CS35L41 on Lenovo Laptops
      - linux-firmware: update qat firmware
      - linux-firmware: update firmware for mediatek bluetooth chip (MT7921)
      - linux-firmware: update firmware for MT7921 WiFi device
      - linux-firmware: add firmware for MT7981
      - linux-firmware: Update AMD cpu microcode
      - rtl_bt: Add firmware and config files for RTL8851B
      - mt76xx: Move the old Mediatek WiFi firmware to mediatek
      - qca: Update firmware files for BT chip WCN6750
      - linux-firmware: update firmware for MT7981
      - linux-firmware: Update firmware file for Intel Bluetooth AX210
      - linux-firmware: Update firmware file for Intel Bluetooth AX211
      - linux-firmware: Update firmware file for Intel Bluetooth AX211
      ...

Read more...

Changed in linux-firmware (Ubuntu Mantic):
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.