Newsgroup: it.comp.os.linux.ubuntu
Titolo: Luminosità display a palla?

Salve,
ho installato la 10.04 di Ubuntu su un Acer Extensa5635z. Va tutto bene 
ma la luminosità del display resta invariabilmente al massimo! Sto 
leggendo che è un problema noto e comune, ma si sa di una qualche soluzione?
Grazie.

 ma la luminosità del display resta invariabilmente al massimo!
Come workaround, prova nel bios se puoi regolare la luminosità di
default, a volte c'è questa possibilità.


provato con i tasti funzione a ridurre la luminosità?
provato a vedere su launchpad se qualcuno ha messo qualche utility
tipo  samsung tools per netbook?
http://forum.ubuntu-it.org/index.php?topic=381449.msg2972239;topicseen
prova a vedere se si risolve anche a te con questo sistema

dot ha scritto:

Non conosco il tuo hardware, ma ho sperimentato qualcosa di molto simile
sul mio. Vediamo se ricordo...
Mi serve qualche informazione. Da terminale dai:
$ for file in $(ls /proc/acpi/video/*/LCD/brightness) ; \
  do { echo $file && cat $file && echo ; } ; done
Dovrebbe restituirti qualcosa come:
/proc/acpi/video/IGFX/LCD/brightness
levels:  30 37 44 51 58 65 72 79 86 93 100
current: 100
Se fai qualcosa come (usa il nome del *tuo* file, eh, e un numero basso
che compare a *te*) :
$ echo 37 | sudo dd of=/proc/acpi/video/IGFX/LCD/brightness
La luminosità si abbassa?
Poi, sempre da console:
$ sudo service acpid stop
$ sudo acpid -nl
$ gnome-system-log &
Nell'applicazione grafica che si è aperta seleziona syslog (nella banda a
sinistra) e vai in fondo nella finestra a destra. Ora premi la combinazione
di tasti che dovrebbe diminuire la luminosità, poi quella che dovrebbe
aumentarla. Ciò genera output nel log?
Quale?
Chiudi il visualizzatore di log. Poi, ancora da console:
$ sudo killall acpid
$ sudo service acpid start
-- 
Bye, Lem
Ceterum censeo ISLAM esse delendum
____________________________________________________________________________
Non sprecare i cicli idle della tua CPU: 
http://boinc.berkeley.edu/index.php

 $ echo 37 | sudo dd of=/proc/acpi/video/IGFX/LCD/brightness
Interessante!
Domanda: "Avendo più livelli di luminosità disponibili rispetto a quelli
utilizzati, come posso attivarli?"
Da riga di comando non ci sono problemi. Mi piacerebbe però che
venissero usati anche tramite function keys (Fn+F9 e Fn+F10)...
Grazie!
Armando

 venissero usati anche tramite function keys (Fn+F9 e Fn+F10)...
La pressione delle appropriate combinazioni di tasti genera eventi.
A questi eventi corrispondono script in /etc/acpi/events: tali script
associano azioni agli eventi, richiamando altri script in /etc/acpi. 
Per esempio da me gli eventi sono video_brightnessdown e video_brightnessup,
a cui corrispondono gli script /etc/acpi/video_brightnessdown e
/etc/video/video_brightnessup, che richiamano gli script d'azione
/etc/acpi/video_brightnessdown.sh e /etc/acpivideo_brightnessup.sh.
Da te potrebbero essere diversi eventi e script, ma il meccanismo è
rimane lo stesso.
Quali sono da te gli eventi? Lo vedi in syslog, come descritto nel mio
precedente messaggio. Dagli eventi risali a tutto il resto, visitando
/etc/acpi/events e poi /etc/acpi.
Una volta appurati tutti i dettagli, sono gli script d'azione, quelli
in /etc/acpi, a dover essere modificati.
La loro struttura è alquanto autoesemplificativa, direi. Ecco qui l'esempio
del mio /etc/acpi/video_brightnessup.sh:
#!/bin/bash
CURRENT=$(grep "current:" /proc/acpi/video/IGFX/LCD/brightness |awk '{print $2}')
case "$CURRENT" in
100)
echo -n 100 > /proc/acpi/video/IGFX/LCD/brightness;
;;
93)
echo -n 100 > /proc/acpi/video/IGFX/LCD/brightness;
;;
86)
echo -n 93 > /proc/acpi/video/IGFX/LCD/brightness;
;;
79)
echo -n 86 > /proc/acpi/video/IGFX/LCD/brightness;
;;
72)
echo -n 79 > /proc/acpi/video/IGFX/LCD/brightness;
;;
65)
echo -n 72 > /proc/acpi/video/IGFX/LCD/brightness;
;;
58)
echo -n 65 > /proc/acpi/video/IGFX/LCD/brightness;
;;
51)
echo -n 58 > /proc/acpi/video/IGFX/LCD/brightness;
;;
44)
echo -n 51 > /proc/acpi/video/IGFX/LCD/brightness;
;;
37)
echo -n 44 > /proc/acpi/video/IGFX/LCD/brightness;
;;
30)
echo -n 37 > /proc/acpi/video/IGFX/LCD/brightness;
;;
*)
echo -n 100 > /proc/acpi/video/IGFX/LCD/brightness ;
;;
esac
Ovviamente vanno costruiti in base ai valori di luminosità permessi.


 venissero usati anche tramite function keys (Fn+F9 e Fn+F10)...
La pressione delle appropriate combinazioni di tasti genera eventi.
A questi eventi corrispondono script in /etc/acpi/events: tali script
associano azioni agli eventi, richiamando altri script in /etc/acpi.
Per esempio da me gli eventi sono video_brightnessdown e
video_brightnessup, a cui corrispondono gli script
/etc/acpi/events/video_brightnessdown e /etc/acpi/events/video_brightnessup,
che richiamano gli script d'azione /etc/acpi/video_brightnessdown.sh e
/etc/acpi/video_brightnessup.sh.





-- 


 
Ti ringrazio. Purtroppo nel mio caso il sistema è più complicato.
Se eseguo da terminale lo script che forse è invocato dalla combinazione
di tasti la luminosità decresce di un livello alla volta come
desiderato. Se invece uso la comb. tasti scende di due livelli alla
volta come se fosse invocato un altro script o lo stesso per due volte o
comunque lo script non eseguito da terminale non funziona a dovere...
Ciao
Armando

Adesso faccio una prova: modifico lo script che credo sia invocato
partendo dal tuo ed adattandolo con le dovute modifiche...
Armando

Modificando lo script non cambia nulla.
Lo script eseguito manualmente funziona a dovere. Quindi è invocato un
altro script (non presente in /etc/acpi).

 volta come se fosse invocato un altro script o lo stesso per due volte
Bravo. Ti sei dato la risposta più probabile da solo.
Che cosa succede se sono attive due istanze di acpid contemporaneamente?
Lo script viene eseguito due volte, e la luminosità si sposta di due
livelli.
ps aux |grep " acpid"|grep -v grep
Che output ti dà?


 Che output ti dà?
root      1031  0.0  0.0   4420  1160 ?        Ss   00:57   0:00 acpid
-c /etc/acpi/events -s /var/run/acpid.socket
Temo quindi non sia il problema sospettato.
Armando

 Temo quindi non sia il problema sospettato.
Facciamo ancora qualche tentativo.
In un terminale dai il comando:
acpi_listen
Poi premi le combinazioni di tasti della luminosità, una alla volta.
Nel terminale dovrebbero mostrartisi in output gli eventi generati.
Quanti eventi per ogni pressione?


 Quanti eventi per ogni pressione?
Uno.
Come posso risalire allo script realmente invocato?
Grazie ancora
Armando

 Come posso risalire allo script realmente invocato?
In realtà credo di aver già accennato in precedenza a come funzioni il
meccanismo.
In /etc/acpi/events ci sono degli script, ognuno dei quali serve a
intercettare una combinazione di tasti e a richiamare il corrispettivo
script d'azione. Le combinazioni di tasti sono intercettate da:
event=evento generato dalla combinazione di tasti
e le azioni sono richiamate con:
action=/etc/acpi/script_d'azione.sh
Devi quindi trovare lo script in /etc/acpi/events che intercetta l'evento
che sai tu, il cui nome ti è stato rivelato da acpi_listen.
Basta greppare, non è difficile. Altrimenti leggili. Il nome stesso del file,
spesso, richiama il nome dell'evento. :)
In realtà gli eventi sono due, uno per aumentare la luminosità e uno per
diminuirla, quindi gli script saranno due, come pure le azioni.


 spesso, richiama il nome dell'evento. :)
E' proprio quello che ho fatto.
Mi spiego meglio...
L'evento riportato da acpi_listen (video C1AD 00000087 00000000) non
corrisponde ad alcun file con lo stesso nome in /etc/acpi/events.
Quindi ho pensato di considerare il contenuto del file
/etc/acpi/events/asus-brightness-down (o up) per risalire allo script da
controllare ed eventualmente modificare, non avendo trovato altri file
in events con nome legato in qualche modo alla luminosità del display.
(Il mio portatile non è un Asus ma un Hp).
Se eseguo manualmente lo script /etc/acpi/asus-brn-down.sh (o up.sh) la
luminosità cambia come previsto.
Temo però che la gestione della luminosità non si affidi a questo sistema.
Ciao
Armando

 E' proprio quello che ho fatto.
Ma neanche il metodo che ho descritto ancora prima funziona?
sudo service acpid stop
sudo acpid -nl
Premi la combinazione di tasti, e dai subito:
tail /var/log/syslog
Altrimenti, invece di tail, usi l'applicazione grafica lanciandola con
gnome-system-log &
Leggi quale script è eseguito, o quali sono eseguiti. 
Una volta fatto, per ripristinare la situazione di partenza:
sudo killall acpid
sudo service acpid start


 Leggi quale script è eseguito, o quali sono eseguiti. 
L'output di tail è il seguente:
Jul  4 22:47:35 armando-laptop acpid: received input layer event
"video/brightnessdown BRTDN 00000087 00000000"
Jul  4 22:47:35 armando-laptop acpid: notifying client 1092[0:0]
Jul  4 22:47:35 armando-laptop acpid: completed input layer event
"video/brightnessdown BRTDN 00000087 00000000"
armando@armando-laptop:/etc/acpi/events$ ls
ac                    asus-wireless-on   sony-mute         tosh-mail
asus-brightness-down  battery            sony-sleep        tosh-media
asus-brightness-up    ibm-wireless       sony-volume-down  tosh-next
asus-f8sv-touchpad    lenovo-touchpad    sony-volume-up    tosh-play
asus-media-eject      lenovo-undock      thinkpad-cmos     tosh-prev
asus-rotate           lidbtn             tosh-battery      tosh-stop
asus-touchpad         panasonic-lockbtn  tosh-hibernate    tosh-wireless
asus-video            powerbtn           tosh-ibutton      tosh-www
asus-wireless-off     sleepbtn           tosh-lock         videobtn
Quale file devo considerare?
Ciao
Armando

Ho appena notato che dopo killall acpid con Fn+F8 o Fn+F9 controllo
ancora la luminosità.
Il sistema di gestione è diverso nel mio caso...
Armando

 Il sistema di gestione è diverso nel mio caso...
Vedo. Ho solo un po' di considerazioni da fare.
a) L'output del tuo log è uguale a quello che ottenevo io quando i miei tasti
luminosità *non* funzionavano, e cioè prima che mi scrivessi gli script in
/etc/acpi/events e in /etc/acpi. Eppure a te i tasti funzionano comunque,
anche se non è richiamata alcuna azione. BTW: ora che mi son scritto gli
script, e che i tasti funzionano anche a me, il mio output invece è:
lem@lappybaby:~$ tail /var/log/syslog
[...]
Jul  5 11:48:20 lappybaby acpid: received input layer event "video/brightnessdown BRTDN 00000087 00000000"
Jul  5 11:48:20 lappybaby acpid: notifying client 1441[0:0]
Jul  5 11:48:20 lappybaby acpid: executing action "/etc/acpi/video_brightnessdown.sh"
Jul  5 11:48:20 lappybaby acpid: action exited with status 0
Jul  5 11:48:20 lappybaby acpid: completed input layer event "video/brightnessdown BRTDN 00000087 00000000"
b) Il fatto, per di più, che funzionino anche se killi ogni istanza di acpid
rende palese, come tu hai scritto, che ci sia anche un meccanismo diverso di
controllo: ed è quello, non acpid, che attualmente ti regola la luminosità.
Son quindi d'accordo con te.
*Anche* acpid potrebbe funzionare benissimo, basterebbe scriversi
uno script di tre righe in /etc/acpi/events, ma non prima di aver individuato
ed eliminato l'altro meccanismo di controllo. Che sia implementato in HW?
Non trovi proprio nulla su Google? Anche il mio laptop è un HP, un 6735s,
ma evidentemente son parecchio diversi.
c) Gli eventi restituiti da acpi_listen e dal log sono per te *diversi*, e
questo per me è assolutamente incomprensibile, a meno che tu abbia sbagliato
a pigiare tasto.
Ma tanto non è acpid il problema principale. Il problema è capire che cosa
sta lavorando al posto di acpid.
Un po' di cose, visto che siamo in tema, così esaurisco quel che so.
Per vedere lo stato della luminosità del monitor, è carino usare anche:
grep . /sys/class/backlight/acpi_video0/*
Invece altri due valori importanti per la luminosità sono questi:
grep -i brightness /usr/share/acpi-support/key-constants
Attraverso acpi si può cambiare luminosità coi comandi (eseguiti come root),
magari inseriti in uno script:
acpi_fakekey $KEY_BRIGHTNESSDOWN
acpi_fakekey $KEY_BRIGHTNESSUP
Buona fortuna! :)
