Impossible d'utiliser/désinstaller les drivers nvidia

Bonjour,

Contexte

J'ai installé arch linux (avec kde plasma) sur mon pc portable et ai installé les drivers pour intel et nvidia a l'installation.

Récemment, j'ai essayé de lancer un ou deux jeux compatibles nativement avec linux pour tester, et il s'avère que j'ai une sorte de latence d'input de 1sec (curseur de souris comprise). Je ne sais pas d'où elle vient et n'est probablement pas en relation, mais des fois que ça pourrait aider, je le mets ici quand même

J'ai donc décidé de regarder quelle est la carte graphique utilisée pour lancer le programme, et c'est a ce moment que je me suis rendu compte que je n'avais pas de "manager" (genre optimus) pour gérer les cartes graphiques.

Mon problème

Quelque soit le pilote (open source ou propriétaire), je n'arrive pas à changer la carte graphique utilisée, je n'arrive pas non plus à désinstaller le driver pour essayer de le réinstaller autrement.

Auriez-vous une idée pour résoudre ce problème, ou au moins savoir si il se trouve réellement où je pense ?
Si vous avez besoin de quoi que ce soit en plus (résultats de terminal par exemple), n'hésitez pas à demander !

Merci par avance et bonne journée !
Sylver Wolf

3 réponses

  1. Modérateur
    Bonjour,

    Pour voir quel pilote est chargé par ton serveur graphique (
    xorg
    ) tu peux regarder le résultat de :

    grep LoadModule /var/log/Xorg.0.log


    Cette commande liste tous les modules (dont ceux pour la carte vidéo) chargés par
    xorg
    .

    Il faut connaître un peu les noms de modules, mais en gros dans ton cas c'est :
    • glamoregl
      (sans doute) pour la carte intel
    • nouveau
      (pilote libre) ou
      nvidia
      (pilote propriétaire) pour la carte Nvidia. Le pilote
      nvidia
      est plus performant mais propriétaire. Tu peux aussi contrôler avec
      lsmod
      lequel est chargé. Si les deux sont installés,
      nvidia
      prendra le pas sur
      nouveau
      .
      • Si tu utilises un secure boot (voir dans le BIOS), il faudra signer le module
        nvidia
        sans quoi le noyau refusera de le charger (voir ce lien).


    Concernant primus / bumblebee je pense que tu peux laisser de côté au début : essaye déjà de faire marcher l'un des deux pilotes pour la carte Nvidia (
    nouveau
    ou
    nvidia
    ). Hormis l'installation qui est spécifique à Debian, tu peux t'inspirer de cette page.

    Bonne chance
    0
    1. Bonjour,

      Merci beaucoup pour cette réponse rapide,

      Voici les résultats de la commande :
      grep LoadModule /var/log/Xorg.0.log

      [ 4.745] (II) LoadModule: "glx"
      [ 4.758] (II) LoadModule: "intel"
      [ 4.759] (II) LoadModule: "nvidia"
      [ 4.777] (II) LoadModule: "nouveau"
      [ 4.777] (II) LoadModule: "nv"
      [ 4.778] (II) LoadModule: "modesetting"
      [ 4.784] (II) LoadModule: "fbdev"
      [ 4.785] (II) LoadModule: "vesa"
      [ 4.794] (II) LoadModule: "fb"
      [ 4.794] (II) LoadModule: "wfb"
      [ 4.796] (II) LoadModule: "ramdac"
      [ 4.798] (II) LoadModule: "glamoregl"
      [ 5.595] (II) LoadModule: "fb"
      [ 5.595] (II) LoadModule: "glxserver_nvidia"
      [ 5.881] (II) LoadModule: "dri2"
      [ 6.009] (II) LoadModule: "libinput"
      [ 6.592] (II) LoadModule: "synaptics"


      Il semble donc que les drivers pour nvidia et intel sois tout deux présents, je suis donc un peu perdu...y'a t'il un moyen de savoir quel est le processeur graphique utilisé par un programme en particulier par exemple ?

      le secure boot n'est pas activé, et tant que le sujet est la, rapidement, j'ai déjà cherché il y'a un moment, quel est l'intéret d'activer le secure boot, ou bien comment faire pour l'utiliser avec linux (au dela du lien posté pour signer le module de la carte graphique), mais n'ai rien trouvé. Es'ce que je pourais avoir une ou deux piste (histoire de ne pas trop dévier du sujet originel du post) pour trouver ces infos ?

      Pour le dernier point, comment fais t'on pour indiquer quelle carte graphique utiliser sans ces logiciels ?

      Merci beaucoup et bonne journée,
      Sylver Wolf
      0
      1. Modérateur
        Bonjour,

        Il semble donc que les drivers pour nvidia et intel sois tout deux présents, je suis donc un peu perdu...y'a t'il un moyen de savoir quel est le processeur graphique utilisé par un programme en particulier par exemple ?

        En fait la commande que j'ai donné liste les modules chargés par xorg au démarrage et il les charge tous. Du coup, il faut voir
        /var/log/Xorg.0.log
        plus dans le détail.

        Exemple : Voici à quoi ressemblent les lignes intéressantes sur mon PC. On voit clairement que c'est
        glamoregl
        qui est chargé.

        [     6.087] (II) Loading /usr/lib/xorg/modules/libglamoregl.so
        [ 6.096] (II) Module glamoregl: vendor="X.Org Foundation"
        [ 6.096] compiled for 1.21.1.3, module version = 1.0.1
        [ 6.096] ABI class: X.Org ANSI C Emulation, version 0.4
        [ 6.474] (II) modeset(0): glamor X acceleration enabled on Mesa Intel(R) HD Graphics 620 (KBL GT2)
        [ 6.474] (II) modeset(0): glamor initialized


        Ensuite le fait que plusieurs modules soient chargés n'est pas choquant. C'est même nécessaire si à terme tu veux utiliser des solutions comme
        bumblebee
        .

        Le secure boot n'est pas activé, et tant que le sujet est la, rapidement, j'ai déjà cherché il y'a un moment, quel est l'intéret d'activer le secure boot

        Le secure boot permet comme son nom l'indique de sécuriser le démarrage de ton PC en n'autorisant le démarrage que sur des OS enregistrés proprement dans la partition EFI de ton disque dur. C'est une manière d'éviter qu'un petit malin contourne tes mots de passe avec un live USB par exemple (si tes partitions ne sont pas chiffrées). Côté Linux, le secure boot impose que les modules (~ les drivers) soient correctement signés également, sinon le noyau Linux refusera de les charger. Cela n'a pas d'impact sur les drivers précompilés livré avec ton noyau Linux, mais impacte tous les pilotes que tu pourrais être amené à compiler.

        En particulier, le pilote
        nvidia
        s'installe au travers du paquet
        xorg-xserver-video-nvidia
        qui installe en cascade
        nvidia-kernel-dkms
        . Or tous les paquets
        *-dkms
        servent à compiler et déployer un module.

        Tu peux parfaitement vivre sans secure boot si tu juges que cette protection est superflue. D'ailleurs, il n'est apparu qu'il y a quelques années et n'est donc pas les cartes mères antérieures.

        Donc, si ta carte mère supporte permet d'activer le secure boot, c'est à toi de voir si tu souhaites l'activer ou pas.
        • Sur les installations récentes, tu n'as pas vraiment le choix, tu dois souvent l'activer, car Windows est préinstallé et refuse de se lancer sans secure boot.
        • Côté Linux, il est parfaitement possible de rendre ton Linux compatible avec le secure boot si tu l'as installé sans (il suffit d'installer le paquet
          grub-efi-amd64
          , par exemple en lançant
          sudo apt install grub-efi-amd64
          ). Il faudra également signer tous les modules que tu as compilés, et ce à chaque à mise à jour du noyau (paquet
          linux-image-*
          ). Tout ceci est détaillé dans cette fiche, mais si tu as d'autres questions à ce sujet, n'hésite pas.


        Pour le dernier point, comment fais t'on pour indiquer quelle carte graphique utiliser sans ces logiciels ?

        Par défaut,
        xorg
        choisira le pilote le plus performant (donc
        nvidia
        sera prioritaire sur
        nouveau
        , lui même prioritaire sur les pilotes intel). Cependant, ce comportement par défaut peut être gênant si on veut préserver la batterie.

        bumblebee
        répond à ce problème : par défaut, les applications sollicitent la carte intel, et seules les cartes lancées au travers de la commande
        optirun
        sollicitent la carte Nvidia. Pour plus de détails, je te renvois à ce lien.

        Bonne chance
        0