Impossibile modificare la luminosità in un laptop Lenovo


43

I tasti di regolazione della luminosità < Fn+ / > non hanno alcun effetto (anche se sono riconosciuti dall'ambiente) e non posso modificare la luminosità utilizzando anche gli strumenti della GUI. Questo sembra un problema nello stesso Linux, non nell'ambiente desktop.

Posso cambiare la luminosità nel sistema operativo Windows, quindi non è un tipo di errore hardware.

Dettagli:
          Lenovo B570 (Nome modello: 20093)
          Scheda grafica Intel HD integrata
          Kubuntu 11.04 (Linux 2.6.38-10-generico, KDE 4.7.0), tutto aggiornato
          Nessun driver grafico proprietario (solo uno Wi-Fi)

Cosa ho provato:

  • Modifica /etc/default/grubGRUB_CMDLINE_LINUX_DEFAULT: acpi_osi=Linux, acpi_backlight=vendor, nomodeset. E sì, l'ho fattoupdate-grub
  • Modifica /etc/X11/xorg.conf(nessun file simile, anche dopo sudo dpkg-reconfigure xserver-xorg)
  • Modifica /proc/acpi/video/VGA/LCD/brightness(nessun file simile)
  • sudo setpci -s 00:02.0 F4.B=XX (nessun effetto)
  • xbacklight -set XX(" No outputs have backlight property")

Come posso risolvere questo problema?


1
Questo problema è stato risolto in Ubuntu 11.10!
Oleh Prypin,

5
Questo sembra nuovamente rotto in Ubuntu 12.04.
Mittenchops,

E Ubuntu 16.04 ancora.
Diego,

Risposte:


10

Prova questo . Ha funzionato per il mio Ubuntu 14, Lenovo B570, Intel Graphics.

Apri un terminale e crea il seguente file di configurazione, se non esiste:

sudo touch /usr/share/X11/xorg.conf.d/20-intel.conf

Ora dobbiamo modificare questo file. Puoi usare qualsiasi editor sia esso terminale o grafico.

sudo gedit /usr/share/X11/xorg.conf.d/20-intel.conf

Aggiungi le seguenti righe a questo file:

Section "Device"
        Identifier  "card0"
        Driver      "intel"
        Option      "Backlight"  "intel_backlight"
        BusID       "PCI:0:2:0"

EndSection

Salvarla. Disconnettersi e riconnettersi.


Grazie - Funzionava anche su un Netbook Samsung N220 con Intel Graphics integrata (GMA 3150) con Xubuntu 15.04 "vivid"
Andrew

1
No, quello che ha ucciso la mia X. ha dovuto rimuovere di nuovo il file nella console di ripristino.
towi,

Questo non ha funzionato su Lenovo P500.
Galeno,

2
Questo ha funzionato per me su un Thinkpad T460 con Ubuntu 17.04, dovevo solo disconnettermi e quindi accedere.
Elliot Gorokhovsky,

Per controllare l'ID del bus PCI eseguito lspci -nn. Detto questo, questo non ha funzionato per me in un Thinkpad E490.
Enrico,

38

Se gli strumenti della GUI non funzionano, provare a utilizzare il terminale per esso.

  1. Apri un terminale

  2. Run: ls /sys/class/backlight/*/brightness. Esempio di output sarebbe:

    /sys/class/backlight/acpi_video0/brightness
    
  3. Se non viene trovato nulla, il kernel non supporta il controllo della luminosità (driver mancanti?). Altrimenti, è possibile utilizzare i comandi seguenti (sostituire di acpi_video0conseguenza):

    • Ottieni il livello di luminosità corrente:

      cat /sys/class/backlight/acpi_video0/brightness
      
    • Ottieni il massimo livello di luminosità:

      cat /sys/class/backlight/acpi_video0/max_brightness
      

    Questi comandi restituiscono livelli di luminosità che vanno da zero a max_brightness (vedi sopra).

  4. Per modificare il livello di luminosità, è necessario scrivere un numero nel brightnessfile. Questo non può essere fatto da un editor come gedit. Dì che vuoi cambiare la luminosità a 5, devi eseguire:

    echo 5 | sudo tee /sys/class/backlight/acpi_video0/brightness
    

    In alternativa, se si desidera solo impostare il livello di luminosità sul massimo disponibile:

    sudo tee /sys/class/backlight/acpi_video0/brightness < /sys/class/backlight/acpi_video0/max_brightness
    

5
Sicuramente ci sono alcuni problemi con i driver! Se questa roba da riga di comando funzionasse, funzionerebbe anche la GUI. Ma ovviamente non funziona - _
Oleh Prypin,

@Lekensteyn: [non ha funzionato, usando Ubuntu 11.04] - Ho provato molto ma non ha funzionato in tempo reale. Intendi quando cambiando questo mostrerà dal vivo o dopo il riavvio?

2
I cambiamenti sono in tempo reale.
Lekensteyn,

Anche da superutente non ho potuto cambiare il livello di luminosità usando tee. Perché potrebbe essere?
Galeno,

@Galen Se non hai commesso un errore nella scrittura del file, potrebbe trattarsi di un problema specifico del modello. Prova a segnalarlo come bug o cerca il tuo modello di laptop e "retroilluminazione linux".
Lekensteyn,

10
  1. Installa linux-kamal-mjgbacklight- una patch per il kernel Linux.

    • Controlla se funzionerà per te: dovrebbe apparire
      lsmod | grep ^i915
      qualcosa di simile i915 331519 3. Se non c'è output, questo non funzionerà.
    • sudo add-apt-repository ppa:kamalmostafa/linux-kamal-mjgbacklight
    • Installa aggiornamenti ( sudo apt-get update; sudo apt-get upgrade)
  2. Reboot.

  3. Ora puoi utilizzare il terminale per regolare la luminosità, come suggerito da Lekensteyn .
    Se per te è OK cambiare luminosità con il terminale + sudo, questa è la fine della risposta.
    Se sei su un desktop GNOME, la luminosità potrebbe persino funzionare già completamente.

  4. Scarica il mio script di modifica della luminosità , consenti l'esecuzione e inseriscilo in / usr / local / bin / :
    wget -O brightness http://ideone.com/plain/yPlo5
    chmod +x brightness
    sudo mv brightness /usr/local/bin

  5. Dobbiamo consentire la modifica del file di luminosità, in modo che sudonon sia necessario ovunque.
    Inoltre, vogliamo che l'impostazione della luminosità si ripristini all'impostazione precedente all'avvio del sistema (purtroppo non viene salvata per impostazione predefinita).

    Lo brightnessscript menzionato può gestirlo tutto (con restoreparametro), basta aggiungerlo ad autorun.
    Per fare ciò modificheremo /etc/rc.local ( sudo nano /etc/rc.localo qualsiasi editor invece di nano).
    Aggiungi la seguente riga prima della exit 0riga:
    /usr/local/bin/brightness restore

  6. È meglio riavviare ora.

  7. Quindi la brightnesssceneggiatura funziona. Puoi andare al terminal in qualsiasi momento e digitare questi:

    • brightness - ottenere le impostazioni di luminosità correnti
    • brightness value- imposta la luminosità su valore
    • brightness inc step, - aumenta o diminuisce la luminosità passo dopo passo (se non è specificato, viene utilizzato un valore predefinito dal file di configurazione, di solito il 10% della luminosità massima)brightness dec step
  8. Ora potresti voler mappare il cambiamento di luminosità sui tuoi tasti di scelta rapida.

    • Impostare XF86BrightnessUp subrightness inc
    • Impostare XF86BrightnessDown subrightness dec
  9. Se vuoi modificare qualcosa, assicurati di guardare /etc/bx_brightness.conf
    Puoi cambiare il passo con cui la luminosità è cambiata con brightness inc/dec


Grazie a Toz per il suo prezioso aiuto in questo thread .


1
Questo non è più necessario in Ubuntu 11.10
Oleh Prypin,

4

Penso di aver trovato un effetto semplice e minimo sul modo in cui esistevano le cose per regolare intel_backlight usando le regole udev.

Ho notato l'azione "modifica" del sottosistema "retroilluminazione" quando premo Fn+ Up/ Downsul mio notebook Lenovo G360 con kernel 3.2. Quindi ho scritto una regola /etc/udev/rules.d/99-writeintelbacklight.rulescome di seguito:

ACTION=="change", SUBSYSTEM=="backlight", RUN+="/usr/sbin/writeintelbacklight.sh"

Rendi lo script della shell /usr/sbin/writeintelbacklight.shcontenente:

#!/bin/bash

intelmaxbrightness=`cat /sys/class/backlight/intel_backlight/max_brightness`
acpimaxbrightness=`cat /sys/class/backlight/acpi_video0/max_brightness`
scale=`expr $intelmaxbrightness / $acpimaxbrightness`
acpibrightness=`cat /sys/class/backlight/acpi_video0/brightness`
newintelbrightness=`expr $acpibrightness \* $scale`
curintelbrightness=`cat /sys/class/backlight/intel_backlight/actual_brightness`
if [ "$newintelbrightness" -ne "$curintelbrightness" ]
then
  echo $newintelbrightness > /sys/class/backlight/intel_backlight/brightness
fi
exit 0

Certo, devi fare un sudo chmod +x /usr/sbin/writeintelbacklight.sh.


1
Aggiunto "acpi_backlight = vendor acpi_osi = linux video.brightness_switch_enabled = 1" nei parametri del kernel di boot di grub, "Fn + Up / Down" per cambiare il funzionamento funziona sul mio G360. Non è necessario scrivere regole Udev come sopra.
littlebat,

Sembra che aggiungere solo un parametro del kernel "acpi_backlight = vendor" funzioni anche sul mio G360 ora. Tuttavia, entrambi i metodi per aggiungere parametri del kernel smetteranno di funzionare di tanto in tanto. I dettagli del mio caso vedono: Bug 44809 - [Retroilluminazione Arrandale] La luminosità tramite RANDR non ha alcun effetto su Sony VAIO VPCYA1V9E: bugs.freedesktop.org/show_bug.cgi?id=44809
littlebat

4

Questo non farà funzionare i tuoi tasti Fn, ma sarai in grado di assegnare qualsiasi altro tasto per regolare la luminosità.

Ho provato diverse di queste soluzioni, ma nulla ha funzionato per me fino a quando non ho trovato questo piccolo programma indicatore http://codevanrohde.nl/wordpress/?p=128 . Con esso è possibile impostare i tasti di scelta rapida per controllare la luminosità, utilizzare la rotellina del mouse o selezionare da un elenco a discesa nell'indicatore. Ho sostituito 'Fn' con 'Win + Alt' che è molto simile per le mie mani e ora posso usarlo anche con una tastiera esterna!

Per aggiungere PPA e installare:

sudo add-apt-repository ppa:indicator-brightness/ppa
sudo apt-get update && sudo apt-get install indicator-brightness

I tasti di scelta rapida devono essere assegnati a:

/opt/extras.ubuntu.com/indicator-brightness/indicator-brightness-adjust --up

e

/opt/extras.ubuntu.com/indicator-brightness/indicator-brightness-adjust --down

Nota in calce: pronto all'uso, l'indicatore di birghtness riconosce 7 livelli di luminosità nel mio sistema. Aggiungendo acpi_backlight=vendoralla linea GRUB_CMDLINE_LINUX_DEFAULTin /etc/default/grub, quel numero viene aumentato fino a 16!


4

Ho un Lenovo Ideapad Z400.

Ho provato tutti i SUGGERIMENTI sopra elencati, senza successo.

Quindi ne ho trovato uno diverso che ha funzionato molto bene:

Metti la seguente riga in / etc / default / grub

GRUB_CMDLINE_LINUX="acpi_backlight=vendor acpi_osi=Linux resume=/dev/sdYY"

YY = Scambia area, usa swapon -s per vederti scambiare il dispositivo.

Eseguire un update-grub come root

Dopo il riavvio il problema è stato risolto.


Ha funzionato per me, tuttavia, è successo qualcosa di curioso. Quando la luminosità è impostata al massimo, lo schermo non mostra alcuna luminosità (completamente scura), qualche suggerimento? Grazie
Adriano Rivolli,

2

Ho un Thinkpad T450s con grafica Nvidia e driver binari su Ubuntu 14.04. Per far funzionare la retroilluminazione ho dovuto modificare il file /etc/X11/xorg.conf aggiungendo la seguente riga alla definizione del dispositivo Intel (il file xorg.conf viene creato durante l'installazione dei driver binari):

Option      "Backlight"  "intel_backlight"

La sezione completa è ora:

Section "Device"
    Identifier "intel"
    Driver "intel"
    BusID "PCI:0@0:2:0"
    Option "Backlight" "intel_backlight"
    Option "AccelMethod" "SNA"
EndSection

1

Questo non funziona per gli utenti di KDE come è scritto in https://launchpad.net/~kamalmostafa/+archive/linux-kamal-mjgbacklight

NOTE PER GLI UTENTI DI DESKTOP DI KDE

Utenti desktop KDE: questo PPA potrebbe NON correggere i tasti di scelta rapida per il controllo della retroilluminazione: questa correzione richiede un modulo kernel per fornire la nuova /sys/class/backlight/intel_backlightinterfaccia (che funzionerà indipendentemente dal desktop) e anche un modulo desktop per accedere a tale interfaccia. Per Gnome, il gnome-power-manager aggiornato in questo PPA lo fornisce, ma l'equivalente per KDE non è stato ancora sviluppato. "

Tuttavia puoi provare una soluzione alternativa trovata qui .

Ciò dice di digitare il terminale in echo XXX | sudo tee /sys/class/backlight/intel_backlight/brightnesscui XXX è un valore intero.

Nel mio caso XXX può avere un valore compreso tra 0 e 4882, ma fai attenzione: se scrivi 0 lo schermo sarà completamente nero e non vedrai nulla.


1

Ecco una patch che puoi fare.

Crea questo script con il nome .modificarBrillo.sh (nel mio caso l'ho creato nella mia cartella home: ~ / .modificarBrillo.sh)

#!/bin/bash
if [ -z "$1" ]; then
    echo "ERROR: Tiene que introducir un parámetro: \"a\" para aumentar o \"d\" para disminuir"
    exit
else
    if [ "$1" != "a" ] && [ "$1" != "d" ]; then
        echo "ERROR: el parámetro de entrada sólo puede ser o \"a\" para aumentar el brillo o \"d\" para disminuirlo"
        exit
    fi
fi
MAX_BRILLO=`cat /sys/class/backlight/intel_backlight/max_brightness`
MIN_BRILLO_ABSOLUTO="0"
MIN_BRILLO="100" #el brillo mínimo puede ser 0 pero eso deja la pantalla completamente a oscuras
INTERVALO=`expr $MAX_BRILLO - $MIN_BRILLO_ABSOLUTO`
INTERVALO=`expr $INTERVALO / 10`
brillo=`cat /sys/class/backlight/intel_backlight/actual_brightness`
if [ "$1" = "a" ]; then
    let "brillo = brillo + INTERVALO"
    if [ "$brillo" -gt "$MAX_BRILLO" ]; then
    let "brillo = MAX_BRILLO"
    fi
else
    let "brillo = brillo - INTERVALO"
        if [ "$brillo" -lt "$MIN_BRILLO" ]; then
            let "brillo = MIN_BRILLO"
        fi
fi
echo "$brillo" | tee /sys/class/backlight/intel_backlight/brightness

Tuttavia, poiché lo script precedente necessita dell'autorizzazione di esecuzione e / sys / class / backlight / intel_backlight / luminosità può essere modificato solo da root e devi eseguirlo nel terminale:

chmod a+x ~/.modificarBrillo.sh
sudo chmod a+w /sys/class/backlight/intel_backlight/brightness`

L'ultimo comando deve essere eseguito ad ogni avvio perché le autorizzazioni del file di luminosità vengono rinnovate con l'avvio. Per fare ciò sudo vim /etc/rc.locale aggiungere il comando sudo chmod a+w /sys/class/backlight/intel_backlight/brightnessprima della riga "exit 0"

Infine, è necessario installare xbindkeys per ottenere il tasto funzione per eseguire lo script.

Nel mio caso aggiungo le righe al file di configurazione ~ / .xbindkeysrc

#Aumentar brillo
"/home/alvaro/.modificarBrillo.sh a"
    m:0x0 + c:233
    XF86MonBrightnessUp 

#Disminuir brillo
"/home/alvaro/.modificarBrillo.sh d"
   XF86MonBrightnessDown

Ma potresti anche installare il programma xbindkeys-config per eseguire graficamente il processo.


1

Modifica il /etc/default/grubfile e aggiungi
pcie_aspm=force acpi_backlight=vendordopo
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

Quindi l'intera riga sarà simile a questa:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_aspm=force acpi_backlight=vendor"

Per maggiori dettagli visita questo link .


1

Ho avuto lo stesso problema, sto usando Gnome3.10 in Ubuntu 14.04 (Unity). Ho installato tlp per il controllo della temperatura sul mio laptop. Ho appena rimosso 'tlp' e ho riavviato il mio sistema e sono in grado di regolare la luminosità dello schermo utilizzando la funzione (fn) + i tasti freccia.

Potrebbe aiutare a controllarlo una volta.


1

Aveva lo stesso problema (apparentemente) con un Lenovo IP G50-70. - In effetti, nessuno dei tasti funzione 'sembrava' funzionare. Alla fine nel BIOS ho trovato una funzione di abilitazione / disabilitazione 'Hotkey'. Paradossalmente, era "Abilitato", ma in realtà questo abilita un'operazione di pressione di un singolo tasto per i tasti funzione. In effetti, se si utilizza la tradizionale tecnica 'Fn + tasto funzioneX', non funzionano.

Se "Disabilita" la funzione di tasto di scelta rapida nel BIOS, i tasti funzione funzionano "come previsto" (Fn + Tasto funzionex). - Dopo aver fatto ciò, tutti i tasti funzione hanno funzionato correttamente. Tanto per il progresso


1

Ho dovuto aggiungere queste righe a grub:

acpi_backlight=vendor acpi_osi=linux thinkpad-acpi.brightness_enable=1

Si noti che l'ultimo. Era quello che faceva funzionare i tasti della luminosità.


0

È possibile utilizzare questo pacchetto per gestire la luminosità dalla riga di comando (terminale), con il xbacklightcomando.

xbacklightInstalla xbacklight può essere installato nel Software Center. O nel terminal:

sudo apt-get update && sudo apt-get install xbacklight

Puoi usare

  • xbacklight -inc <range from 0 to 100> per aumentare la luminosità con valore < ... >

  • xbacklight -dec <range from 0 to 100> per diminuire la luminosità con valore < ... >


Questo ha funzionato per me usando un Thinkpad E490. Grazie!
Enrico,

0

Stavo riscontrando un problema su un Thinkpad W510 con kubuntu 18.04.

L'ho trovato su un forum Lenovo:

tpb - programma per utilizzare le chiavi speciali IBM ThinkPad (tm)

sudo apt-get install tpb

Ecco! I tasti di regolazione della luminosità ora funzionano perfettamente! Non ho nemmeno bisogno di disconnettermi e riconnettermi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.