La Lanterne Rouge

Warning: Geek Inside

Installation d'une GeForce RTX2070 sur Leto

- Posted in Sans catégorie by

Ma machine principale que je ne présente plus commence sérieusement à accuser son âge. Il faut dire que j'ai acheté le "socle" (CM+CPU+CG) en 2014, et même si j'avais volontairement tapé dans le haut de gamme pour m'assurer de la pérennité de la configuration, il y a des limites, même sous Linux et en étant désormais un joueur plutôt occasionnel.

Je lorgne depuis sur le catalogue des composants et je fais régulièrement des estimations mais je n'ai finalement jamais franchi le pas. La faute à des tarifs stratosphériques et un budget pour l'instant limité.

Mais quand un collègue a proposé sa carte GeForce RTX 2070 d'occasion à 220 €, j'étais 3ème dans la liste d'attente, sans trop y croire, sachant que le rapport qualité/prix me semblait quand même un peu excessif.

Mais finalement mes deux "concurrents" se sont désistés et j'ai décidé de casser la tirelire pour acquérir cette MSI GeForce RTX 2070 AERO 8G en remplacement de ma vénérable MSI GeForce GTX 760 2G, et je l'ai reçue une dizaines de jours plus tard.

MSI GeForce RTX 2070 AERO 8G

Installation initiale et première déception

Je me disais - naïvement - que le remplacement de l'ancienne carte par la nouvelle serait un jeu d'enfant. Au pire les seuls petits embêtements seraient sur le remplacement des pilotes Nvidia 470xx (adaptés à la GeForce 760 mais installables uniquement par AUR) par les derniers pilotes à jour (précompilés).

Mais au premier boot, j'ai un affichage (ouf) mais tiens, impossible d'accéder au setup du BIOS. Bon pas grave, on va le laisser booter normalement et voir ce que ça donne. Au pire le serveur X ne démarre pas et on verra ce qu'on peut faire sur un tty.

Mais en fait non, le boot freeze assez rapidement, et après plusieurs essais à base de reboots forcés, je ne vois pas d'éléments commun dans la trace affichée qui pourrait faire dire "c'est tel service ou telle étape qui semble poser problème. Et évidemment impossible de switcher sur un tty pour en savoir plus. Bon. On va booter sur un système Archlinux Live et voir si on peut en savoir plus.

Mais le boot sur la clé est impossible, et pour cause : le système ne la voit simplement pas ! Et toujours impossible d'accéder au setup du BIOS pour en savoir plus.

Là je commence à voir le point commun des 2 problèmes : les ports USB. Je tente alors de brancher un clavier PS/2, et je constate vite que lui fonctionne sans problème. Ah.

En observant la carte graphique je vois qu'elle possède un port USB-C et en me renseignant je vois qu'il est présent depuis cette série de cartes pour brancher les casques de réalités virtuelles (VirtualLink). OK, mais je suppute que ce soit le coupable qui fout la brouille avec les ports USB de ma carte mère et les masque/désactive totalement au boot.

Le panneau arrière de la carte graphique, avec le port USB-C visible en bas à droite

Je trouve justement quelqu'un qui mentionne ce problème précis sur le forum MSI avec cette combinaison de matériel, mais la conclusion est désespérante :

Connecting the keyboard via the PS/2 port worked fine in my particular case. I'm using one of those old USB to PS/2 keyboard adapters (purple color coding) that where shipped with every keyboard back in the days. This solution might not work for other people who don't just have plain&cheap keyboard.

A BIOS update would have been a potential option, there is indeed a newer BIOS available. However, no need to risk bricking the mainboard when I can fix the issue that simple.

Quelles sont mes options à ce moment-là ?

  1. Tenter de désactiver ce rogntudju de port USB-C dont je n'ai que faire.
  2. Voir si une mise à jour du BIOS de ma carte mère est disponible pour corriger ce comportement.
  3. Acheter un hub USB 16 ports et brancher tous mes périphériques sur le port USB-C de la carte graphique.
  4. Pleurer.
  5. Noyer ma frustration dans le fromage (c'est bon le fromage).

Pour le 1 je vois vite que c'est mort. Il n'y a pas de "setup" de VBIOS, donc rien à configurer ou désactiver. Et passer par un flashage me semble vraiment une action de dernier recours.

Pour le point 2 c'est un peu différent : je suis effectivement sur la version F6 du BIOS et il existe une version F7, mais :

  • Elle est sortie à peine quelques mois après la F6, et toujours en 2014, donc loin des problématiques des nouvelles génération de cartes graphiques avec VirtualLink (environ 2017-2018).
  • Elle ne mentionne dans les release notes (si on peut appeler ça comme ça...) qu'une "amélioration de la prise en charge des processeurs K*" (soit : les processeurs Intel avec coefficient multiplicateur de fréquence débloqué). Rien à voir avec la choucroute ici.

Pour le point 3, c'est presque une blague. Je ne vais pas faire ça même si ça avait une chance de marcher, faut pas déconner.

Pour les points 4 et 5, j'ai essayé mais même si ça aide, ça n'a pas résolu le problème bizarrement.

Les options sont donc réduites, et les espoirs ténus ! Ah oui, et pour flasher le BIOS il va bien falloir que je puisse accéder à un périphérique USB sur lequel j'aurais déposé la version F7. Donc pour cela il me faut remettre (au moins temporairement) l'ancienne carte. J'en profiterai pour confirmer comme suspecté que dans ce cas les ports USB remarchent immédiatement. Et c'est le cas.

Flashage de BIOS et croisage de doigts 🤞

L'opération se déroule sans accrocs (ouf) et je peux rebooter, pour me retrouver avec le message "No bootable device" qui remplace l'affichage du GRUB. 😕

OK, alors on va tenter le boot sur un Archlinux Live (qu'on va mettre à jour au préalable car celui que j'avais datait de 2021), puis réinstaller le GRUB depuis un chroot. Du classique sur Arch quoi.

Ouf, une fois ceci fait, le système boote correctement et fonctionne toujours avec l'ancienne carte. Je laisse passer 48h avant de remettre les mains dans le cambouis (ça permettra aussi de vérifier la stabilité de la machine avec le nouveau BIOS).

Nouvel arrêt, puis re-remplacement de la carte - sans trop y croire j'avoue - et boot à nouveau... en laissant quand même branché le clavier PS/2 "de secours".

Ô Miracle. Le clavier et la souris fonctionnent à présent dès le setup ! 🎉

Mais la mise à jour a pété toutes mes configs custom dans le BIOS qu'il faut que je... retrouve. Je me souviens notamment d'un point critique sur lequel un mode "Auto" m'avait valu quelques suées quand j'avais monté la config en 2014.

Après quelques minutes, je tente le premier boot complet sur le système en place... mais même s'il semble "aller plus loin", le démarrage freeze et refuse d'aller plus loin. Pas plus d'accès aux tty non plus1. Mais... cette fois-ci en tapant un bon vieux Ctrl+Alt+Del, le système reboote proprement. Il y a donc du mieux et ce n'est pas réellement un crash.

Mise à jour des pilotes

Essayons dans ce cas le mode sans échec, heu le runlevel 1, non le mode rescue.target de systemd. Ah oui. Une fois sur le menu du GRUB, on presse E pour passer en mode édition de l'entrée courante puis on cherche la ligne linux ... et on ajoute systemd.unit=rescue.target à la fin (et on enlève quiet si présent pour avoir une meilleure vue sur les étapes). Puis Ctrl+X pour booter.

Mais... pas mieux. Ça freeze toujours et pas plus de console disponible.

Ok, tentons alors le mode emergency dans ce cas.

Ah, là j'ai bien une console, c'est rassurant. Bon après on est tellement tôt dans le processus de boot que c'est difficile de faire quoi que ce soit ici. Autant repasser par un chroot depuis ma clé Arch Live (mode flemme).

Une fois dans le chroot, c'est parti pour le remplacement des pilotes au pied de biche : on supprime d'abord tous les packages nvidia-470xx... et on installe à la place les packages à jour, soit : nvidia, nvidia-utils, nvidia-settings et lib32-nvidia-utils.

pacman -Rd nvidia-470xx nvidia-470xx-dkms nvidia-470xx-utils nvidia-470xx-settings lib32-nvidia-470xx-utils
pacman -S nvidia nvidia-utils nvidia-settings lib32-nvidia-utils

Le flag d est nécessaire dans la première commande pour éviter les erreurs de dépendances (notamment Vulkan et Steam qui nécessitent ces pilotes).

C'est un peu long avec un ADSL de campagne (déménagement oblige) mais on arrive au bout avec un peu de patience.

Une fois terminé, on reboote et là : boum, ça marche et l'invite de login de lightdm s'affiche comme avant. Ah si, il y a juste XFCE qui s'est un peu mélangé les pédales et ne retrouve pas la bonne config d'affichage sur mon dual-screen mais c'est réglé en 30 secondes.

Allons maintenant tester ce petit monstre qui serait apparemment 300% plus puissant que son prédécesseur... 🎮


  1. J'ai réalisé après-coup que c'est un compromis de stabilité que j'avais trouvé et moi-même mis en place pour contourner un problème lié au modeset des drivers Nvidia et à la présence d'un second GPU puisque l'iGPU d'Intel est activé sur mon système. ↩︎