xset O comando dpms não está desligando o monitor

0

Eu tenho um problema com este comando: %código%. Ele coloca a tela em preto, mas não fecha nem suspende (com o comando suspender) o monitor.

O comando xset dpms force off mostra que o DPMS está habilitado no meu monitor.

Estou usando o Raspberry Pi com Raspbian nele e o monitor está conectado com o cabo HDMI-DVI (e os pinos que transmitem as conexões de dados estão funcionando).

Você pode me ajudar, talvez me diga onde encontrar a resposta ou alguns registros? Talvez exista um arquivo de configuração em algum lugar que contenha informações sobre a quantidade de energia que está sendo enviada para o monitor quando está em espera, ativada ou desativada?

Eu encontrei essa solução: link , mas não consigo instalar o VBETOOL no meu computador, pois ele não tem portas PCI (e / pasta pci).

    
por tarzanno 19.07.2015 / 11:13

3 respostas

3

Eu encontrei este problema específico do framboesa pi foi discutido neste problema com algumas soluções alternativas.

O driver framebuffer no pi implementa ou não o ioctl apropriado FBIOBLANK para definir o monitor para vídeo desligado.

A solução alternativa é usar o comando tvservice para desligar a energia do sinais de vídeo e, eventualmente, o monitor deve desligar. Há um pequeno problema quando você usa tvservice para ligar a alimentação de vídeo no entanto, e você precisa contornar isso também, usando chvt para sair do X11 no terminal virtual do console, depois de volta.

Demo:

sudo tvservice  -o # turn off video
sleep 5
sudo tvservice  -p # turn on video
whichvt=$(sudo fgconsole) # which vt are we on
let othervt=which==1?2:1
sudo chvt $othervt; sudo chvt $whichvt
    
por 19.07.2015 / 15:52
3

Nas versões atuais do raspbian, essas soluções alternativas não são mais necessárias, a capacidade de dpms foi adicionada aos drivers. Único problema: está desativado por padrão. Você precisa colocar

hdmi_blanking=1

no seu /boot/config.txt para ativar. A documentação oficial ainda não foi atualizada para incluir essa configuração, então é um pouco difícil de encontrar.

    
por 20.11.2016 / 21:33
0

A outra maneira é usar:

vcgencmd display_power 0
vcgencmd display_power 1

É isso.

Esta é uma maneira mais eficiente. Não requer toda a reinicialização do framebuffer e não altera a resolução. Principalmente, é mais rápido que o tvservice. No início, ele retornou um erro, mas eu atualizei o firmware no RPi com o rpi-update e depois de um reinício - funcionou.

    
por 19.07.2015 / 18:07