[Luminosité] ul80vt Brightness de l'écran (solution)

Questions et astuces concernant l'installation et la configuration d'archlinux
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17596
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

[Luminosité] ul80vt Brightness de l'écran (solution)

Message par benjarobin »

Bonjour,

Je possède un asus ul80vt, j'ai désactiver la carte nvidia (car inutilisable pour l'instant) et j'utilise la carte intel.
Tout marche très bien sauf les touches de luminosité... J'ai constaté que l'action des touches et tous autres événements (KDE par exemple : oui je suis assez fou pour mettre KDE dessus) modifiaient les fichiers /sys/devices/virtual/backlight/acpi_video*/brightness

De plus j'ai suivit les explications de ce lien pour interagir a bas niveau et donc changer la luminosité (brightness) : http://bbs.archlinux.org/viewtopic.php?id=74914

Ne voulant pas juste re-binder les touches de changement de la luminosité vers un script, j'ai pondu ceci (attention c'est assez bourrin, mais cela marche...) J'avais bien tenter d'utiliser fsniper pour être plus propre, mais uniquement les modifications faite par KDE étaient remarquées (Pourquoi, je ne sais pas trop : ce ne doit pas vraiment être des fichiers...)

Voila donc la solution:

Code : Tout sélectionner

#!/bin/bash

#/sys/devices/virtual/backlight/acpi_video*/brightness

brightness=12 #Allowed value between 0 and 15

while true; do
	brightnessTmp=$(cat /sys/devices/virtual/backlight/acpi_video0/brightness)
	if [ $brightnessTmp -ne $brightness ] ; then
		brightness=$brightnessTmp
		echo $brightness > /sys/devices/virtual/backlight/acpi_video1/brightness
		
		case $brightness in
			0)
				setpci -s 00:02.0 F4.B=6
				;;
			1)
				setpci -s 00:02.0 F4.B=17
				;;
			2)
                                setpci -s 00:02.0 F4.B=27
                                ;;
			3)
                                setpci -s 00:02.0 F4.B=38
                                ;;
			4)
                                setpci -s 00:02.0 F4.B=48
                                ;;
			5)
                                setpci -s 00:02.0 F4.B=59
                                ;;
			6)
                                setpci -s 00:02.0 F4.B=6A
                                ;;
			7)
                                setpci -s 00:02.0 F4.B=7A
                                ;;
			8)
                                setpci -s 00:02.0 F4.B=8B
                                ;;
			9)
                                setpci -s 00:02.0 F4.B=9B
                                ;;
			10)
                                setpci -s 00:02.0 F4.B=AC
                                ;;
			11)
                                setpci -s 00:02.0 F4.B=BD
                                ;;
			12)
                                setpci -s 00:02.0 F4.B=CD
                                ;;
			13)
                                setpci -s 00:02.0 F4.B=DE
                                ;;
			14)
                                setpci -s 00:02.0 F4.B=EE
                                ;;
			15)
                                setpci -s 00:02.0 F4.B=FF
                                ;;
			*)
                                setpci -s 00:02.0 F4.B=CD
                                ;;
		esac
	fi
	sleep 2
done
Et le daemon:

Code : Tout sélectionner

#!/bin/bash

. /etc/rc.conf
. /etc/rc.d/functions

case "$1" in
  start)
    stat_busy "Starting BrightnessWatcher Daemon"
    /usr/bin/brightnessWatcher & >/dev/null 2>/dev/null
    add_daemon brightnessWatcherd
    stat_done
    ;;
  stop)
    stat_busy "Stopping BrightnessWatcher Daemon"
    killall brightnessWatcher >/dev/null 2>/dev/null
    rm_daemon brightnessWatcherd
    stat_done
    ;;
  restart)
    $0 stop
    sleep 1
    $0 start
    ;;
  *)
    echo "usage: $0 {start|stop|restart}"  
esac
exit 0
Toute suggestion est la bienvenue
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Cactus
Maître du Kyudo
Messages : 2073
Inscription : sam. 16 sept. 2006, 10:39
Localisation : 31 - Toulouse Nord

Re: [Luminosité] ul80vt Brightness de l'écran (solution)

Message par Cactus »

Là où je suis étonné quand même, c'est que sur des vieux portables (comme mon Dell Inspiron 8600 de 2004), la luminosité est gérée par le bios, donc elle peut être indépendante de l'OS, et peut être modifiée directement via les touches de fonctions prédéfinies.
Etrange que cette fonctionnalité basique ait disparu... m'enfin, plus rien ne m'étonne. :roll:
tuXor
Hankyu
Messages : 14
Inscription : mar. 06 juil. 2010, 15:23

Re: [Luminosité] ul80vt Brightness de l'écran (solution)

Message par tuXor »

Ayant un asus ul30vt je me suis confronté au même soucis, j'ai simplement fait un petit script bash que j'utilise comme ceci : "sh script +" pour augmenter la luminosité ou "sh script -" j'ai bindé la commande sur mes touches et hop :

Code : Tout sélectionner

#!/bin/bash
file=$HOME/.lumino
med=99
if [ -f $file ]
then
        l=$(cat $file)
else
        echo $med > $file
        l=$med
fi

case "$1" in
"+")
        l=$(( $l + 5 ))
        [ $l -gt 99 ] && l=99
        ;;
"-")
        l=$(( $l - 5 ))
        [ $l -lt 4 ] && l=4
        ;;
esac
echo $l
sudo setpci -s 00:02.0 F4.B=$l
echo $l > $file

Mais tu es obligé de coller setpci dans /etc/sudoers

Sinon via l'acpi en modifiant le fichier /etc/acpi/handler.sh :

Code : Tout sélectionner

hotkey)
        event="$2"\ "$3"
        case "$event" in
            "ATKD 0000002"*) 
            acpi_fakekey $KEY_BRIGHTNESSDOWN
            brightness=`echo $3 | sed 's/0000002//'`
            setpci -s 00:02.0 F4.B=${brightness}f
            ;;
            "ATKD 0000001"*) 
            acpi_fakekey $KEY_BRIGHTNESSUP
            brightness=`echo $3 | sed 's/0000001//'`
            setpci -s 00:02.0 F4.B=${brightness}f
            ;;
        esac
        ;;

J'espère t'avoir aidé, sinon je sais pas si tu es au courant mais la carte nvidia est fonctionnelle suffit de modifier l'option sata du bios. Regarde http://wiki.archlinux.fr/howto/laptop/asus-ul30vt
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17596
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Luminosité] ul80vt Brightness de l'écran (solution)

Message par benjarobin »

Oui en effet j'avais pensé a cette solution, mais malheureusement la configuration de la luminosité de KDE et les profiles de gestion d’énergie n'ont aucun effet...

Sinon pour la solution pour la carte nvidia je ne peux pas car j'utilise aussi Windows et il n’apprécie pas vraiment... De plus sous ArchLinux il ne trouvait plus la partition racine pourtant configuré avec des UUID... Bref plus rien ne fonctionnait. Et sous ArchLinux la carte intel fonctionne très bien, la 3D aussi, j'ai tous les effets de KDE sans aucun ralentissement. Bon je n'ai pas essayé de décoder de vidéo HD aussi, ce serait un bon test...

Edit: Avec cette vidéo http://www.bigbuckbunny.org/index.php/download/ H264 1080p J'ai une charge de 50-60% sur les 2 cœurs... (Je vais tester youtube, je crains le pire en HD)

Edit2: Cette vidéo http://www.youtube.com/watch?v=N0m1XmvB ... PL&index=0 en 720p prend environ 65-75% sur les 2 cœurs. Par contre en 1080p je suis a 100% et cela freeze pas mal...

En résumé je suis très étonné, ayant un processeur a 1.3GHz... Flash aurait fait beaucoup de progrès ? (Je suis en 32 bits avec la dernière version) Donc ne contant pas jouer du tout sur ce PC je ne vois pas l’intérêt de la carte nvidia.
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Répondre