Bonjour,
J’ai un vieux ThinkPad T410 équipé d’une carte graphique Nvidia qui souffre de problèmes sérieux avec Firefox sur Debian Bullseye.
Ce dernier gèle ma session graphique aléatoirement, notamment lorsque je vais sur des sites avec des vidéos. Ce gel ne fait toutefois pas planter le système (je ne peux pas basculer sur une console non graphique, mais l’accès SSH fonctionne toujours).
Aucune autre application ne pose problème, y compris Chromium par exemple sur les mêmes sites de vidéos ! Mais qu’est-ce qui se passe chez Mozilla… Un problème de décodage vidéo par la carte graphique Nvidia ?
A noter que j’ai le même problème avec un autre Thinkpad équipé d’une carte Nvidia, alors qu’un autre avec carte intégrée Intel fonctionne très bien à ce niveau.
Version de Firefox :
firefox-esr:
Installé : 102.6.0esr-1~deb11u1
Candidat : 102.6.0esr-1~deb11u1
Table de version :
*** 102.6.0esr-1~deb11u1 500
500 http://security.debian.org/debian-security bullseye-security/main amd64 Packages
100 /var/lib/dpkg/status
91.13.0esr-1~deb11u1 500
500 https://deb.debian.org/debian bullseye/main amd64 Packages
Ma carte graphique et son pilote :
# lspci -k | grep -A2 -iE 'VGA'
01:00.0 VGA compatible controller: NVIDIA Corporation GT218M [NVS 3100M] (rev a2)
Subsystem: Lenovo ThinkPad T410
Kernel driver in use: nouveau
J’ai remarqué que le pilote Nouveau ne pouvait charger certains firmwares au démarrage :
# journalctl -r -p err
T410 kernel: nouveau 0000:01:00.0: msvld: init failed, -19
T410 kernel: nouveau 0000:01:00.0: msvld: unable to load firmware data
T410 kernel: nouveau 0000:01:00.0: firmware: failed to load nouveau/nva8_fuc084d (-2)
T410 kernel: nouveau 0000:01:00.0: firmware: failed to load nouveau/nva8_fuc084 (-2)
En consultant le site de Nouveau, je constate que ma carte appartient à la famille NV50, avec comme nom de code NVA8.
General code names
Code name Official Name Nvidia 3D object codename NV50 GeForce 8, GeForce 9, GeForce 100, GeForce 200, GeForce 300 Tesla
NV50 family (Tesla)
Code name Official Name NVA8 (GT218) GeForce 8400 GS, ION 2, GeForce 205, 210, G 210M, 305M, 310(M), 405 Quadro FX (380 LP, 380M), NVS (300, 2100M, 3100M)
Au niveau du moteur d’accélération vidéo, ma famille de cartes utilise le moteur VP1, qui apparemment a besoin du firmware de la carte pour fonctionner :
Which card has what engine
VP1 : NV41-NV50 (GeForce 6, 7 series, GeForce 8800 GTS)
Video engine support status :
XvMC VDPAU / VA-API Firmware MPEG1/2 MPEG1/2 H.264 VC-1 MPEG-4 VP1 N/A N/A TODO TODO N/A TODO
Firmware
[…] VP1 […] require firmware to operate that is presently extracted from the NVIDIA binary driver. We cannot redistribute the firmware directly in linux-firmware because NVIDIA’s license forbids redistribution of parts of their driver.
J’ai suivi les recommandations de cette page pour installer les firmwares :
$ mkdir /tmp/nouveau
$ cd /tmp/nouveau
$ wget https://raw.github.com/envytools/firmware/master/extract_firmware.py
$ wget http://us.download.nvidia.com/XFree86/Linux-x86/325.15/NVIDIA-Linux-x86-325.15.run
$ sh NVIDIA-Linux-x86-325.15.run --extract-only
$ python extract_firmware.py
# mkdir /lib/firmware/nouveau
# cp -d nv* vuc-* /lib/firmware/nouveau/
J’ai aussi installé les paquets mesa-va-drivers
, libvdpau-va-gl1
et mesa-utils
.
Au redémarrage de la machine, les firmwares sont bien chargés, mais le problème persiste dans Firefox.
Cette page recommande d’ajouter/modifier les paramètres suivants dans sa configuration about:config
:
media.ffmpeg.vaapi.enabled = true
widget.wayland-dmabuf-vaapi.enabled = true
media.ffmpeg.vaapi-drm-display.enabled = true
media.ffmpeg.enabled = true
Au redémarrage de Firefox, j’arrive à lire quelques vidéos, plus ou moins saccadées, mais au bout de quelques secondes ou minutes, même problème. Ma session graphique gèle, sauf si je tue Firefox par SSH.
Comment régler ce problème ?