Fichier backlight vide [Résolu]

Signaler
Messages postés
8
Date d'inscription
dimanche 7 février 2021
Statut
Membre
Dernière intervention
18 février 2021
-
Messages postés
29583
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
21 février 2021
-
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

Messages postés
29583
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
21 février 2021
7 033
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
Messages postés
8
Date d'inscription
dimanche 7 février 2021
Statut
Membre
Dernière intervention
18 février 2021

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 ?
Messages postés
29583
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
21 février 2021
7 033
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
Messages postés
8
Date d'inscription
dimanche 7 février 2021
Statut
Membre
Dernière intervention
18 février 2021

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!
Messages postés
29583
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
21 février 2021
7 033 >
Messages postés
8
Date d'inscription
dimanche 7 février 2021
Statut
Membre
Dernière intervention
18 février 2021

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
Messages postés
8
Date d'inscription
dimanche 7 février 2021
Statut
Membre
Dernière intervention
18 février 2021

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 :)!
Messages postés
29583
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
21 février 2021
7 033
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