web-dev-qa-db-fra.com

Ubuntu 14.04 Problème de luminosité avec nvidia Quadro

Je suis récemment passé de Ubuntu 13.10 à 14.04. Tout va bien, sauf la luminosité de mon écran d'ordinateur portable. Lorsque je change la luminosité, l’écran ne répond tout simplement pas. J'ai pensé qu'il s'agissait d'un problème de pilote graphique, mais le problème persiste après la mise à jour et la réinstallation de tous les pilotes nvidia. C'est plutôt méchant, car l'écran est maintenant réglé en permanence sur le réglage le plus sombre, ce qui rend presque impossible de voir quoi que ce soit.

J'ai également essayé la solution proposée ici: buntu 14.04 - problème de luminosité dans un ordinateur portable hybride HP mais, malheureusement, cela n'a pas aidé non plus.

J'ai un HP Elitebook 8560w, avec un nvidia Quadro 1000M et j'utilise les derniers pilotes nvidia-current disponibles dans le référentiel apt-get

Pour mémoire, j’ai essayé des pilotes expérimentaux nvidia, qui ont par conséquent planté tout mon système d’exploitation. Par conséquent, j'ai réinstallé 14.04 proprement, mais ce problème persiste toujours

11
danielvdende

C'est probablement un bug avec les pilotes> 304 qui existe depuis un moment:

Selon ces rapports de bogue, la seule solution consiste à revenir à une version de pilote <= 304.

3
kos

Pas une solution mais plutôt une solution de contournement.

Il devrait y avoir un fichier /sys/class/backlight/acpi_video0/brightness

Dans ce fichier, vous avez une valeur décimale particulière qui correspond à la luminosité.

Maintenant, lorsque j'utilise l'environnement de bureau openbox, ma clé fn ne fonctionne pas, c'est pourquoi j'utilise le script suivant pour le définir:

#!/bin/mksh
printf " \n Entering file to change brightness in 3 seconds\n remember - no new line after number.  ";
sleep 3;
Sudo nano /sys/class/backlight/acpi_video0/brightness

Maintenant, vous voudrez peut-être vérifier le dossier /sys/class/backlight pour vous assurer que vous avez bien le fichier acpi_video0. Il peut être nommé différemment pour votre système

Je vais relier une question askubuntu pertinente si vous êtes intéressé par diverses solutions de contournement pour le réglage de la luminosité

Mettre à jour

J'ai écrit un autre script qui utilise zenity (interface graphique pour les scripts) et xrandr, avec un raccourci sur le bureau.

Les outils dont vous avez besoin

  • xrandr (devrait être installé par défaut, ne me citez pas dessus) et connaissant le nom de votre écran
  • zenity (devrait être installé par défaut, ne me citez pas dessus)
  • raccourci sur le bureau backlight.desktop

Raccourci sur le bureau

Créez le fichier backlight.desktop sur votre bureau et rendez-le exécutable avec Sudo chmod a+x ~/Desktop/backlight.desktop. (Notez que vous pouvez vouloir le rendre exécutable avec rightclick -> propriétés et également permettre l'exécution de fichiers texte en tant qu'exécutables dans Nautilus -> Édition-> Propriétés-> Comportement).

[Desktop Entry]
Type=Application
Exec=/usr/bin/backlightscript
Terminal=false
Icon=/usr/share/icons/HighContrast/16x16/status/display-brightness.p
ng

Remarque, la partie icône est facultative.

Le script

Placez ce fichier dans le dossier /usr/bin, appelez-le backlightscript

#!/bin/sh
# Name: backlightscript
# Author: Serg Kolo
# Date: March 2 , 2015
# Description: Simple script to change screen brightness using xrandr

# uncomment this for debugging as needed
# set -x

NEWVAL=$( zenity --scale --min-value=0 --max-value=7 --text="Enter number between 0 and 7" ) && brightness=$(($NEWVAL+2))

if [ $(echo $?) = 0  ]
  then
    xrandr --output LVDS --brightness 0.$brightness

fi

Explication du script

J'ai trouvé que la luminosité optimale est comprise entre 0,2 et 0,9. Si vous passez en dessous de 0.2 ou 1, l'écran devient trop sombre ou trop clair. Dans ce script, l'utilisateur clique deux fois sur le raccourci backlight.desktop, qui appelle une fenêtre contextuelle graphique avec une échelle. L'utilisateur sélectionne alors la luminosité nécessaire de 0 à 7. Cette valeur est incrémentée de 2 (max = 7 + 2 = 9 et min est 0 + 2 = 2) et stocké dans la variable de luminosité. Cette variable devient alors la valeur après le point décimal pour xrandr --output LVDS --brightness 0.$brightness.

Le bloc if-then est utilisé pour tester si l'utilisateur a réellement sélectionné quelque chose. Sans cela, xrandr mettra la luminosité à 0. Dans ce cas, vous ne verrez rien sur votre écran, même sur tty1, et vous devrez soit redémarrer, soit faire. Alt+SYSRQ+R+E+I+S+U+B

Remarque , que xrandr est une solution logicielle et non matérielle, c’est-à-dire que vous ne modifiez pas directement la luminosité de l’écran.

À quoi ça devrait ressembler

enter image description here

Note sur xrandr Exécutez xrandr sans aucun argument pour déterminer votre affichage principal connecté

Mon exemple

Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192
VGA-0 disconnected (normal left inverted right x axis y axis)
LVDS connected primary 1366x768+0+0 (normal left inverted right x axis y axis) 344mm x 193mm
   1366x768       60.0*+
   1280x720       59.9  
   1152x768       59.8  
   1024x768       59.9  
   800x600        59.9  
   848x480        59.7  
   720x480        59.7  
   640x480        59.4  

Sources

2
Sergiy Kolodyazhnyy

Je l’ai fait fonctionner sur un Lenovo W510 avec une Quadro FX 880M en créant /usr/share/X11/xorg.conf.d/20-nvidia.conf avec le contenu suivant:

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

Après le redémarrage, mes commandes de luminosité fonctionnent correctement.

1
trolley

Enfin, il est corrigé avec le dernier pilote qui a été publié par Nvidia avec la date de publication: 2017.5.4 et son numéro de version: 375.66

Notes de mise à jour comprenant l'explication suivante:

Correction d'un bug qui empêchait la luminosité du rétro-éclairage de contrôler certains ordinateurs portables dotés de panneaux internes DisplayPort.

0
regex