O driver proprietário da NVIDIA não é carregado ao usar o shimx64 desde o xenial

1

Eu tenho um comportamento estranho depois de atualizar meu PC de astuto para xenial (o sabor do Kubuntu). Antes e depois da atualização eu tenho duas opções de inicialização "ubuntu" no meu BIOS. Aqui você pode ver os valores por trás de cada entrada em xenial:

stephane@nausicaa:~$ sudo efibootmgr -v
BootCurrent: 0002
Timeout: 0 seconds
BootOrder: 0002,0000
Boot0000  ubuntu        HD(1,GPT,xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx,0x800,0x64000)/File(\EFI\ubuntu\shimx64.efi)
Boot0002* ubuntu        HD(1,GPT,xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx,0x800,0x64000)/File(EFI\Ubuntu\grubx64.efi)

Com o wily, tenho usado o shimx64 (primeira entrada) e o driver proprietário da NVIDIA sem problemas. Já que a atualização para o ximial shimx64 (primeira entrada) não carrega o driver proprietário da NVIDIA. Eu tenho que usar o grubx64 (segunda entrada).

Quando eu uso o grubx64 eu encontro as seguintes entradas para "nvidia" ou "NVRM" no log do kernel:

nvidia: module license 'NVIDIA' taints kernel.
nvidia: module verification failed: signature and/or required key missing - tainting kernel
[drm] Initialized nvidia-drm 0.0.0 20150116 for 0000:01:00.0 on minor 0
NVRM: loading NVIDIA UNIX x86_64 Kernel Module  340.96  Sun Nov  8 22:33:28 PST 2015
nvidia_uvm: Loaded the UVM driver, major device number 245
NVRM: Your system is not currently configured to drive a VGA console
NVRM: on the primary VGA device. The NVIDIA Linux graphics driver
NVRM: requires the use of a text-mode VGA console. Use of other console
NVRM: drivers including, but not limited to, vesafb, may result in
NVRM: corruption and stability problems, and is not supported.

Quando eu uso o shimx64, não há entrada para "nvidia" ou "NVRM" no log do kernel, nem mesmo mensagens de erro.

Eu costumava acreditar que o shimx64 é apenas um chainloader assinado para o grubx64, mas a partir das diferenças no log do kernel, obviamente não é tão simples. Alguém tem uma explicação para o que acontece lá? Poderia ter algo a ver com a assinatura digital dos drivers?

    
por Stéphane Tréboux 22.04.2016 / 21:17

1 resposta

4

A NVIDIA não assina seu driver de vídeo proprietário. O kernel do Linux sempre verifica assinaturas em módulos do kernel, mesmo com inicialização segura desativada. Quando uso o grubx64, consigo ver esta mensagem:

kernel: nvidia: module verification failed: signature and/or required key missing - tainting kernel

Isso não é um erro, pois a inicialização segura está desativada; o driver de vídeo proprietário da NVIDIA ainda funciona. A parte engraçada é que quando eu uso shimx64 esta mensagem não aparece. O driver NVIDIA é ignorado pelo kernel sem qualquer mensagem. Posso dizer que a inicialização segura está ativada devido a essa mensagem:

kernel: Secure boot enabled
    
por Stéphane Tréboux 14.07.2016 / 10:29