You are not logged in.
Pages: 1
With today's update, the split of firmware packages has occurred (https://archlinux.org/news/linux-firmwa … ervention/). I have some questions as an inexperienced user, sorry if they are stupid:
1- pacman lists these packages for me:
core/linux-firmware
core/linux-firmware-amdgpu
core/linux-firmware-atheros
core/linux-firmware-broadcom
core/linux-firmware-intel
core/linux-firmware-mediatek
core/linux-firmware-nvidia
core/linux-firmware-other
core/linux-firmware-radeon
core/linux-firmware-realtek
core/linux-firmware-whence
But of these “atheros”; “broadcom”; “mediatek”; ‘nvidia’ and “radeon” are not present in my system. I can't uninstall them because they are dependencies of the “linux-firmware” package. Is there any way to remove them without reinstalling them at next update?
2- What does the “linux-firmware-other” package contain? How do I know if it serves my system or not?
I'll add my “lspci,” if that helps:
$ lspci
00:00.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Root Complex
00:00.2 IOMMU: Advanced Micro Devices, Inc. [AMD] Starship/Matisse IOMMU
00:01.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
00:01.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse GPP Bridge
00:01.2 PCI bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse GPP Bridge
00:02.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
00:03.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
00:03.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse GPP Bridge
00:04.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
00:05.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
00:07.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
00:07.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B]
00:08.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
00:08.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B]
00:14.0 SMBus: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller (rev 61)
00:14.3 ISA bridge: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge (rev 51)
00:18.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 0
00:18.1 Host bridge: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 1
00:18.2 Host bridge: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 2
00:18.3 Host bridge: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 3
00:18.4 Host bridge: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 4
00:18.5 Host bridge: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 5
00:18.6 Host bridge: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 6
00:18.7 Host bridge: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 7
01:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981/PM983
02:00.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] Matisse Switch Upstream
03:01.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] Matisse PCIe GPP Bridge
03:04.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] Matisse PCIe GPP Bridge
03:05.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] Matisse PCIe GPP Bridge
03:08.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] Matisse PCIe GPP Bridge
03:09.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] Matisse PCIe GPP Bridge
03:0a.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] Matisse PCIe GPP Bridge
04:00.0 Non-Volatile memory controller: Micron/Crucial Technology P1 NVMe PCIe SSD[Frampton] (rev 03)
05:00.0 Network controller: Intel Corporation Wi-Fi 5(802.11ac) Wireless-AC 9x6x [Thunder Peak] (rev 29)
06:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet Controller (rev 26)
07:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Reserved SPP
07:00.1 USB controller: Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller
07:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller
08:00.0 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] (rev 51)
09:00.0 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] (rev 51)
0a:00.0 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 XL Upstream Port of PCI Express Switch (rev c1)
0b:00.0 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 XL Downstream Port of PCI Express Switch
0c:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 [Radeon RX 5600 OEM/5600 XT / 5700/5700 XT] (rev c1)
0c:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 HDMI Audio
0d:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Function
0e:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Reserved SPP
0e:00.1 Encryption controller: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Cryptographic Coprocessor PSPCPP
0e:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller
0e:00.4 Audio device: Advanced Micro Devices, Inc. [AMD] Starship/Matisse HD Audio Controller
Last edited by apaz (2025-06-23 07:40:03)
Offline
Interested in this too.
For eg, I have an intel cpu with integrated gpu. So I'm sure I don't need any amd or nvidia firmware. How do I remove them? Also how do I check which ones do I really need?
Thank you!
Edit: In the future, for example I insert a wireless adapter, how do I know which firmware I need? lspci?
Edit2: How do I know if the driver is already included in the kernel, so I don't need to install the firmware?
Last edited by LookBackImThere (2025-06-22 08:04:56)
Offline
Packages can be marked as explicitly installed with
pacman -D --asexplicit <package>
Do that for the firmware packages you need and then remove the linux-firmware package recursively with
pacman -Rns linux-firmware
as this is just a meta package now depending on the default set of firmware packages for convenience.
Note that linux-firmware-whence is a special package containing licensing information and should be kept.
Last edited by QuantumToaster (2025-06-22 09:23:33)
Offline
For eg, I have an intel cpu with integrated gpu. So I'm sure I don't need any amd or nvidia firmware. How do I remove them? Also how do I check which ones do I really need?
- Verify you have the autodetect hook in your mkinitcpio hooks= line
- remove linux-firmware
- run
# mkinitcpio -p <name of preset for an installed kernel> #use linux for standard kernel
ONLY look at the lines related to the default image, ignore the ones related to the fallback image.
In case the default image lines include "Possibly missing firmware for module abcde" :
add the packages that contains those firmwares.
That is enough to boot your system.
Boot, and check dmesg for firmware related messages .
Mkinitcpio showed me I need amdgpu firmware for initramfs, after booting I noticed for wifi & blutooth I need linux-firmware-intel.
Last edited by Lone_Wolf (2025-06-23 10:19:34)
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
Thank you so much!
It worked. I had to install linux-firmware-intel and linux-firmware-other (it still showed warning for consolefont, but looking through online, I think I can ignore it.)
Question: I have external wifi adapter which is from realtek. So do I need to install linux-firmware-realtek to use it? (as I understand, it might still run, but its better to use this package as there are updates and might run better?)
Last edited by LookBackImThere (2025-06-22 17:14:05)
Offline
Thank you both for your responses. I didn't even realize that “linux-firmware” was a meta-package....
It would be nice to create an entry on the wiki dedicated to firmware; I haven't found it.
Offline
Thank you both for your responses. I didn't even realize that “linux-firmware” was a meta-package....
It would be nice to create an entry on the wiki dedicated to firmware; I haven't found it.
@apaz, it is on the home page of archlinux.org.
Offline
# mkinitcpio -p kernelpreset #use linux for standard kernel
Hi just a tad confused by the above, did you mean,
Should that be with a space
# mkinitcpio -p kernel preset
or do you mean
# mkinitcpio -p linux
Thanks in advance for the help. ;-)
Offline
There are people that have other kernels installed like linux-lts or linux-hardened and omit the standard kernel.
Using kernelpreset was my way to try to convey that there are more options.
I've edited the command to make that more clear.
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
Hi just a tad confused by the above, did you mean,
type: mkinitcpio -p (and press tab to autocomplete. For example, I am using linux-hardened, you might have just linux).
Also use sudo or doas, example: sudo mkinitcpio -p linux
Offline
Also use sudo or doas, example: sudo mkinitcpio -p linux
Convention on linux communities (forum, irc, mailing lists etc) is that cli commands preceded with # need to be run with root rights.
A preceding $ indicates no special access rights are needed.
When used consistently this makes adding sudo/doas superfluous.
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
There are people that have other kernels installed like linux-lts or linux-hardened and omit the standard kernel.
Using kernelpreset was my way to try to convey that there are more options.
I've edited the command to make that more clear.
Thanks for the clarification.
It was the "kernelpreset" that threw me. I thought it might be an obscure part of a command that I was unfamiliar with. When I googled I got the"kernel preset" with the space which confused me even more. I just use the standard "linux".
If only all article and guide writers would follow the simple # or $ rule. Oh well we can live in hope. ;-)
Offline
Also see https://bbs.archlinux.org/viewtopic.php … 7#p2247567 for detecting the required firmware binaries.
Offline
Pages: 1