Possível falta de frmware / lib / firmware / i915

75

Atualizei meu laptop para ter o kernel 4.8 e durante o processo os seguintes avisos apareceram.

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

Isso me parece um pouco estranho, já que minha CPU é i7-6700HQ, que é uma skylake e meu entendimento é de que se trata de CPUs diferentes? Eu segui as instruções aqui antes, pois no passado eu tinha avisos sobre minha família de CPU.

Esses avisos são coisas que devo ignorar ou devo instalar os drivers guc / dmc para essas famílias de CPU?

Malaquias
fonte
Não remova seus kernels existentes. Para que, mesmo que você tenha algum problema com os kernels mais recentes, possa voltar aos antigos.
Raphael
3
Estou votando para fechar esta questão como fora de tópico, porque a pergunta é sobre um kernel não suportado.
Pilot6
Essas mensagens são para CPUs diferentes, e você não está obtendo o mesmo para CPUs skylake; portanto, você pode ignorá-las.
Doug Smythies
@ Pilot6 Posso perguntar por que isso está fora de tópico? É sobre o Ubuntu 16.04 e o kernel 4.8 instalado a partir do kernel do Ubuntu ppa?
Malachi
2
Como o Ubuntu 16.10 usa o Linux Kernel 4.8, agora nomeio essa pergunta para reabrir. As mensagens de aviso afetam muitos usuários e esse encadeamento é mencionado em um relatório de erro em: bugs.launchpad.net/ubuntu/+source/linux-firmware/+bug/1611124
WinEunuuchs2Unix

Respostas:

115

20 de maio de 2019 Atualização

Para responder sua pergunta, você não precisa atualizar os drivers de um processador que não está executando, mas é bom ver os avisos desaparecerem quando você o faz.

Hoje recebi este aviso:

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

Eu baixei os blobs (descritos na próxima seção) e usei:

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

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

Agora meus drivers Sky Lake ( skl) estão atualizados e posso experimentar os parâmetros mais recentes do kernel recomendados na Internet. As mensagens de aviso para os futuros processadores Kaby Lake ( kbl), Cannon Lake ( cnl) e Ice Lake ( icl) desaparecem, tornando a vida menos estressante.


26 de maio de 2018 Atualização

Revisão secundária 6 de agosto de 2018.

Nova tela de download de "blobs"

Recentemente, a Intel criou uma nova página de download e um novo layout de página da web:

Blobs de firmware Intel i915

Os arquivos de download agora são chamados de blobs de firmware, que são novos para os drivers de firmware . Fica para B inary L arge OB ject (BLOB).

Os drivers são classificados por processador:

  • bxt Broxton, cancelado em 2016, sucessor dos processadores Cherry Trail
  • kbl Kabylake, 7a geração, por exemplo, i7-7700
  • skl Skylake, 6a geração, por exemplo, i7-6700

Em seguida, os drivers são organizados por subgrupo (explicação completa aqui ):

  • O GUC -GuC foi projetado para executar o agendamento da carga de trabalho gráfica nos vários mecanismos paralelos gráficos.
  • DMC - DMC fornece gráficos adicionais de estados ociosos de baixa potência.
  • O HUC - HuC foi projetado para descarregar algumas das funções de mídia da CPU para a GPU.

Corresponder a mensagem de erro ao driver necessário

Compare a mensagem de erro que você está recebendo update-initramfsou update-grubencontre o driver ausente. No seu exemplo, a mensagem era " /lib/firmware/i915/kbl_guc_ver9_14.bin", então você está faltando o Kabylake GuC chamado: kbl_guc_ver9_14.binna página da web mostrada acima. Você não quer o mais novo:kbl_guc_ver9_39.bin

Driver de download necessário

Não há mais script de instalação como nas versões anteriores. Simplesmente destaque o driver ausente (blob) e clique nele. Esta tela aparece:

Intel i915 drivers download.png

Inicialmente, você vê apenas o "hex dump", mas depois de clicar no link simples, uma janela de download aparece como ilustrado acima.

Clique em "Salvar arquivo"

Instale o driver com simples sudo cp(comando copy)

Após o download, a instalação é simples sudo cp(comando de cópia) e não há tarcomandos complicados ou ./script_nameetapas de instalação.

Instalação rápida

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

IMPORTANTE: Substitua kbl_guc_ver9_14.bine bxt_guc_ver8_7.binacima pelos nomes de drivers ausentes que você baixou.

VOILA! Novo driver está instalado. Muito mais simples que os métodos de instalação anteriores para drivers Intel i915 ausentes!

Instalação Exploratória TL; DR

Eu já tinha o driver instalado. Este longo método de instalação fornece uma idéia dos efeitos antes e depois da cópia do 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

Use o comando localizar abaixo no lugar de llocate .


14 de fevereiro de 2017 - Intel lançou drivers

De acordo com este relatório de bug hoje ( W: possível firmware ausente /lib/firmware/i915/kbl_guc_ver9_14.bin para o módulo i915 ) A Intel lançou os drivers Kabylake e Broxton necessários em seus ( https:////01.org/linuxgraphics/downloads/ firmware ):

Gráficos Intel para drivers Linux

Faça o download dos drivers ausentes para o Kabylake ( GuC - Ver 9.14 ) e ( DMC - Ver 1.01 ) e Broxton ( GuC - Ver 8.7 ). Estes estão em .tar.gze .tar.bz2formato.

Instale drivers no formato "tar"

Embora você possa executar os install.shscripts, essas instruções são as mais fáceis.

Vá para o diretório de download e verifique se há arquivos:

:~$ 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

Extraia os arquivos tar compactados:

:~/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

Copie os arquivos e atualize o 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

Observe que as mensagens de erro (aviso) desapareceram!

Remover arquivos de trabalho

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

Post histórico (original) para referência

Recebi duas mensagens de aviso sobre os drivers i915 ausentes para os 4.6.3, 4.7.1, 4.7.2, 4.7.3 e 4.7.5 do Kernel. Eu os ignorei e as coisas estão bem com meus gráficos integrados Intel HD4000. Eu gostaria que o mesmo pudesse ser dito sobre a Nvidia e o Nouvaeu.

Como uma resposta do seu link afirmou, você pode ir ao site da Intel para obter os drivers mais atualizados de Linux Graphics em: intel-linux-graphics-firmwares . No entanto, quando li o site há algumas semanas, fiquei preocupado com todas as coisas possíveis que podem dar errado em diferentes cenários, então optei por não participar.

Você instalou o 4.8 release candidate 6 a partir de 24 de setembro? Essa é a mais atual no Ubuntu, eu acredito. Você não precisa responder, mas estou curioso para saber por que você optou pelo 4.8 em vez do 4.7.5, ou seja, quais são as diferenças necessárias para corrigir as coisas.

Editar - 19 de outubro de 2016

Agora, usando a versão 4.8.1 do kernel (versão real e não lançando candidato) por mais de uma semana e as coisas estão funcionando bem. Isso está no Ubuntu 16.04. O Ubuntu 16.10 foi lançado em 13 de outubro e está usando a versão 4.8.0 do Kernel, acredito.

Não é meu plano continuar atualizando esta resposta, mas eu queria descansar a inferência de que os candidatos à liberação 4.8 podem ter problemas. A versão real não.

Editar - 2 de fevereiro de 2017

Agora executando a versão principal do Kernel versão 4.9.5, que no momento o Ubuntu 16.04 atualizou seu kernel para 4.4.0-59. A Intel mudou o link para os drivers da Intel Graphics para Linux e atualizei o novo link acima.

Ainda restam dúvidas sobre as mensagens de aviso geradas sudo update-initramfs -uquando o Kernel versão> 4.8 (Ubuntu 16.10 e 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

Conforme declarado no relatório de bug ( bugs.launchpad.net - bug do firmware linux ), os drivers simplesmente não existem e não existirão até que um chip futuro chamado "kaby lake" seja lançado.

Faça as mensagens de aviso desaparecerem

Para fazer a mensagem de aviso desaparecer, fiz o seguinte:

$ 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! Não há mais mensagens de aviso.

O programa "hello" é um programa de montagem de 504 bytes que diz "Hello World!". Você pode copiar qualquer pequeno executável para os binários de firmware fornecidos nas mensagens de erro. Quando a Intel finalmente os liberar, o atualizador de software os substituirá pelas versões reais.

Como navegar no site da Intel Graphics for Linux

Por meio de comentários, foi perguntado como navegar no novo site da Intel ( 01.org - Linux Graphics Downloads ), que apresenta esta tela:

Gráficos Intel para Linux 1

Digite Ubuntu 16.04no campo de pesquisa e clique no Filterbotão

Para o Ubuntu 16.10, selecione o primeiro resultado. No nosso caso, o Ubuntu 16.04, selecione o segundo resultado INTEL GRAPHICS UPDATE TOOL FOR LINUX* OS V2.0.2e esta tela aparecerá:

Gráficos Intel para Linux 2

No meu caso, selecionei o Ubuntu 16.04 de 64 bits que baixou o arquivo intel-graphics-update-tool_2.0.2_amd64.debno meu ~/Downloadsdiretório.

O próximo passo é abrir o terminal e usar:

cd Downloads
sudo dpkg -i intel*.deb

NOTA: Intel usa os antigos TTF fonte e sua instalação falhará se não é no seu sistema. Neste ponto, você precisa usar:

sudo apt -f install
sudo apt update
sudo apt upgrade

Agora você pode executar a Intel Graphics for Linux Updaterferramenta como esta tela mostra:

Gráficos Intel para Linux 3

Adicionar assinaturas Intel para Ubuntu

Durante apt-get updatevocê pode ver mensagens de aviso / erro como este:

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.

Você precisará adicionar assinaturas da Intel usando:

wget --no-check-certificate https://download.01.org/gfx/RPM-GPG-KEY-ilg-4 -O - | \
sudo apt-key add -

Então atualize no Ubuntu:

sudo apt update
sudo apt upgrade
WinEunuuchs2Unix
fonte
11
Os avisos já existem há algum tempo. Posso estar errado sobre a versão exata em que eles foram lançados. Na medida do que pode dar errado, a página é preenchida com "Se isso acontecer, você deve fazer isso". Preciso executar agora, mas posso revisá-lo novamente e atualizar a resposta mais tarde, se desejar. Eu vejo as versões 4.7.x como estáveis, enquanto a série 4.8.x "libera candidatos" mais suscetíveis a novos erros e regressões do kernel. Mas não sou especialista em kernel, apenas um hobby / entusiasta.
WinEunuuchs2Unix
11
Essa abordagem (atualização de 26 de maio de 2018) funcionou perfeitamente para mim. A alegação de que esses firmwares estão incluídos no pacote linux-firmware é claramente falsa no momento.
Elder Geek
11
@ElderGeek Ainda não brinquei com Wayland, mas em breve descobrirá que é xrandrequivalente a definir o brilho e a gama do monitor.
WinEunuuchs2Unix 18/09/18
11
@ WinEunuuchs2Unix Você pode achar isso interessante então. Eu encontrei muitas coisas que não funcionaram como esperado para ficar animado com Wayland. Eu preciso que meus sistemas funcionem.
Elder Geek
2
@ElderGeek Parece que Wayland ainda precisa de muito trabalho. Aqui estão os parâmetros do kernel intel i915 que eu já li, mas não consigo lembrar onde:i915.enable_rc6=0 i915.enable_psr=0 i915.preliminary_hw_support=1 i915.enable_hd_vgaarb=1 i915.enable_guc_loading=1 i915.enable_guc_submission
WinEunuuchs2Unix
6

Você pode fazer o download do firmware do kernel ausente no site da Intel https://01.org/linuxgraphics/downloads/firmware

  1. Faça o download dos arquivos necessários
  2. Expanda os arquivos usando tar -xvf
  3. Instale os drivers usando sudo bash ./install --install

Repita para todos os firmwares mencionados e, em seguida, reinicie

Sarvex
fonte
2

A Intel mudou o site novamente, agora redirecionando para git.kernel.org.

Observe seus avisos usando uma janela de terminal (terminal, PuTTY etc. ou na máquina local) e, para cada um, clique no link na página git da Intel usando um navegador da web (que exibe um arquivo hexadecimal de arquivo), copie o local do link a partir do plainbotão acima do despejo, volte ao terminal e execute este link.

Depois de obter os arquivos correspondentes a cada aviso, cpou sudo cpeles /lib/firmware/i915.

Martin Pritchard
fonte
Bem-vindo ao Ask Ubuntu! ;-) É melhor editar a resposta existente com novas informações do que postar uma resposta adicional.
Fabby