Lorsque j'exécute une mise à jour du noyau ou du pilote NVIDIA sur mon 16.04, cela déclenche une reconstruction par initramfs qui génère l'avertissement ci-dessous:
Processing triggers for initramfs-tools (0.122ubuntu8.1) ...
update-initramfs: Generating /boot/initrd.img-4.4.0-34-generic
W: Possible missing firmware /lib/firmware/i915/skl_guc_ver6.bin for module i915_bpo
J'ai un ordinateur portable avec deux puces graphiques, un NVIDIA GeForce 940M et le graphique intégré d'Intel i5-6200U.
Le périphérique utilisé est ma carte NVIDIA:
$ inxi -G
Graphics: Card-1: Intel Sky Lake Integrated Graphics
Card-2: NVIDIA GM108M [GeForce 940M]
Display Server: X.Org 1.18.3 driver: nvidia Resolution: [email protected]
GLX Renderer: GeForce 940M/PCIe/SSE2 GLX Version: 4.5.0 NVIDIA 367.35
Voici le résultat de lshw -c video
, correspondant à ma puce graphique Intel qui devrait utiliser ce pilote:
*-display
description: VGA compatible controller
product: Sky Lake Integrated Graphics
vendor: Intel Corporation
physical id: 2
bus info: pci@0000:00:02.0
version: 07
width: 64 bits
clock: 33MHz
capabilities: pciexpress msi pm vga_controller bus_master cap_list rom
configuration: driver=i915_bpo latency=0
resources: irq:125 memory:a2000000-a2ffffff memory:b0000000-bfffffff ioport:5000(size=64)
Le fichier dans l'avertissement n'existe pas, seulement ceux:
$ ll /lib/firmware/i915/
total 336
drwxr-xr-x 2 root root 4096 Aug 11 13:24 ./
drwxr-xr-x 74 root root 32768 Aug 11 13:24 ../
-rw-r--r-- 1 root root 5872 Jul 21 17:03 bxt_dmc_ver1_04.bin
-rw-r--r-- 1 root root 5872 Jul 21 17:03 bxt_dmc_ver1_05.bin
-rw-r--r-- 1 root root 8380 Jul 21 17:03 bxt_dmc_ver1_06.bin
-rw-r--r-- 1 root root 8380 Jul 21 17:05 bxt_dmc_ver1_07.bin
lrwxrwxrwx 1 root root 19 Jul 21 17:05 bxt_dmc_ver1.bin -> bxt_dmc_ver1_07.bin
-rw-r--r-- 1 root root 8824 Jul 21 17:03 skl_dmc_ver1_23.bin
-rw-r--r-- 1 root root 8928 Jul 12 21:33 skl_dmc_ver1_26.bin
lrwxrwxrwx 1 root root 19 Jul 12 21:33 skl_dmc_ver1.bin -> skl_dmc_ver1_26.bin
-rw-r--r-- 1 root root 109636 Jul 21 17:03 skl_guc_ver1_1059.bin
lrwxrwxrwx 1 root root 21 Jul 21 17:03 skl_guc_ver1.bin -> skl_guc_ver1_1059.bin
-rw-r--r-- 1 root root 128320 Jul 21 17:03 skl_guc_ver4_3.bin
lrwxrwxrwx 1 root root 18 Jul 21 17:03 skl_guc_ver4.bin -> skl_guc_ver4_3.bin
Le dernier package de pilote semble être installé cependant:
$ apt-cache policy xserver-xorg-video-intel
xserver-xorg-video-intel:
Installed: 2:2.99.917+git20160325-1ubuntu1
Candidate: 2:2.99.917+git20160325-1ubuntu1
Version table:
*** 2:2.99.917+git20160325-1ubuntu1 500
500 http://ftp.uni-stuttgart.de/ubuntu xenial/main AMD64 Packages
100 /var/lib/dpkg/status
Que signifie exactement cet avertissement et comment puis-je le résoudre?
Le package de pilotes est quelque peu à la traîne par rapport au noyau. Dans mon cas, le firmware manquant n'a pas d'importance, car je n'ai pas de processeur SkyLake, mais dans votre cas, cela peut être important. Vous pouvez obtenir le nouveau firmware à partir de ici .
EDIT 1: Notez que le lien a changé, mais les lecteurs devraient toujours être en mesure de trouver ce dont ils ont besoin dans le nouveau lien, même s’il peut parfois être difficile de savoir exactement ce que vous recherchez.
EDIT 2: Cette réponse devrait s’appliquer à certaines autres nouvelles exigences relatives au microprogramme apparues depuis la rédaction de cette réponse. Par exemple:
W: Possible missing firmware /lib/firmware/i915/kbl_dmc_ver1_01.bin for module i915
W: Possible missing firmware /lib/firmware/i915/kbl_guc_ver9_14.bin for module i915
W: Possible missing firmware /lib/firmware/i915/bxt_guc_ver8_7.bin for module i915
EDIT 3: Pour les utilisateurs de git, cette réponse fonctionne également bien.
Il y a quelque temps (et je ne sais pas exactement quand), Canonical a facilité la mise à jour des pilotes Linux i915 dans Ubuntu. Essayez cette commande en premier:
Sudo apt install --reinstall linux-firmware
Si vous recevez toujours des messages d'avertissement, passez à la section suivante intitulée "Mise à jour du 26 mai 2018".
Récemment, Intel a basculé vers le téléchargement de fichiers appelés blobs , ce qui signifie B inary L arge OB ject (BLOB).
Pour voir les nouvelles méthodes d'installation du pilote i915, voir ceci réponse mis à jour aujourd'hui.
Un nouveau lien permettant d’accéder au micrologiciel Skylake (skl) est disponible ici ( 1.org - Téléchargements de microprogrammes graphiques pour Linux ). Un exemple de capture d'écran suit.
Si vous essayez de sélectionner les microprogrammes Kabylake (kbl) ou Broxton (bxt), vous obtiendrez un message d'erreur car ces pilotes n'ont pas encore été publiés.
L'ancien lien nécessite un code d'accès spécial. Intel a changé leur lien de site Web pour le reste d'entre nous.
Des questions subsistent concernant les messages d'avertissement générés par Sudo update-initramfs -u
lorsque la version du noyau> 4.8 (Ubuntu 16.10 et Ubuntu 17.04):
W: Possible missing firmware /lib/firmware/i915/kbl_dmc_ver1_01.bin for module i915
W: Possible missing firmware /lib/firmware/i915/kbl_guc_ver9_14.bin for module i915
W: Possible missing firmware /lib/firmware/i915/bxt_guc_ver8_7.bin for module i915
À un moment donné, le rapport de bogue ( bugs.launchpad.net - bogue du firmware de Linux ) indiquait que les pilotes n'existaient tout simplement pas et n'existerait pas avant la sortie d'une future puce appelée "kaby lake". Depuis février 2017, vous pouvez installer ces pilotes en suivant les instructions suivantes: Mise à jour du noyau vers la version 4.8, les avertissements relatifs au microprogramme sont manquants
À compter de février 2017, ignorez cette section et suivez les instructions du dernier paragraphe ci-dessus.
Pour que le message d'avertissement disparaisse, j'ai procédé comme suit:
$ Sudo cp Assembly/hello /lib/firmware/i915/kbl_dmc_ver1_01.bin
$ Sudo cp Assembly/hello /lib/firmware/i915/kbl_guc_ver9_14.bin
$ Sudo cp Assembly/hello /lib/firmware/i915/bxt_guc_ver8_7.bin
$ Sudo update-initramfs -u
update-initramfs: Generating /boot/initrd.img-4.9.5-040905-generic
Voila! Pas plus de messages d'avertissement.
Le programme "hello" est un programme assembleur de 504 octets qui dit "Hello World!". Vous pouvez copier n'importe quel petit exécutable dans les fichiers binaires du microprogramme indiqués dans les messages d'erreur. Lorsque Intel les publiera éventuellement, le programme de mise à jour du logiciel les remplacera par les versions réelles.
Il a été demandé via des commentaires comment naviguer dans le nouveau site Web d’Intel ( 1.org - Téléchargements de Linux Graphics ) qui présente cet écran:
Tapez Ubuntu 16.04
dans le champ de recherche et cliquez sur le bouton Filter
.
Pour Ubuntu 16.10, sélectionnez le premier résultat. Dans notre cas, Ubuntu 16.04 sélectionne le deuxième résultat INTEL GRAPHICS UPDATE TOOL FOR LINUX* OS V2.0.2
et cet écran apparaît:
Dans mon cas, j'ai sélectionné Ubuntu 16.04 64 bits qui a téléchargé le fichier intel-graphics-update-tool_2.0.2_AMD64.deb
dans mon répertoire ~/Downloads
.
La prochaine étape consiste à ouvrir le terminal et à utiliser:
cd Downloads
Sudo dpkg -i intel*.deb
REMARQUE: Intel utilise la police ancien ttf et votre installation échouera si elle ne se trouve pas sur votre système. À ce stade, vous devez utiliser:
Sudo apt -f install
Sudo apt update
Sudo apt upgrade
Vous pouvez maintenant exécuter l'outil Intel Graphics for Linux Updater
comme indiqué sur cet écran:
Pendant apt-get update
, vous pouvez voir des messages d'avertissement/d'erreur comme celui-ci:
W: GPG error: https://download.01.org/gfx/ubuntu/16.04/main xenial InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 56A3DEF863961D39
E: The repository 'https://download.01.org/gfx/ubuntu/16.04/main xenial InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
Vous devrez ajouter les signatures d'Intel en utilisant:
wget --no-check-certificate https://download.01.org/gfx/RPM-GPG-KEY-ilg-4 -O - | \
Sudo apt-key add -
Puis mettez à jour dans Ubuntu:
Sudo apt update
Sudo apt upgrade
J'ai également rencontré un problème similaire car j'ai mis à jour le noyau à partir de l'application "Logiciel" Ubuntu Gnome 16.04 (gestionnaire de paquets natif) et il s'est bloqué lors de la mise à jour.
On m'a donc interdit de redémarrer Ubuntu parce que l'image linux n'a pas été générée.
Pour résoudre ce problème à partir de ce point, j'ai procédé comme suit:
Shift
pour accéder au menu Grub.*4.4.0-21-generic
et appuyez sur Enter
;*4.4.0-59-generic
(j'ai utilisé le gestionnaire de paquets Synaptic pour cela);KabyLake kbl DMC - Ver 1.01
;*4.4.0-59-generic
(dans mon cas) ou simplement linux-generic
pour obtenir le dernier noyau générique Linux complet.Succès! Le noyau est à jour et tous les firmwares fonctionnent bien!
Meilleures salutations!
Si vous utilisez debian (j'ai Debian GNU/Linux buster), suivez ces étapes:
créer le dossier:
Sudo mkdir -p /lib/firmware/i915
copier tous les fichiers de https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915 dans ce dossier
Reconfigurez le paquet initramfs-tools:
Sudo dpkg-reconfigure initramfs-tools