Come posso mettere il mio display HDMI in (e fuori) modalità di risparmio energetico?


20

Sto usando un Raspberry Pi per eseguire una visualizzazione delle informazioni in un ufficio. Voglio il display in modalità di risparmio energetico quando non è in orario di ufficio. Avrei usato cronper eseguire qualcosa all'inizio e alla fine della giornata, ma xset dpms force offnon funziona.

Ho disabile lo screen saver (quindi i soggiorni di visualizzazione durante il giorno) con l'aggiunta di xset s off, xset -dpmse xset s noblanknel /etc/xdg/lxsession/LXDE/autostartfile.

Ecco i risultati di xset q:

Keyboard Control:
  auto repeat:  on    key click percent:  0    LED mask:  00000000
  XKB indicators:
    00: Caps Lock:   off    01: Num Lock:    off    02: Scroll Lock: off
    03: Compose:     off    04: Kana:        off    05: Sleep:       off
    06: Suspend:     off    07: Mute:        off    08: Misc:        off
    09: Mail:        off    10: Charging:    off    11: Shift Lock:  off
    12: Group 2:     off    13: Mouse Keys:  off
  auto repeat delay:  500    repeat rate:  33
  auto repeating keys:  00ffffffdffffbbf
                        fadfffefffedffff
                        9fffffffffffffff
                        fff7ffffffffffff
  bell percent:  0    bell pitch:  400    bell duration:  100
Pointer Control:
  acceleration:  20/10    threshold:  10
Screen Saver:
  prefer blanking:  no    allow exposures:  yes
  timeout:  0    cycle:  600
Colors:
  default colormap:  0x20    BlackPixel:  0x0    WhitePixel:  0xffff
Font Path:
  built-ins
DPMS (Energy Star):
  Standby: 600    Suspend: 600    Off: 600
  DPMS is Disabled

AGGIORNAMENTO:xset s blank && xset +dpms && xset dpms force off svuota il display, ma non lo mette in modalità di risparmio energetico. Dopo aver letto molti thread, non riesco ancora a correggere l'ora del sistema (penso che potrebbe essere un problema con il firewall) ...


Ricevi un errore xseto non succede nulla? Inoltre quale distro? Se non funziona, suppongo che ACPI non sia compilato nel kernel. Come diagnostica, inserisci l'output di xset q. Grazie.
Jivings,

@Jivings: nessun errore, lo schermo diventa statico. Prima che disabilitassi il blanking, lo schermo diventerebbe effettivamente vuoto (non sono sicuro che sia entrato in modalità di risparmio energetico). Sto usando il 2012-09-18-wheezy-raspbian con aggiornamenti / upgrade di software / firmware.

Va bene. Puoi modificare la tua domanda con l'output di xset q?
Jivings,

@jivings mi dispiace di essere fuori città, ma sono tornato e ho aggiornato la domanda con le informazioni richieste.

In fondo dice DPMS is disabled. xset +dpms
Attivalo

Risposte:


9

Questa domanda appartiene davvero a raspberrypi.stackexchange.com perché è un problema specifico di Raspberry Pi: il driver del framebuffer del kernel per Raspberry Pi non supporta la funzione che X utilizza per mettere il monitor in sospensione:

https://github.com/raspberrypi/linux/issues/487

Fino a quando questo problema non verrà risolto, non sarà possibile per X mettere in pausa il monitor tramite DPMS.

Potresti avere un po 'di fortuna con il /opt/vc/bin/tvserviceprogramma: tvservice -ospegni HDMI e tvservice -pdovresti riaccendere HDMI.


2

Scacciare percorsi sbagliati

Innanzitutto, praticamente tutti i display moderni supportano le modalità di sospensione. Inoltre, xset dpms force off(o altri modi per dire al server X) è il modo corretto (sotto X) di spegnere i monitor. L'ho usato per anni senza intoppi.

In secondo luogo, la menzione DPMS is Disabledviene solo dal tuo xset -dpms. Non appena si emette xset dpms force offo altra opzione xset relativa a DPMS, viene riattivata, quindi è normale che si ottenga lo stesso risultato con o senza xset +dpms.

Ipotesi

Ora, hai scritto che vedi "statico". Questo display supporta i tradizionali segnali TV analogici, giusto?

Un'ipotesi è che la TV, invece di dormire, in realtà passa alla TV analogica e, poiché non c'è segnale, mostra ciò che viene generalmente chiamato "statico".

Metti alla prova questa ipotesi

Ecco un'opzione da provare. Prova una volta a collegare un altro display, idealmente uno che non supporta la TV analogica. Vedi se quel display si spegne xset dpms force off. Se sì, allora l'installazione va bene dal lato Pi.

Prova le varianti

Forse gli altri stati del video indicheranno alla TV di rimanere sul canale giusto ma con una riduzione del consumo di energia. Invece di xset dpms force off, prova questi:

xset dpms force standby
xset dpms force suspend

E vedi se uno di questi produce ciò di cui hai bisogno. Attendi almeno 10 secondi dopo ogni tentativo di vedere cosa fa. Premendo un tasto qualsiasi sulla tastiera Pi verrà ripristinato il display (in remoto è possibile utilizzare xset dpms force on).

Arrivare alla produzione

Se una delle varianti sopra fa quello di cui hai bisogno, allora va bene, per favore condividi!

In caso contrario e hai davvero bisogno di usare il display originale, vedi nei menu se puoi in qualche modo disabilitare le funzioni della TV analogica.

Si prega di condividere ciò che hai imparato da questi tentativi.


1

Non vbetoolfunziona?

Sospendi schermo (dice fisicamente che il monitor passa in modalità standby): vbetool dpms suspend Riprendi (esce dalla modalità standby):vbetool dpms on


1
vbetool è solo x86, credo. Quindi non aiuterà per ARM
Renan,

0

È possibile accendere e spegnere l'HDMI stesso.

  • HDMI acceso: /opt/vc/bin/tvservice -p

  • HDMI spento: /opt/vc/bin/tvservice -o

Maggiori dettagli sul tvservicebinario:

# dpkg -S /opt/vc/bin/tvservice
libraspberrypi-bin: /opt/vc/bin/tvservice

# dpkg -s libraspberrypi-bin
Package: libraspberrypi-bin
Maintainer: Serge Schneider <serge@raspberrypi.org>
Description: Miscellaneous Raspberry Pi utilities
 This package contains various utilities for interacting with the Raspberry
 Pi's VideoCore IV.
Homepage: https://github.com/raspberrypi/firmware

# /opt/vc/bin/tvservice
Usage: tvservice [OPTION]...
  -p, --preferred                   Power on HDMI with preferred settings
  -e, --explicit="GROUP MODE DRIVE" Power on HDMI with explicit GROUP (CEA, DMT, CEA_3D_SBS, CEA_3D_TB, CEA_3D_FP, CEA_3D_FS)
                                      MODE (see --modes) and DRIVE (HDMI, DVI)
  -t, --ntsc                        Use NTSC frequency for HDMI mode (e.g. 59.94Hz rather than 60Hz)
  -c, --sdtvon="MODE ASPECT [P]"    Power on SDTV with MODE (PAL or NTSC) and ASPECT (4:3 14:9 or 16:9) Add P for progressive
  -o, --off                         Power off the display
  -m, --modes=GROUP                 Get supported modes for GROUP (CEA, DMT)
  -M, --monitor                     Monitor HDMI events
  -s, --status                      Get HDMI status
  -a, --audio                       Get supported audio information
  -d, --dumpedid <filename>         Dump EDID information to file
  -j, --json                        Use JSON format for --modes output
  -n, --name                        Print the device ID from EDID
  -h, --help                        Print this information

-2

(hai letto articoli pubblicati da persone che non avevano esperienza, che cercavano di venderti un sistema operativo diverso o che nascondevano la mancanza di energia da un dispositivo cinese o che non leggevano il codice sorgente - tutti i quali non sono consigliati materiali di lettura) .

xset s on; O ; xset + dpms

NON PUOI fare entrambe le cose a meno che tu non voglia problemi di oscuramento (come sveglia). entrambi fanno lo stesso lavoro in modo leggermente diverso: interferiscono l'uno con l'altro. (RedHat Linux è famoso per aver istruito erroneamente le persone su questo e per aver spedito molte distro con entrambe attivate di default, quindi è debian)

quando usi "xset dpms force off; sleep 2" devi dormire in modo da non svegliarti premendo Invio (supponendo che tu lo faccia usando la tastiera non uno script)

per quanto riguarda HDMI non sono sicuro che Energy Star faccia parte delle specifiche HDMI 1.0-2.x. ma se 1/2 ha funzionato, allora forse lo è.

Linux e FreeBSD sono eleganti ma se non fai "parte di una grande squadra" non è pratico pensare che possa gestire il tuo centro di intrattenimento domestico (controllando le apparecchiature multimediali facendo cose specifiche sull'hardware come Energy Star, vero supporto per la riproduzione di mpeg hardware (TV), ecc.) . hanno libs e iniziative ed esempi di dispositivi funzionanti - ma queste cose hanno vita breve (devi usare lo stesso sistema operativo e lo stesso dispositivo conosciuto bene, o "buona fortuna")

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.