Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 09/02/2012, à 22:25

rsuinux

luminosité portable revient toujours au maximum

bonjour;

Suite à divers problèmes de carte video sur portable, traités sur ce forum dans la conversation concernant les cartes sous optimus, (http://forum.ubuntu-fr.org/viewtopic.php?id=565321&p=49 message 1211 entre autre, et suivant) je redémarre une discution pour ceux que cela interessent, et qui, peut être, ont une solution.
Rappel des faits, (chez moi):
portable asus x53s carte video intel + nvidia, gestion optimus par bumblebee 3.0 sans soucis particulier, ubuntu 11.10 sous xfce.
Quand je baisse la luminosité de l'écran au minimum, au bout de quelques secondes, celle ci repasse à 50% 'comme si elle était encore à 100%'
Le constat: 3 fichiers donnent des indications ->

root@unimatrice0:/home/remi/bin# cat /sys/class/backlight/intel_backlight/actual_brightness 
4882
root@unimatrice0:/home/remi/bin# cat /sys/class/backlight/acpi_video0/actual_brightness 
10
root@unimatrice0:/home/remi/bin# cat /sys/class/backlight/acpi_video1/actual_brightness 
10

Ce sont les valeurs par defaut. Pour les modifier, il faut faire comme ceci:

echo 1220 > /sys/class/backlight/intel_backlight/brightness
echo 5 > /sys/class/acpi_video0/brightness

la carte video1 est la carte nvidia, tant qu'on ne l'utilise pas, pas la peine de modifier la valeur.
J'ai tenté de faire ces modifications à la main, mais au bout de 30 secondes (environ) d'inactivité, la valeur dans  /sys/class/backlight/intel_backlight/actual_brightness repasse à 4482 . Mais les autres ne change pas!
Je me suis donc résolu à faire un script et une tache cron sous root pour remettre toujours les valeurs à 1220 mais ca marche moyen (cron nelance la tache QUE toutes les munites au minimum...)
Voila la ligne crontab:

*/1 * * * * /usr/local/sbin/brightness.sh

et voila le script /usr/local/sbin/brightness.sh

#!/bin/bash
# --------------------------------------
# R. Suinot Le 09 fev 2012
# --------------------------------------

ROOT=0
if [[ $EUID -ne $ROOT ]]; then
   echo "This script must be run as root" 1>&2
   exit 1
fi
INTEL=1220
VIDEO0=5
actual_intel=$(cat /sys/class/backlight/intel_backlight/actual_brightness)
actual_video0=$(cat /sys/class/backlight/acpi_video0/actual_brightness)
echo "video0= $actual_video0"
echo "intel= $actual_intel"

if [ $actual_video0 -ne $VIDEO0 ]
then
#    echo "video0 plus grand que $VIDEO0"
    echo "$VIDEO0" > /sys/class/backlight/acpi_video0/brightness
fi
if [ $actual_intel -ne $INTEL ]
then
#    echo "intel plus grand que $INTEL"
    echo "$INTEL" > /sys/class/backlight/intel_backlight/brightness
fi
exit 0

C'est pas optimisé, c'est pas documenté, mais c'est pas compliqué non plus...

Si quelqu'un a une meilleur idée, je suis preneur, en attendant de faire un module noyau si vraiment ça marche pas assez bien!

R.Suinot

Dernière modification par rsuinux (Le 09/02/2012, à 22:30)


Si tu ne sais pas: demande; si tu sais: partage!

Hors ligne