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


20

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

I ter desativado a proteção de tela (para que o visor ficam acesos durante o dia) com a adição de xset s off, xset -dpmse xset s noblankno /etc/xdg/lxsession/LXDE/autostartarquivo.

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 deixará a tela em branco, mas não a colocará no modo de economia de energia. Depois de ler muitos threads, ainda não consigo acertar a hora do sistema (acho que pode ser um problema de firewall) ...


Você recebe um erro xsetou nada acontece? Também o que distro? Se não funcionar, acho que o ACPI não está compilado no kernel. Como diagnóstico, publique a saída de xset q. Obrigado.
Jivings

@Jivings: sem erro, a tela fica estática. Antes de desativar o apagamento, a tela ficava em branco (não tenho certeza se entrou no modo de economia de energia). Estou usando 2012-09-18-wheezy-raspbian com atualizações / atualizações de software / firmware.

OK. Você pode editar sua pergunta com a saída de xset q?
Jivings

@jivings desculpe, eu estava fora da cidade, mas voltei e atualizei a pergunta com as informações solicitadas.

No fundo, diz DPMS is disabled. Ligá-lo: xset +dpmsentão seus comandos devem trabalhar ...
Jivings

Respostas:


9

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

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

Até que esse problema seja resolvido, o X não poderá colocar o monitor em modo de suspensão usando o DPMS.

Você pode ter alguma sorte com o /opt/vc/bin/tvserviceprograma: tvservice -odesliga o HDMI e tvservice -pdeve ligá-lo novamente.


2

Dissipando caminhos errados

Primeiro, praticamente todos os monitores modernos oferecem suporte aos modos de suspensão. Além disso, xset dpms force off(ou outras maneiras de informar o servidor X) é a maneira correta (em X) de desligar os monitores. Eu uso isso há anos sem problemas.

Segundo, a menção DPMS is Disabledvem apenas do seu xset -dpms. Assim que você emite xset dpms force offou outra opção xset relacionada ao DPMS, ela é reativada; portanto, é 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 tradicionais de TV analógica, certo?

Uma hipótese é que a TV, em vez de dormir, na verdade muda para a TV analógica e, como não há sinal, ela mostra o que geralmente é chamado de "estático".

Teste essa hipótese

Aqui está uma opção para tentar. Tente conectar uma vez outra tela, de preferência uma que não suporte TV analógica. Veja se essa tela entra em suspensão xset dpms force off. Se sim, a configuração está correta no lado do Pi.

Experimente 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 o seguinte:

xset dpms force standby
xset dpms force suspend

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

Chegar à produção

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

Caso contrário, e você realmente precisa usar a tela original, veja nos menus se você pode, de alguma forma, desativar os recursos da TV analógica.

Compartilhe o que aprendeu com essas tentativas.


1

Não vbetoolfunciona?

Suspender a tela (diz fisicamente o monitor para entrar no modo de espera): vbetool dpms suspend Continuar (sai do modo de espera):vbetool dpms on


11
O vbetool é apenas para x86, eu acho. Assim não vai ajudar para ARM
Renan

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 o tvservicebinário:

# 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

(você lê artigos publicados por pessoas que não têm experiência, tentando vender a você um SO diferente ou encobrir a falta de estrela energética de um dispositivo de porcelana ou que não leu o código-fonte - todos os quais não são materiais de leitura sugeridos) .

xset s ativado; OU; xset + dpms

você NÃO PODE fazer as duas coisas, a menos que deseje problemas em branco (como acordar). ambos fazem o mesmo trabalho de maneira um pouco diferente - eles interferem um no outro. (O RedHat Linux é famoso por instruir mal as pessoas sobre isso e enviar muitas distribuições com as duas ativadas por padrão, assim como o debian)

quando você usa "xset dpms force off; sleep 2", você precisa dormir para que não acorde pressionando Enter (supondo que você faça isso usando o teclado e não um script)

no que diz respeito ao HDMI, não tenho certeza se o Energy Star faz parte da especificação HDMI 1.0-2.x. mas se funcionou 1/2, talvez seja.

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.