38 votes

Firmware manquant pour amdgpu

Après sudo apt-get dist-upgrade J'ai vu la sortie suivante dans mon terminal :

Setting up linux-modules-extra-4.18.0-16-generic (4.18.0-16.17) ...
Setting up linux-image-generic (4.18.0.16.17) ...
Setting up linux-headers-generic (4.18.0.16.17) ...
Setting up linux-generic (4.18.0.16.17) ...
Processing triggers for linux-image-4.18.0-16-generic (4.18.0-16.17) ...
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-4.18.0-16-generic
W: Possible missing firmware /lib/firmware/amdgpu/vega12_gpu_info.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/vega20_asd.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/vega20_sos.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/vega12_asd.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/vega12_sos.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/vega20_rlc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/vega20_mec2.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/vega20_mec.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/vega20_me.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/vega20_pfp.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/vega20_ce.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/vega12_rlc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/vega12_mec2.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/vega12_mec.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/vega12_me.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/vega12_pfp.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/vega12_ce.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/vega20_sdma1.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/vega20_sdma.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/vega12_sdma1.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/vega12_sdma.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/vega20_uvd.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/vega12_uvd.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/vega20_vce.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/vega12_vce.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/vega20_smc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/vega12_smc.bin for module amdgpu
I: The initramfs will attempt to resume from /dev/dm-2
I: (/dev/mapper/ubuntu--vg-swap_1)
I: Set the RESUME variable to override this.
/etc/kernel/postinst.d/zz-update-grub:
Sourcing file `/etc/default/grub'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.18.0-16-generic
Found initrd image: /boot/initrd.img-4.18.0-16-generic
Found linux image: /boot/vmlinuz-4.18.0-15-generic
Found initrd image: /boot/initrd.img-4.18.0-15-generic
Found linux image: /boot/vmlinuz-4.18.0-10-generic
Found initrd image: /boot/initrd.img-4.18.0-10-generic
Adding boot menu entry for EFI firmware configuration
done

Quelqu'un peut-il me dire où trouver et comment installer le micrologiciel manquant ?

Ma carte graphique est RADEON RX VEGA M

41voto

user167850 Points 230

Vous pouvez trouver le micrologiciel à l'adresse suivante linux-firmware git

Il semble que les fichiers manquants du firmware soient présents.

Vous pouvez cloner git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git et copier les fichiers manquants dans le fichier /lib/firmware/amdgpu .

20voto

Crux161 Points 309

Mise à jour : il s'agit de mon approche amateur pour "faire fonctionner les choses" - il existe de meilleures réponses et ce n'est probablement pas l'approche la plus stable. Linux dans l'espace de l'utilisateur privé est essentiellement une question d'apprentissage. Si vous cassez quelque chose, vous devrez apprendre à le réparer, ou recommencer ! C'est le cas de tout système informatique. Plus tôt vous apprendrez à gérer cela, plus tôt vous trouverez un moyen de "pêcher par vous-même" plutôt que de vous fier à des solutions toutes faites - qui peuvent être imparfaites.

Ne pas dépanner un environnement professionnel à l'aide de cette solution. Vous êtes prévenus.

--- Pour faire gagner du temps aux nouveaux utilisateurs et aux personnes qui ne sont pas familiarisées avec le terminal, les commandes suivantes peuvent être copiées et collées directement pour faciliter leur utilisation. Assurez-vous que git est installé, si ce n'est pas le cas, ouvrez un terminal (ctrl + alt + t dans la plupart des cas) et entrez la commande suivante : sudo apt install git -y

Si apt se plaint de ne pas pouvoir être mis à jour, mettez-le à jour et mettez-le à jour avec : sudo apt update && sudo apt upgrade -y

puis installez git avec la première commande.

Les fichiers du micrologiciel nécessaires à cette opération sont disponibles à l'adresse suivante https://kernel.googlesource.com/pub/scm/linux/kernel/git/firmware/linux-firmware.git

si vous avez déjà installé git, vous pouvez le faire en tapant cd ~/Documents && git clone https://kernel.googlesource.com/pub/scm/linux/kernel/git/firmware/linux-firmware.git

Après avoir cloné le dépôt à l'aide de la commande ci-dessus, il est important de placer les fichiers au bon endroit afin que le programme "update-initramfs" puisse les trouver et les utiliser.

Pour ce faire, il suffit d'entrer dans le terminal la commande suivante (pour ubuntu, à partir de 18.04)

sudo cp ~/Documents/linux-firmware/amdgpu/* /lib/firmware/amdgpu && sudo update-initramfs -k all -u -v

Les commandes ci-dessus supposent que vous êtes mise à jour votre image initramfs et utilisera toutes les versions de noyau disponibles sur le système à ce moment-là.

Ceci fait, APT ne devrait plus se plaindre :D

7voto

JPvRiel Points 266

Mise à jour à partir de janvier 2022, conformément à Paquet source linux-firmware 1.187.24 dans Ubuntu Le journal des modifications se lit comme suit :

amdgpu : ajout d'un firmware UVD pour SI asics (LP : #1953249)

Désormais, il suffit de mettre à jour la version la plus récente de la linux-firmware peut résoudre les problèmes spécifiques au micrologiciel manquant des AMD Southern Islands.

Réponse précédente / solution alternative laissée ci-dessous pour la postérité car d'autres modèles AMD et firmware pourraient rencontrer le même problème si/quand les responsables d'Ubuntu mettent à jour le noyau et les modules de pilotes AMD sans se souvenir de mettre à jour le paquet firmware correspondant.


Les réponses précédentes suggèrent de télécharger directement le firmware depuis linux-firmware git. Cette réponse propose une approche alternative qui tente de reproduire plus fidèlement le fonctionnement du cycle de test des versions d'Ubuntu et pourrait représenter une combinaison "plus largement testée" de la version officielle du noyau avec le firmware correspondant.

Le téléchargement direct à partir de la base de données git a des implications subtiles :

  • Il peut en résulter un mélange de microprogrammes potentiellement très récents avec des modules de noyau légèrement plus anciens, ce qui risque de conduire à une combinaison moins éprouvée de microprogrammes et de modules de pilote de noyau.
  • Le démarrage sécurisé de l'UEFI peut ne pas fonctionner lorsque le microprogramme n'a pas été correctement signé et qu'il est inclus dans l'initramfs.

Une autre solution, dans l'hypothèse d'une pile HWE, consiste à essayer de faire correspondre le cycle de test des versions que l'on suppose se produire entre les versions du noyau et du microprogramme.

  • Obtenez votre version actuelle ( cat /etc/lsb-release ). Par exemple, "Ubuntu 20.04.3 LTS" :
  • Obtenez la version de votre noyau ( uname -a ). Par exemple, 5.11.
  • Si vous êtes curieux, comprenez quelle version du paquet de microprogrammes est disponible dans le répertoire actuel ( apt show linux-firmware | grep Version )
  • Déterminer quelle version intermédiaire correspond au noyau/à la pile HWE via https://ubuntu.com/about/release-cycle#ubuntu-kernel-release-cycle . Par exemple, la version 5.11 a été rétroportée sur 20.04.3 LTS à partir d'Ubuntu 21.04 (hirsute).
  • Utilisez la recherche de paquets Ubuntu ( https://packages.ubuntu.com/search?keywords=linux-firmware&searchon=names ) et de localiser le linux-firmware qui correspond à cette combinaison particulière de version intermédiaire et de noyau. Par exemple https://packages.ubuntu.com/hirsute-updates/linux-firmware a été publié en même temps que le noyau 5.11 avec hirsute (21.04).
  • Téléchargez et installez manuellement le .deb de la version hirsute (21.04).
  • En utilisant le paquet .deb d'Ubuntu, on espère que le firmware est correctement signé pour fonctionner avec le démarrage sécurisé (pour ceux qui ne sont pas coincés avec un BIOS hérité et avec l'UEFI et qui se soucient de ces mesures d'atténuation contre les rootkits et les logiciels malveillants de type bootoader).

Par exemple, une correspondance pour 20.04.3 LTS avec le noyau 5.11 à linux-firmware de hirsute (21.04) qui était v 1.197.3 alors que le repo focal (20.04) avait laissé linux-firmware obsolète sur v 1.187.20 .

curl -OL http://archive.ubuntu.com/ubuntu/pool/main/l/linux-firmware/linux-firmware_1.197.3_all.deb
sudo dpkg -i linux-firmware_1.197.3_all.deb

Astuce supplémentaire : Téléchargez la version deb à partir de votre miroir le plus proche car ce paquet fait presque 200MB et l'archive principale peut être lente.

Pour expliquer plus en détail, les responsables de la pile HWE d'Ubuntu ont mis à jour le noyau (et le pilote amdgpu) mais n'ont malheureusement pas réussi à mettre à jour le paquet linux-firmware. Le pilote amdgpu a donc été clairement testé/développé sur un firmware qu'Ubuntu a inclus dans la nouvelle version provisoire non LTS, mais qu'il n'a pas inclus/rétroporté lors de la mise à jour du noyau HWE dans la version LTS précédente.

Tous ceux qui obtiennent ce genre d'erreur sont priés d'enregistrer un compte launchpad et d'ajouter leur vote avec la mention "Ce bug m'affecte" afin d'aider Ubuntu à prêter attention et à maintenir les noyaux HWE et les paquets linux-firmware dans un meilleur état de synchronisation : https://bugs.launchpad.net/ubuntu/+source/linux-firmware/+bug/1953249

L'inconvénient de cette approche est qu'il n'y aura plus de mises à jour automatiques du firmware, mais il est moins complexe d'installer manuellement le .deb que d'essayer de le mélanger dans les dépôts des versions intermédiaires (ce qui nécessiterait d'épingler le nom des paquets dans les préférences d'apt et d'établir des priorités).

En rapport :

-8voto

netwazimu Points 1

Télécharger des fichiers à partir de ce site dépôt et les placer dans votre ordinateur

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X