web-dev-qa-db-fra.com

Possible firmware manquant / lib / firmware / i915

J'ai mis à niveau mon ordinateur portable avec le noyau 4.8 et au cours du processus, les avertissements suivants sont apparus.

update-initramfs: Generating /boot/initrd.img-4.8.0-040800-generic
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

Celles-ci me semblent un peu bizarres car mon processeur est le i7-6700HQ qui est un skylake et ma compréhension est que ce sont pour différents processeurs? J'ai suivi les instructions ici avant comme auparavant j'avais des avertissements concernant ma famille de CPU.

Est-ce que ces avertissements doivent être ignorés ou dois-je installer les pilotes guc/dmc pour ces familles de processeurs?

68
Malachi

Mise à jour du 20 mai 2019

Pour répondre à votre question, vous n'avez pas besoin de mettre à jour les pilotes d'un processeur que vous n'exécutez pas, mais il est agréable de voir les avertissements disparaître de cette façon.

Aujourd'hui, j'ai reçu ces avertissements:

update-initramfs: Generating /boot/initrd.img-5.0.1-050001-generic
W: Possible missing firmware /lib/firmware/i915/skl_dmc_ver1_27.bin for module i915
W: Possible missing firmware /lib/firmware/i915/kbl_dmc_ver1_04.bin for module i915
W: Possible missing firmware /lib/firmware/i915/cnl_dmc_ver1_07.bin for module i915
W: Possible missing firmware /lib/firmware/i915/icl_dmc_ver1_07.bin for module i915
W: Possible missing firmware /lib/firmware/i915/kbl_guc_ver9_39.bin for module i915
W: Possible missing firmware /lib/firmware/i915/bxt_guc_ver9_29.bin for module i915
W: Possible missing firmware /lib/firmware/i915/skl_guc_ver9_33.bin for module i915

J'ai téléchargé les blobs (décrits dans la section suivante), puis utilisé:

$ Sudo cp ~/Downloads/*.bin /lib/firmware/i915/

$ Sudo update-initramfs -u
update-initramfs: Generating /boot/initrd.img-5.0.1-050001-generic

Maintenant, mes Sky Lake (skl) sont à jour et je peux essayer les derniers paramètres de noyau recommandés sur Internet. Messages d'avertissement pour les futurs processeurs Kaby Lake (kbl), Cannon Lake (cnl) et Ice Lake (icl) a rendu la vie moins stressante.


Mise à jour du 26 mai 2018

Révision mineure le 6 août 2018.

Nouvel écran de téléchargement de "blobs"

Récemment, Intel a créé une nouvelle page de téléchargement et une nouvelle présentation de page Web:

Intel i915 firmware blobs

Les fichiers téléchargés s'appellent désormais firmware blobs , ce qui est nouveau pour le firmware pilotes . Cela signifie B inary L arge OB ject (BLOB).

Les pilotes sont triés par processeur:

  • bxt Broxton, Annulé en 2016, successeur des processeurs Cherry Trail
  • kbl Kabylake, 7ème génération, p.ex. i7-7700
  • skl Skylake, 6e génération, p.ex. i7-6700

Ensuite, les pilotes sont organisés par sous-groupe (explication complète ici ):

  • GUC - GuC est conçu pour planifier les charges de travail graphiques sur les différents moteurs graphiques parallèles.
  • DMC - DMC fournit des états graphiques supplémentaires en mode veille à faible consommation d'énergie.
  • HUC - HuC est conçu pour décharger certaines des fonctions de média de la CPU vers le GPU.

Faire correspondre le message d'erreur au pilote requis

Comparez le message d'erreur que vous recevez par update-initramfs ou update-grub pour rechercher le pilote manquant. Dans votre exemple, le message était "/lib/firmware/i915/kbl_guc_ver9_14.bin", il vous manque donc le GuC Kabylake appelé: kbl_guc_ver9_14.bin dans la page Web indiquée ci-dessus. Vous ne voulez pas le plus récent: kbl_guc_ver9_39.bin

Télécharger le pilote nécessaire

Il n'y a plus de script d'installation comme dans les versions précédentes. Sélectionnez simplement le pilote manquant (blob) et cliquez dessus. Cet écran apparaît:

Intel i915 drivers download.png

Initialement, vous ne voyez que le "vidage hexadécimal", mais après avoir cliqué sur le lien intitulé plain , une fenêtre de téléchargement apparaît, comme illustré ci-dessus.

Cliquez sur "Enregistrer le fichier"

Installer le pilote avec Sudo cp (commande de copie) simple

Après le téléchargement, l'installation est un simple Sudo cp (commande de copie) et il n'y a pas de commandes compliquées tar, ou ./script_name.

Installation rapide

cd ~/Downloads
Sudo cp kbl_guc_ver9_14.bin /lib/firmware/i915
Sudo cp bxt_guc_ver8_7.bin /lib/firmware/i915

IMPORTANT: Remplacez kbl_guc_ver9_14.bin et bxt_guc_ver8_7.bin ci-dessus par les noms de pilote manquants téléchargés.

VOILA! Un nouveau pilote est installé. Beaucoup plus simple que les méthodes d'installation précédentes pour les pilotes Intel i915 manquants!

Installation exploratoire TL; DR

J'ai déjà eu le pilote installé. Cette longue méthode d’installation vous donne une idée d’avant et d’After Effects de la copie de BLOB:

$ Sudo updatedb
$ llocate kbl_guc_ver9_14.bin
ACCESS      OWNER  GROUP  SIZE    MODIFIED    NAME (updatdb last ran: 2018-05-26 12:07:57)
-rw-rw-r--  rick   rick   142656  2018-05-26  /home/rick/Downloads/kbl_guc_ver9_14.bin
-rw-rw-r--  rick   rick   142656  2017-02-24  /home/rick/Downloads/kbl_guc_ver9_14/kbl_guc_ver9_14.bin
-rw-r--r--  root   root   142656  2017-10-26  /lib/firmware/i915/kbl_guc_ver9_14.bin
$ diff /home/rick/Downloads/kbl_guc_ver9_14/kbl_guc_ver9_14.bin /lib/firmware/i915/kbl_guc_ver9_14.bin
# Blank line appears here signifying no differences from previous version
$ Sudo cp /home/rick/Downloads/kbl_guc_ver9_14/kbl_guc_ver9_14.bin /lib/firmware/i915
$ llocate kbl_guc_ver9_14.bin
ACCESS      OWNER  GROUP  SIZE    MODIFIED    NAME (updatdb last ran: 2018-05-26 12:07:57)
-rw-rw-r--  rick   rick   142656  2018-05-26  /home/rick/Downloads/kbl_guc_ver9_14.bin
-rw-rw-r--  rick   rick   142656  2017-02-24  /home/rick/Downloads/kbl_guc_ver9_14/kbl_guc_ver9_14.bin
-rw-r--r--  root   root   142656  2018-05-26  /lib/firmware/i915/kbl_guc_ver9_14.bin

Utilisez la commande local ci-dessous à la place de llocate .


14 février 2017 - Intel a publié les pilotes

Selon ce rapport de bogue publié aujourd’hui ( W: Possible firmware manquant /lib/firmware/i915/kbl_guc_ver9_14.bin pour le module i915 ) Intel a publié la version requise Kabylake et Broxton pilotes sur leur page Web ( https://01.org/linuxgraphics/downloads/firmware ):

Intel Graphics for Linux Drivers

Téléchargez les pilotes manquants pour Kabylake ( GuC - Ver 9.14 ) et ( DMC - Ver 1.01 ) et Broxton ( GuC - Ver 8.7 ). Ceux-ci sont au format .tar.gz et .tar.bz2.

Installer les pilotes au format "tar"

Bien que vous puissiez exécuter les scripts install.sh, ces instructions sont les plus simples.

Accédez au répertoire de téléchargement et vérifiez que les fichiers sont présents:

:~$ cd Downloads

:~/Downloads$ ll *tar*
-rw-rw-r-- 1 rick rick 69329 Feb 14 21:05 bxtgucver87.tar.gz
-rw-rw-r-- 1 rick rick  4338 Feb 14 21:06 kbldmcver101.tar.bz2
-rw-rw-r-- 1 rick rick 70402 Feb 14 21:06 kblgucver914.tar.gz

Extrayez les fichiers tar compressés:

:~/Downloads$ tar -zxvf bxtgucver87.tar.gz
firmware/bxt/guc/bxt_guc_ver8_7/
firmware/bxt/guc/bxt_guc_ver8_7/install.sh
firmware/bxt/guc/bxt_guc_ver8_7/ReleaseNotes.txt
firmware/bxt/guc/bxt_guc_ver8_7/bxt_guc_ver8_7.bin

:~/Downloads$ tar -xjvf kbldmcver101.tar.bz2
kbl_dmc_ver1_01/
kbl_dmc_ver1_01/kbl_dmc_ver1_01.bin
kbl_dmc_ver1_01/install.sh
kbl_dmc_ver1_01/ReleaseNotes.txt

:~/Downloads$ tar -zxvf kblgucver914.tar.gz
firmware/kbl/guc/kbl_guc_ver9_14/
firmware/kbl/guc/kbl_guc_ver9_14/install.sh
firmware/kbl/guc/kbl_guc_ver9_14/kbl_guc_ver9_14.bin
firmware/kbl/guc/kbl_guc_ver9_14/ReleaseNotes.txt

Copier les fichiers et mettre à jour initramfs

:~/Downloads$ Sudo cp -t /lib/firmware/i915/ firmware/bxt/guc/bxt_guc_ver8_7/bxt_guc_ver8_7.bin kbl_dmc_ver1_01/kbl_dmc_ver1_01.bin firmware/kbl/guc/kbl_guc_ver9_14/kbl_guc_ver9_14.bin
:~/Downloads$ Sudo update-initramfs -u
update-initramfs: Generating /boot/initrd.img-4.9.9-040909-generic

Notez que les messages d'erreur (avertissement) ont disparu!

Supprimer les fichiers de travail

:~/Downloads$ rm -r firmware kbl_dmc_ver1_01 *.tar.*

Poste historique (original) pour référence

J'ai reçu deux messages d'avertissement sur les pilotes i915 manquants pour les versions 4.6.3, 4.7.1, 4.7.2, 4.7.3 et 4.7.5 du noyau. Je les ai ignorées et les choses se sont bien passées avec mon processeur graphique intégré Intel HD4000. J'aimerais que l'on puisse dire la même chose de Nvidia et de Nouvaeu.

Une des réponses de votre lien indique que vous pouvez vous rendre sur le site Web d’Intel pour obtenir les pilotes les plus récents pour les cartes graphiques Linux à l’adresse suivante: intel-linux-graphics-firmwares . Cependant, lorsque j'ai lu ce site il y a quelques semaines, je m'inquiétais de tout ce qui pouvait aller de travers dans différents scénarios. J'ai donc choisi de ne pas participer.

Avez-vous installé la version 4 du candidat 6 à partir du 24 septembre? C'est le plus courant dans Ubuntu, je crois. Vous n'êtes pas obligé de répondre, mais je suis curieux de savoir pourquoi vous avez opté pour la version 4.8 au lieu de la version 4.7.5, c.-à-d. Quelles sont les différences dont vous avez besoin pour régler le problème.

Edit - 19 octobre 2016

Maintenant, j'utilise la version 4.8.1 du noyau (version réelle et non candidate à la publication) pendant plus d'une semaine et les choses fonctionnent correctement. Ceci est cependant sous Ubuntu 16.04. Ubuntu 16.10 est sorti le 13 octobre et utilise la version 4.8.0 du noyau, je crois.

Ce n'est pas mon plan de continuer à mettre à jour cette réponse, mais je voulais mettre fin à l'inférence que les candidats à la version 4.8 pourraient avoir des problèmes. La vraie version ne le fait pas.

Edit - 2 février 2017

Utilise maintenant la version principale du noyau version 4.9.5 qui, pour le moment, Ubuntu 16.04 a mis à jour son noyau vers la version 4.4.0-59. Intel a changé son lien pour les pilotes Intel Graphics pour Linux et j'ai mis à jour le nouveau lien ci-dessus.

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

Comme indiqué dans le rapport de bogue ( bugs.launchpad.net - bogue du firmware de Linux ), les pilotes n'existent tout simplement pas et n'existeront pas avant la sortie d'une future puce appelée "kaby lake".

Faire disparaître les messages d'avertissement

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.

Comment naviguer sur le site Web Intel Graphics for Linux

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:

Intel Graphics for Linux 1

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:

Intel Graphics for Linux 2

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

NOTE: Intel utilise la police ancienne 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:

Intel Graphics for Linux 3

Ajouter des signatures Intel pour Ubuntu

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
100
WinEunuuchs2Unix

Vous pouvez télécharger le micrologiciel du noyau manquant depuis le site Web d’Intel https://01.org/linuxgraphics/downloads/firmware

  1. Télécharger les fichiers requis
  2. Développez les fichiers en utilisant tar -xvf
  3. Installez les pilotes en utilisant Sudo bash ./install --install

Répétez l'opération pour tous les firmwares mentionnés, puis redémarrez

5
Sarvex

Intel a de nouveau changé de site et redirige maintenant vers git.kernel.org.

Examinez vos avertissements à l’aide d’une fenêtre de terminal (terminal, PuTTY, etc. ou sur la machine locale), puis cliquez sur le lien correspondant dans la page git d’Intel à l’aide d’un navigateur Web (qui affiche un vidage hexadécimal du fichier), copiez le lien lien de la plain bouton au-dessus du vidage, retournez au terminal et cliquez sur ce lien.

Une fois que vous avez les fichiers correspondant à chaque avertissement, cp ou Sudo cp donnez-les à /lib/firmware/i915.

1