Como posso colocar meu monitor HDMI no (e fora de) modo de economia de energia?

20

Estou usando um Raspberry Pi para executar uma exibição de informações em um escritório. Eu quero a exibição no modo de economia de energia quando fora do horário comercial. Eu usaria cron para executar algo no início e no final do dia, mas xset dpms force off não funciona.

Desativei a proteção de tela (para que a exibição permaneça ativa durante o dia) com a adição de xset s off , xset -dpms e xset s noblank no arquivo /etc/xdg/lxsession/LXDE/autostart .

Aqui estão os resultados de 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

UPDATE: xset s blank && xset +dpms && xset dpms force off anula a exibição, mas não a coloca no modo de economia de energia. Depois de ler muitos tópicos, eu ainda não consigo acertar a hora do sistema (acho que isso pode ser um problema de firewall) ...

    
por shaun5 09.10.2012 / 03:08

5 respostas

9

Esta questão realmente pertence a raspberrypi.stackexchange.com porque é um problema específico do Raspberry Pi: o driver framebuffer do kernel para o Raspberry Pi não suporta a função que o X usa para colocar o monitor em repouso:

link

Até que este problema seja corrigido, não será possível para o X colocar o monitor em suspensão usando o DPMS.

Você pode ter alguma sorte com o programa /opt/vc/bin/tvservice : tvservice -o desliga o HDMI e tvservice -p deve ligar o HDMI novamente.

    
por 08.01.2014 / 07:01
2

Como eliminar caminhos errados

Primeiro, praticamente todos os monitores modernos suportam modos de espera. Além disso, xset dpms force off (ou outras formas de informar ao servidor X) é a maneira correta (em X) de desativar os monitores. Eu usei isso por anos sem problemas.

Em segundo lugar, a menção DPMS is Disabled só vem do seu xset -dpms . Assim que você emite xset dpms force off ou outra opção xset relacionada ao DPMS, ela é reativada, então é normal que você obtenha o mesmo resultado com ou sem xset +dpms .

Hipótese

Agora, você escreveu que vê "estático". Este monitor suporta sinais de TV analógica tradicional, certo?

Uma hipótese é que a TV, em vez de adormecer, muda para a TV analógica e, como não há sinal, mostra o que normalmente é chamado de "estática".

Teste essa hipótese

Aqui está uma opção para tentar. Tente ligar uma vez outra tela, de preferência uma que não suporte TV analógica. Veja se esse monitor vai dormir em xset dpms force off . Se sim, então a configuração está bem no lado do Pi.

Tente variantes

Talvez os outros estados de vídeo instruam a TV a permanecer no canal certo, mas com redução no uso de energia. Em vez de xset dpms force off , tente estes:

xset dpms force standby
xset dpms force suspend

E veja se um deles produz o que você precisa. Espere pelo menos 10 segundos após cada tentativa para ver o que ela faz. Pressionar qualquer tecla no teclado Pi retomará a exibição (remotamente, você pode usar xset dpms force on ).

Chegar à produção

Se uma das variantes acima fizer o que você precisa, tudo bem, por favor, compartilhe!

Se não e você realmente precisa usar o display original, veja nos menus se você pode de alguma forma desativar os recursos de TV analógica.

Por favor, compartilhe o que você aprendeu com essas tentativas.

    
por 14.11.2012 / 21:30
1

O vbetool não funciona?

Suspenda a tela (diz fisicamente o monitor para ir para o modo de espera): vbetool dpms suspend Retomar (sai do modo de espera): vbetool dpms on

    
por 09.11.2012 / 03:23
0

Você pode ligar e desligar o próprio HDMI.

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

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

Mais detalhes sobre tvservice binary:

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

# dpkg -s libraspberrypi-bin
Package: libraspberrypi-bin
Maintainer: Serge Schneider <[email protected]>
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
    
por 19.10.2017 / 02:22
-2

(você lê artigos postados por pessoas que não tinham experiência, tentando vender um sistema operacional diferente ou encobrir a falta de energia de um dispositivo de porcelana, ou e não leu o código-fonte - todos os quais não são sugeridos materiais de leitura).

xset s on; OU; xset + dpms

você NÃO PODE fazer os dois, a menos que queira problemas de supressão (como o despertador). ambos fazem o mesmo trabalho um pouco diferente - eles interferem uns com os outros. (O RedHat linux é famoso por instruir mal as pessoas sobre isso e distribuir muitas distros com ambos ativados por padrão, então é debian)

quando você usa "xset dpms force off; sleep 2" você tem que dormir para que ele não acorde pressionando Enter (assumindo que você está usando o teclado e não um script)

na medida do HDMI, não tenho certeza se o Energy Star faz parte da especificação HDMI 1.0-2.x. mas se ele funcionou, talvez seja.

linux e freeBSD são bacanas mas se você não for "parte de uma grande equipe" é impraticável pensar que pode rodar seu centro de entretenimento doméstico (controlando equipamentos de mídia fazendo coisas específicas de hardware como Energy Star, suporte a reprodução de hardware mpeg (TV) , etc). eles têm libs e iniciativas e exemplos de dispositivos de trabalho - mas essas coisas são de curta duração (você tem que usar o mesmo sistema operacional e o mesmo dispositivo conhecido como bom, ou "boa sorte")

    
por 16.10.2017 / 23:57