web-dev-qa-db-fra.com

Le pilote propriétaire NVIDIA ne se charge pas lors de l’utilisation de shimx64 depuis xenial

J'ai un comportement étrange après la mise à niveau de mon PC de wily à xenial (tous deux de type Kubuntu). Avant et après la mise à niveau, j'ai dans mon BIOS deux options de démarrage "ubuntu". Ici vous pouvez voir les valeurs derrière chaque entrée sous 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)

Avec astuce, j'utilise shimx64 (première entrée) et le pilote propriétaire NVIDIA sans problèmes. Depuis la mise à niveau vers xenial, shimx64 (première entrée) ne charge pas le pilote propriétaire NVIDIA. Je dois utiliser grubx64 à la place (deuxième entrée).

Lorsque j'utilise grubx64, je trouve les entrées suivantes pour "nvidia" ou "NVRM" dans le journal du noyau:

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.

Lorsque j'utilise shimx64, il n'y a pas d'entrée pour "nvidia" ou "NVRM" dans le journal du noyau, pas même des messages d'erreur.

J'avais l'habitude de croire que shimx64 n'était qu'un chargeur de chaîne signé pour grubx64 mais, à la différence des traces du noyau, ce n'est évidemment pas si simple. Quelqu'un at-il une explication de ce qui se passe là-bas? Cela pourrait-il avoir quelque chose à voir avec la signature numérique des pilotes?

2
Stéphane Tréboux

NVIDIA ne signe pas son pilote vidéo propriétaire. Le noyau Linux recherche toujours des signatures dans les modules du noyau, même si l'initialisation sécurisée est désactivée. Lorsque j'utilise grubx64, je peux voir le message suivant:

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

Ce n'est pas une erreur puisque le démarrage sécurisé est désactivé; le pilote vidéo propriétaire NVIDIA fonctionne toujours. La partie amusante est que lorsque j'utilise shimx64, ce message n'apparaît pas. Le pilote NVIDIA est ignoré par le noyau sans message. Je peux dire que le démarrage sécurisé est activé à cause de ce message:

kernel: Secure boot enabled
4
Stéphane Tréboux