Fichier backlight vide

Résolu
Roronoa.Astrea Messages postés 8 Statut Membre -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Depuis que j'ai installé les pilotes nécessaires à ma carte graphique nvidia je ne peux plus régler la luminosité.
À présent après avoir testé plusieurs solutions qui n'ont pas marché, je me retrouve avec mon fichier
/sys/class/backlight
vide, plus de dossier
acpi_video0
, et la barre de luminosité de mon écran a disparu.

J'ai déjà essayé
  • différents acpi_backlight dans le grub (vendor, native, video, none, ça n'a rien changé)(native me mettait juste la barre dans le menu pour changer la luminosité mais plus maintenant et de plus elle ne modifiait rien, juste je voyais la valeur actual_brightness changer mais l'écran gardait la même luminosité),
  • le paquet
    xbacklight
    ne marche pas,
  • changer la luminosité via brightness quand j'avais encore le dossier
    backlight
    ,
  • j'ai crée un fichier
    /etc/X11/xorg.conf
    parce que j'en n'avais pas, au final c'est après l'avoir configuré que j'ai perdu le dossier
    backlight
    .


Voilà j'ai pas trop d'idée de comment faire et d'où ça pourrait venir, de comment récupérer mon fichier
backlight
...

(J'ai une seule carte graphique nvidia GeFroce GTX 1060)

Merci :)!

4 réponses

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    Bonjour,

    J'ai l'impression que ton pilote nvidia est mal installé. Il serait bien de commencer par nous indiquer quelle distribution Linux tu utilises.

    Dans l'idée, une carte nvidia peut être gérée par deux pilotes :
    nouveau
    (le pilote libre) et
    nvidia
    (le pilote propriétaire). À moins que tu aies des besoins particulier (machine learning, jeu, etc.) tu as plutôt intérêt à rester avec le pilote
    nouveau
    (et ne pas installer
    nvidia
    ). Si les deux sont installés,
    nvidia
    sera chargé en priorité. Si de plus tu as une carte graphique en tandem (genre une carte vidéo Intel), cela te fait un total de trois pilotes candidats pour prendre en charge l'affichage.

    En fonction du pilote chargé (voir
    lsmod | egrep "nvidia|nouveau"
    ), le répertoire
    /sys
    sera peuplé différemment. Ce sont des fichiers virtuels, qui n'ont pas d'existence sur ton disque dur. Le fait de lire ou écrire dedans déclenche des opérations auprès du pilote adéquat. Il est donc normal que cette arborescence dépende du pilote utilisé.

    Une fois les pilotes chargé, le serveur graphique (en anglais : graphics server ou en abrégé X server), dans ton cas Xorg (X11) se charge, comme son nom l'indique, d'afficher le mode graphique. Ton environnement graphique (gnome, kde...) est alors chargé dans ce serveur X et leur widgets liés au matériel (notamment le contrôle de la luminosité) permettent d'interagir avec les fichiers exposés dans
    /proc
    et
    /sys
    .

    Sous debian et les distributions qui en dérivent, il s'installe avec la commande
    sudo apt install xserver-xorg-video-nouveau
    . Si tu souhaites installer le pilote nvidia, la manière propre consiste non pas à récupérer le script fourni sur le site de nvidia, mais encore une fois à passer par
    apt
    :
    sudo apt install xserver-xorg-video-nouveau
    . De manière générale, tu dois passer autant que possible par ton gestionnaire de paquets (
    apt
    dans mon exemple) pour installer/désinstaller/mettre à jour tes logiciels.

    Enfin, selon ton installation, il faut savoir que le pilote nvidia peut ne pas être chargé si tu utilises un noyau (kernel en anglais) récent et que tu as un secure boot. Dans ce cas, un message d'erreur l'indiquera explicitement dans
    /var/log/messages
    (voir
     sudo grep -i nvidia /var/log/messages
    ). Si tu es dans cette discussion, je t'invite à lire cette discussion.

    Bonne chance
    0
    1. Roronoa.Astrea Messages postés 8 Statut Membre
       
      Bonjour!
      Merci pour toutes ces informations ^^!

      Ma distribution Linux est Ubuntu 20.04.2 LTS, j'ai changé le pilote nouveau pour celui de NVIDIA correspondant à ma carte graphique GeForce GTX 1060 parce que nouveau ne me permettait pas de bien utiliser le logiciel 3D Blender dont j'ai besoin, en effet ça faisait freezer mon ordi. Donc je ne peux vraiment pas garder nouveau, par contre j'ai installé le pilote via l'application Logiciel et mise à jour->Pilotes additionnels.

      J'ai vérifié sudo grep -i nvidia /var/log/messages et je n'ai aucun message d'erreur. Faut-il quand même que je fasse un MOK key ? J'ai pas trop compris ce que c'était :/.

      Devrais-je désinstaller et ré installer mon pilote pour voir ?
      0
  2. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    Donc je ne peux vraiment pas garder nouveau, par contre j'ai installé le pilote via l'application Logiciel et mise à jour->Pilotes additionnels.

    Normalement ça passe par ton gestionnaire de paquets également, donc pas de problème.

    J'ai vérifié sudo grep -i nvidia /var/log/messages et je n'ai aucun message d'erreur. Faut-il quand même que je fasse un MOK key ? J'ai pas trop compris ce que c'était :/.

    En gros, sur les noyaux récents (donc tu es concerné), si la fonctionnalité "Secure boot" est activée dans le BIOS, le noyau ne peut charger que des modules (~ drivers) signés. Ces histoires de MOK servent à signer le module. Si le secure boot n'est pas activé, tu peux signer ton module mais ça n'est pas nécessaire, et il sera alors chargé correctement au démarrage.

    Donc pour trancher, c'est très simple, il suffit de regarder si ton module nvidia est effectivement chargé (copie-colle moi le résultat des commandes qui suivent) :

    lsmod | grep nvidia
    grep -i nvidia /var/log/Xorg.0.log
    nvidia-smi


    Si des lignes apparaissent c'est que c'est bon. Sinon c'est que quelque chose cloche, et dans ce cas il faut regarder ce que racontent :

    sudo modprobe nvidia
    sudo dmesg | tail


    Bonne chance
    0
    1. Roronoa.Astrea Messages postés 8 Statut Membre
       
      D'accord je vois merci :)! Si le Secure boot est activé peut-on le désactiver, si oui est-ce une mauvaise idée de le désactiver et ainsi permettre de charger des noyaux non signés au lieu de les signer avec MOK ?

      lsmod | grep nvidia
      ne renvoie rien,

      grep -i nvidia /var/log/Xorg.0.log
      renvoie :
      [    17.565] (II) NOUVEAU driver for NVIDIA chipset families :


      nvidia-smi
      renvoie :
      NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.


      Merci!
      0
      1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944 > Roronoa.Astrea Messages postés 8 Statut Membre
         
        Tu peux désactiver le secure boot dans le bios, mais si tu as windows qui a été installé en mode secure, tu ne pourras plus le lancer. Ce n'est donc pas un bon calcul si tu es dans cette situation.
        • Si
          lsmod | grep nvidia
          ne renvoie rien, c'est que le module nvidia n'est pas chargé.
        • La seconde commande confirme que c'est
          nouveau
          .
        • La troisième enfin montre confirme il n'y a pas de pilote
          nvidia
          fonctionnel.


        Il faut donc revoir la manière dont tu as installé le pilote nvidia. Si ce module a été compilé, il devrait avoir engendré un module dans
        /lib/modules/
        . Il faut qu'il soit présent dans le sous dossier qui correspond à ta version de noyau (résultat de
        uname -r
        ) donc tu peux vérifier sa présence avec :

        find /lib/modules | grep nvidia
        find /lib/modules/$(uname -r) | grep nvidia


        Si la première commande renvoie un résultat, c'est que tu l'as compilé, mais pas pour le noyau courant. C'est une situation qui arrive typiquement quand le pilote a été installé manuellement (e.g. avec le script nvidia). Dans ce cas il faut relancer le script pour le noyau courant, et redémarrer (ou charger le module nvidia et relancer le serveur X).

        Si les deux commandes échouent c'est que le pilote n'a jamais été installé, typiquement car tu as oublié de le faire ou parce qu'il y a eu une erreur de compilation. La seconde situation a lieu si tu n'as pas installé le nécessaire pour compiler le module (les kernels headers et la version de gcc appropriée). Si tu installes ton pilote nvidia via dkms, tous ces problèmes disparaîtront (c'est comme ça qu'on fait sous debian, la distribution sur laquelle se base ubuntu). Donc je t'invite à chercher si un tel paquet existe sous ubuntu

        apt search nvidia | grep dkms


        D'après cette page on peut voir qu'il faut activer le dépôt "restricted" pour que la dernière version est
        nvidia-dkms-460
        . Donc assure-toi que ce dépôt est activé. Assure-toi que ce module prend en charge ta carte graphique (au besoin, choisis une autre version). Ceci fait, lance :

        sudo apt update
        sudo apt search nvidia


        ... et tu devrais alors voir le paquet en question apparaître. Dès lors tu pourras l'installer :

        sudo apt install nvidia-dkms-460


        Après avoir redémarrer, le module nvidia devrait alors être chargé (vérifie avec
        lsmod
        ).

        Bonne chance
        0
  3. Roronoa.Astrea Messages postés 8 Statut Membre
     
    Merci pour votre aide :D, mon problème est réglé j'ai décidé de désactiver le Secure Boot.

    Je ne sais pas si ça vient de là directement mais en tout cas ça fonctionne à présent, j'avais commencé par désinstaller tous les driver nvidia puis à ré installer celui adéquat avec
    sudo apt install nvidia-dkms-460
    puis reboot, mais ça ne changeait rien.
    lsmod | grep nvidia
    continuait de ne rien me renvoyer,
    grep -i nvidia /var/log/Xorg.0.log
    disait que c'était NOUVEAU d'installé,
    nvidia-smi
    qu'il échouait à communiquer avec le pilote NVIDIA.

    Là la luminosité marche,
    lsmod | grep nvidia
    et
    nvidia-smi
    fonctionnent également, par contre
    grep -i nvidia /var/log/Xorg.0.log
    dit toujours que c'est NOUVEAU d'installé :/.

    Merci pour tout :)!
    0
  4. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    Bonjour,

    Si le secure boot était activé et que ton module nvidia n'était pas signé, c'est normal sur un noyau récent qu'il n'était pas chargé, et cela explique pourquoi
    nouveau
    prenait le relai.

    Si tu veux rétablir le secure boot

    Il suffit de signer ton module (voir le lien sur le forum nvidia) pour voir comment le signer si tu souhaites réactiver le secure boot. Il faudra penser à signer le module à chaque fois que le noyau (paquet
    linux-image-amd64
    ) est mis à jour, après avoir démarré sur ce noyau, puis redémarrer. Une solution pour automatiser ça consisterait à mettre un hook dans dkms.

    Autre possibilité (spécifique à ubuntu) : les paquets
    nvidia-*-no-dkms
    fournissent vraisemblablement un module
    nvidia
    déjà signé.

    À propos de ta remarque sur
    /var/log/Xorg.0.log


    Concernant ton fichier
    /var/log/Xorg.0.log
    , il faudrait voir ce qu'il raconte exactement. Si tu veux plus d'informations, reporte-moi les résultats de :

    egrep -i "nouveau|nvidia" /var/log/Xorg.0.log
    lsmod | egrep "nouveau|nvidia"


    Si
    lsmod | grep nvidia
    , le module nouveau ne peut pas être chargé, car ils sont en conflit. Si de plus
    nvidia-smi
    fonctionne, cela confirme que c'est bien le module
    nvidia
    qui est chargé, car
    nvidia-smi
    n'est pas compatible avec
    nouveau
    . Enfin, le fait que le backlight fonctionne confirme que tu es bien en train d'utiliser un autre pilote.

    Dans l'absolu tu pourrais désinstaller
    nouveau
    (paquet
    xserver-xorg-video-nouveau
    ). Mais à mon avis autant le garder au cas où un jour tu aurais un problème avec le module
    nvidia
    .

    Bonne chance
    0