nvidia problème de luminosité du rétroéclairage

8

Problème

Unity montre le contrôle pendant que j'appuie sur la luminosité Fn + Augmenter / Diminuer, mais rien ne se passe. Dans la luminosité de la console ne fonctionne pas trop pendant que le serveur X est en cours d'exécution.

Solutions vérifiées

J'ai essayé TOUTES LES solutions POSSIBLES de ce problème dans google et rien ne fonctionne:

  1. écrire acpi_backlight dans grub
  2. réinstaller les pilotes avec apt purge nvidia *
  3. écrire "EnableBrightnessControl = 1" dans xorg.conf
  4. installer nvidia-375.66, nvidia-378.13, 381.22, 384.47
  5. "xbacklight -set X" ne fonctionne pas
  6. changement / sys / classe / rétro-éclairage / luminosité
  7. mettre à jour le noyau linux de 4.8 à 4.10 et 4.12
  8. remplacer l'EDID de l'ancienne matrice (il casse tout)
  9. setpci -v -H1 -s 00: 01.0 3e.W = 0, puis modifiez le rétroéclairage à l'aide des touches Fn +.
  10. xrandr - sortie DP-0 - luminosité 0,5 --- mauvaise solution

Mon système et ma situation

J'ai utilisé la matrice d'affichage N173HHE-G32 dans mon ordinateur portable avant et tout était OK. Mais aujourd'hui, je l'ai remplacé par B173HAN01.2 et ce problème a commencé. Sur Windows 10, je l'ai résolu en réinstallant les pilotes sur nvidia-376 à partir du site Web officiel de MSI.

Donc, je peux voir la séquence suivante: au démarrage de l'ordinateur portable, la luminosité est maximale, puis elle est minimale (et fonctionne) pendant que le texte "initramfs ..." s'affiche dans la console. Et après le démarrage du serveur X, la luminosité est à nouveau maximale (cassée). Lorsque le serveur X s'arrête, la luminosité fonctionne à nouveau!

MSI GT73VR 7RF, Ubuntu 16.04.2 LTS, NVidia GeForce GTX1080, B173HAN01.2 display matrix

uname -a 
4.8.0-58-generic #63~16.04.1-Ubuntu SMP Mon Jun 26 18:08:51 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

lspci | grep -i vga
01:00.0 VGA compatible controller: NVIDIA Corporation Device 1be0 (rev a1)

Toutefois!

Mais quand j'utilise nvidia-378, cela FONCTIONNE ! Malheureusement, 378 a un bogue critique après le mode suspension dans l'interface Unity: (((

Aidez-moi, mes yeux sont dans le sang (c'est très brillant pour eux) et je ne sais pas quoi faire ...

Mise à jour! Après deux ans, j'ai compris que le problème était à l'intérieur de lightdm (ou serveur X). Quand j'arrête tout va bien ...

Max Tkachenko
la source
Le meilleur cours est peut-être le pilote 378 et la correction des bogues de suspension / reprise avec lui. Quels sont les bugs?
WinEunuuchs2Unix
Bugs avec l'interface Unity - quelques artefacts autour des bordures des fenêtres et des menus. Il y a une description - bugs.launchpad.net/ubuntu/+source/unity/+bug/1675597
Max Tkachenko
Je pense que quelqu'un a dit il y a un mois ou deux que cela avait été corrigé dans la version 381 ou quelque chose comme ça. Je pense que c'est askubuntu.com/users/15811/rinzwind qui l'a dit mais askubuntu.com/users/167850/pilot6 est, je crois, un autre expert.
WinEunuuchs2Unix
1
Le bug avec la suspension est corrigé, mais le rétro-éclairage ne fonctionne pas :( j'ai essayé 381..et bien d'autres versions ..
Max Tkachenko
Pouvez-vous mettre à jour votre question avec la sortie de:for i in /sys/class/backlight/*; do echo $i; cat $i/brightness; cat $i/actual_brightness; cat $i/max_brightness; done
WinEunuuchs2Unix

Réponses:

8

Mise à jour du 16 juin 2019

Le mois dernier, 2 ans après le signalement du problème, OP a découvert que LightDM (Ubuntu Unity Desktop Manager) était la source du problème. Cela dit, en plus de la liste ci-dessous, il existe un autre grubparamètre qui peut être essayé:

video.use_native_backlight=1

Voir cette réponse pour en savoir plus.


Réponse originale

La référence ultime semble être dans Arch Linux qui est un site auquel je me suis tourné à plusieurs reprises pour résoudre des problèmes difficiles.

Paramètres du noyau

En regardant votre cat /proc/cmdlineil n'y a pas de paramètres de noyau supplémentaires passés. Le lien ci-dessus indique:

Parfois, ACPI ne fonctionne pas bien en raison des différentes implémentations de la carte mère et des bizarreries d'ACPI. Cela inclut certains ordinateurs portables avec double carte graphique (par exemple, GPU dédié Nvidia / Radeon avec GPU intégré Intel / AMD). Sur les ordinateurs portables Nvidia Optimus, le nomodeset des paramètres du noyau peut interférer avec la possibilité d'ajuster le rétro-éclairage. De plus, ACPI doit parfois enregistrer le sien acpi_video0 backlightmême s'il en existe déjà un (comme intel_backlight), ce qui peut être fait en ajoutant l'un des paramètres de noyau suivants:

acpi_backlight=video
acpi_backlight=vendor
acpi_backlight=native

Si vous constatez que la modification du acpi_video0rétroéclairage ne modifie pas réellement la luminosité, vous devrez peut-être utiliser acpi_backlight=none.

Essayez chacune des acpi_backlight=xxxxoptions de votre ligne de paramètres de noyau grub

Quand xbacklightça ne marche pas

Vous avez xbacklightdéjà essayé et le lien ci-dessus résout ce problème:

Sur certains systèmes, les touches de raccourci de luminosité de votre clavier modifient correctement les valeurs de l'interface acpi dans /sys/class/backlight/acpi_video0/actual_brightness( comme nous l'avons essayé dans les commentaires ) mais la luminosité de l'écran n'est pas modifiée. Les applets Brigthness des environnements de bureau (c'est-à-dire la barre de défilement des paramètres de luminosité d'Ubuntu ) peuvent également afficher des modifications sans effet.

Si vous avez testé les paramètres de noyau recommandés et ne xbacklightfonctionne que, vous pouvez être confronté à une incompatibilité entre votre BIOS et le pilote du noyau.

Dans ce cas, la seule solution consiste à attendre un correctif du fabricant du pilote BIOS ou GPU.

Une solution de contournement consiste à utiliser l' inotifyAPI du noyau pour déclencher à xbacklightchaque fois la valeur des /sys/class/backlight/acpi_video0/actual_brightnessmodifications.

Installez d'abord les outils inotify. Créez ensuite un script autour d'inotify qui sera lancé à chaque démarrage ou via le démarrage automatique.

Voici le script que vous devez créer, appelé: /usr/local/bin/xbacklightmon

#!/bin/sh

path=/sys/class/backlight/acpi_video0

luminance() {
    read -r level < "$path"/actual_brightness
    factor=$((100 / max))
    printf '%d\n' "$((level * factor))"
}

read -r max < "$path"/max_brightness

xbacklight -set "$(luminance)"

inotifywait -me modify --format '' "$path"/actual_brightness | while read; do
    xbacklight -set "$(luminance)"
done

Il y a beaucoup plus dans le lien ci-dessus mais ces étapes sont un bon point de départ.


Forums dédiés

Pour une assistance supplémentaire, il existe des forums graphiques Linux dédiés:

WinEunuuchs2Unix
la source
Merci pour une si grande réponse! 1) Essayez chacune des options acpi_backlight = xxxx sur votre ligne de paramètres de noyau grub --- oui, je l'ai essayé plusieurs fois sans résultat.
Max Tkachenko
Malheureusement, xbacklight ne fonctionne pas trop :(
Max Tkachenko
Je pense que c'est un bug de pilotes .. et j'ai besoin de quelqu'un de l'équipe de développement nvidia :)
Max Tkachenko
Si je me souviens bien, l'équipe nVidia qui travaillait normalement sur le pilote Linux vient de changer, et il se peut qu'il n'y ait plus le même support Linux dans les jours à venir.
ben-Nabiy Derush
@ ben-NabiyDerush Je me souviens que l'année dernière, Nvidia a lancé un forum spécifiquement destiné à découvrir les problèmes rencontrés par les utilisateurs et à travailler avec eux pour les résoudre. Linux était leur objectif, je crois. Je suis retourné chercher le forum aujourd'hui mais je ne l'ai pas trouvé. J'ai cependant trouvé deux autres forums de support et mis à jour la réponse avec eux.
WinEunuuchs2Unix
2

Salut, je m'excuse si c'est quelque chose que les gens intelligents ont déjà écarté, car je suis loin d'être familier avec la ligne de commande, mais après une réinstallation, j'ai rencontré ce problème et toutes les solutions ci-dessus n'ont pas fonctionné pour moi (MSI pe706QE nvidia 960m) ).

Je montais /etc/default/grubpar:

gksudo 'insert editor of choice not in quotes' /etc/default/grub

et nomodesetj'ai remarqué qu'il se trouvait toujours au bas du fichier (je ne me souviens pas l'avoir ajouté de façon permanente) et l'ai supprimé.

enregistrez le fichier et exécutez:

sudo update-grub 

tous fonctionnent à nouveau avec les touches de raccourci #noobie échouent, espérons que cela puisse aider quelqu'un.

Trésor
la source
2

J'ai un ordinateur portable Sony VPCEH, j'ai eu le même problème. J'ai essayé cette solution qui a fonctionné pour moi:  http://ubuntuforums.org/showthread.php?t=2221452#6 Brièvement: Avec les privilèges root, créez le fichier /usr/share/X11/xorg.conf.d/20- nvidia.conf avec le contenu suivant

Section "Device" Identifier "Device0" Driver "nvidia" VendorName "NVIDIA Corporation" BoardName "GeForce 410M" Option "RegistryDwords" "EnableBrightnessControl = 1" EndSection

Déconnectez-vous et reconnectez-vous pour tester. Et il ajoute doucement: "Si quelque chose ne va pas, supprimez simplement ce fichier et redémarrez pour récupérer le système." Mais je n'avais pas besoin de cet ajout. Après la déconnexion et la connexion, le contrôle de la luminosité a recommencé à fonctionner. J'espère que ça vous aide aussi ...

ou celui-ci après fonctionne avec ubuntu 16.04 sous mon portable sony VPCEJ2C5E mais avec nvidia 378.13 je n'ai pas pour le moment utilisé les drivers 390.25.

J'ai pu faire fonctionner mes touches de luminosité sur mon Lenovo W530 sur Ubuntu 12.04. De nos jours, X se configure automatiquement, donc la création d'un fichier xorg.conf peut rendre votre système inflexible. Au lieu de cela, vous pouvez ajouter une section à un fichier dans /usr/share/X11/xorg.conf.d/ et X inclura cette section dans la configuration qu'il génère automatiquement. Donc, pour que les touches de luminosité de l'écran fonctionnent avec votre carte graphique Nvidia, créez un fichier dans le répertoire xorg.conf.d, par exemple: sudo gedit /usr/share/X11/xorg.conf.d/10-nvidia-brightness.conf Collez ce qui suit dans le fichier:

Section "Device" Identifier "Device0" Driver "nvidia" VendorName "NVIDIA Corporation" BoardName "Quadro K1000M" Option "RegistryDwords" "EnableBrightnessControl = 1" EndSection

Déconnectez-vous et reconnectez-vous, ou redémarrez, et vos touches de luminosité devraient maintenant fonctionner!

entrez la description de l'image ici

Ubuntu1304XFCE
la source
2

Par wineunuuchs2unix demande », je reposter ma réponse à une question similaire ici.

Essayer acpi_osi=

Lors de la mise à niveau vers Bionic il y a quelques jours, j'ai rencontré un problème similaire (j'ai un NVIDIA GeForce GTX 1060 Mobile, mais pour moi il /sys/class/backlightapparaît comme vide).

En travaillant à travers la procédure de débogage du rétroéclairage , j'ai découvert une solution de contournement via les paramètres du noyau:

  • Dans "Logiciels et mises à jour" → "Pilotes supplémentaires", assurez-vous que vous avez nvidia-driver-396(ou quel que soit le métapaquet en cours; 396 est le dernier au moment de la rédaction) sélectionné.
  • Modifiez /etc/default/gruben exécutant la commande sudo nano /etc/default/grub(en remplaçant éventuellement nanovotre éditeur préféré).
  • Trouvez la ligne qui définit GRUB_CMDLINE_LINUX_DEFAULTet ajoutez acpi_osi=à la fin à l'intérieur des guillemets. Sur la plupart des systèmes, cela vous laissera une lecture de ligne GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi=".
  • Enregistrez et quittez l'éditeur.
  • Exécutez la commande sudo update-grubet redémarrez.

(Si ces étapes ne fonctionnent pas, restaurez vos paramètres en répétant le processus, mais en les supprimant acpi_osi=lorsque vous modifiez la configuration GRUB.)

Une autre solution de contournement, si c'est une option pour vous, est de passer à un noyau principal . En particulier, je ne vois pas le problème sous la version 4.17 du noyau principal.

(Bug signalé ici .)

Client
la source
1
malheureusement, cela n'aide pas :(
Max Tkachenko
1

clonez ce dépôt et collez le script backlight.shdans /bin. puis rendez-le exécutable et ensuite ouvrez un terminal racine et exécutez la commande suivante.

sudo backlight.sh "brightness-level-number".

pour cloner le référentiel,

git clone https://github.com/el-beth/backlight.sh.git

endrias
la source
Je vous remercie! Malheureusement, il utilise "echo $ 1> / sys / class / backlight / 0 / luminosité;" et c'est la même chose que j'ai écrit ci-dessous "6. changer / sys / classe / rétro-éclairage / luminosité"
Max Tkachenko
ce n'est pas /sys/class/backlight/0/brightnessle bon chemin est/sys/class/backlight/acpi_video0/brightness
endrias
ou un autre chemin similaire pour les systèmes dotés d'un matériel graphique spécialisé.
endrias
En tout cas ça ne marche pas :(
Max Tkachenko
1

Vous pouvez installer le package de la commande xbacklight dans le terminal:

sudo apt-get install --reinstall xbacklight

Après l'installation, vous pouvez utiliser la commande xbacklight comme suit:

xbacklight -inc 20 # augmenter le rétroéclairage de 20%

xbacklight -dec 30 # diminution de 30%

xbacklight -set 80 # réglé à 80% de la valeur maximale

xbacklight -get # récupère le niveau actuel

La commande xbacklight devrait fonctionner de cette façon.

dschinn1001
la source
1
Désolé, mais xbacklight dans la liste des solutions vérifiées .. Cela ne fonctionne pas :(
Max Tkachenko
1

un programme pour résoudre tout ce problème !!!

j'ai le bureau GTX 1060 6Gb Ubuntu 16.04

PAS besoin de faire quoi que ce soit, installez simplement le contrôleur de luminosité avec le ppa:

https://launchpad.net/~apandada1/+archive/ubuntu/brightness-controller/

résolu le problème pour moi (voir les captures d'écran) mais il est en conflit avec redshift, vous devez donc supprimer redshift

vous pouvez l'ajouter au démarrage pour une utilisation pratique

Go MasterZero
la source
1
Merci pour votre réponse. Mais je pense que ce n'est pas la bonne chose, le texte provient du site: "C'est un gradateur logiciel". Ce n'est pas le contrôle de la puissance de votre rétroéclairage, c'est seulement une solution logicielle avec des courbes RVB :( Je vais l'essayer un peu plus tard.
Max Tkachenko
essayez-le, cela fonctionne vraiment :)
Go MasterZero
Je l'ai testé. Comme je l'ai dit, c'est une solution logicielle, elle n'économise pas la batterie et endommage la couleur de l'image. xrandr --output DP-0 --brightness $ VALUE --- faites la même chose.
Max Tkachenko
merci pour vos commentaires, une interface graphique est toujours agréable à avoir cependant
Go MasterZero
1

J'ai finalement corrigé cela et aucune des solutions en ligne que l'affiche originale répertoriée ne fonctionnait pour moi non plus. Ce qui a résolu le problème allait dans / etc / default / grub et dans la ligne: GRUB_CMDLINE_LINUX_DEFAULT

Ajouter :

"acpi_osi ="

Mais n'utilisez pas non plus "nomodeset" dessus. Ppl a ajouté un nomodeset à l'origine pour résoudre le problème de rendu logiciel, mais cela fait que Linux ne reconnaît pas les pilotes Nvidia.

Enfin, assurez-vous d'aller dans le gestionnaire de pilotes du menu Démarrer de Linux et de mettre à jour vos pilotes Nvidia vers 430 ou plus récents.

Stephen Wong
la source