Jak mogę ustawić mój wyświetlacz HDMI w trybie oszczędzania energii (i poza nim)?


20

Używam Raspberry Pi do wyświetlania informacji w biurze. Chcę, aby wyświetlacz był w trybie oszczędzania energii poza godzinami pracy. Miałem zamiar cronwykonać coś na początku i na końcu dnia, ale xset dpms force offnie działa.

Mam wyłączony wygaszacz ekranu (tak pobyty wyświetlacz w ciągu dnia) z dodatkiem xset s off, xset -dpmsa xset s noblankw /etc/xdg/lxsession/LXDE/autostartpliku.

Oto wyniki z 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

AKTUALIZACJA:xset s blank && xset +dpms && xset dpms force off spowoduje wygaszenie wyświetlacza, ale nie przełączy go w tryb oszczędzania energii. Po przeczytaniu wielu wątków nadal nie mogę uzyskać poprawnego czasu systemowego (myślę, że może to być problem z zaporą) ...


Czy xsetpojawia się błąd lub nic się nie dzieje? Również jaka dystrybucja? Jeśli to nie zadziała, domyślam się, że ACPI nie jest wkompilowane w jądro. W celach diagnostycznych proszę opublikować dane wyjściowe xset q. Dzięki.
Jivings,

@ Jivings: brak błędu, ekran staje się statyczny. Zanim wyłączyłem wygaszanie, ekran faktycznie wygasł (nie jestem pewien, czy przeszedł w tryb oszczędzania energii). Używam 2012-09-18-wheezy-raspbian z aktualizacjami / aktualizacjami oprogramowania / oprogramowania układowego.

W porządku. Czy możesz edytować swoje pytanie za pomocą wyniku xset q?
Jivings,

@jivings przepraszam, że nie było mnie w mieście, ale wróciłem i zaktualizowałem pytanie o informacje, o które prosiłeś.

Na dole jest napisane DPMS is disabled. Włącz: xset +dpmswtedy twoje polecenia powinny działać ...
Jivings, 16'12

Odpowiedzi:


9

To pytanie naprawdę należy do strony raspberrypi.stackexchange.com, ponieważ jest to problem specyficzny dla Raspberry Pi: sterownik bufora ramki jądra dla Raspberry Pi nie obsługuje funkcji używanej przez X do uśpienia monitora:

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

Dopóki ten problem nie zostanie rozwiązany, X nie będzie w stanie uśpić monitora za pomocą DPMS.

Możesz mieć trochę szczęścia z /opt/vc/bin/tvserviceprogramem: tvservice -owyłącza HDMI i tvservice -ppowinien ponownie włączyć HDMI .


2

Rozpraszanie złych ścieżek

Po pierwsze, praktycznie wszystkie nowoczesne wyświetlacze obsługują tryby uśpienia. Również xset dpms force off(lub inne sposoby na poinformowanie serwera X) jest prawidłowym sposobem (pod X) wyłączania monitorów. Używam tego od lat bez żadnych problemów.

Po drugie, wzmianka DPMS is Disabledpochodzi tylko od ciebie xset -dpms. Jak tylko xset dpms force offwydasz lub inną opcję xset związaną z DPMS, zostanie ona ponownie włączona, więc normalne jest uzyskanie tego samego wyniku z lub bez xset +dpms.

Hipoteza

Teraz napisałeś, że widzisz „statyczny”. Ten wyświetlacz obsługuje tradycyjne sygnały telewizji analogowej, prawda?

Jedna hipoteza jest taka, że ​​telewizor zamiast iść spać, faktycznie przełącza się na telewizję analogową, a ponieważ nie ma sygnału, pokazuje to, co zwykle nazywa się „statyczne”.

Sprawdź tę hipotezę

Oto opcja wypróbowania. Spróbuj raz podłączyć inny monitor, najlepiej taki, który nie obsługuje telewizji analogowej. Sprawdź, czy ten ekran przechodzi w tryb uśpienia xset dpms force off. Jeśli tak, to konfiguracja jest w porządku po stronie Pi.

Wypróbuj warianty

Być może inne stany wideo poinstruują telewizor, aby pozostawał na właściwym kanale, ale zmniejszy zużycie energii. Zamiast tego xset dpms force offspróbuj:

xset dpms force standby
xset dpms force suspend

I sprawdź, czy jeden z nich produkuje to, czego potrzebujesz. Poczekaj co najmniej 10 sekund po każdej próbie zobaczenia, co robi. Naciśnięcie dowolnego klawisza na klawiaturze Pi wznowi wyświetlanie (można zdalnie użyć xset dpms force on).

Dostań się do produkcji

Jeśli jeden z powyższych wariantów spełnia Twoje oczekiwania, w porządku, udostępnij!

Jeśli nie i naprawdę potrzebujesz użyć oryginalnego wyświetlacza, sprawdź w menu, czy możesz jakoś wyłączyć funkcje telewizji analogowej.

Podziel się tym, czego nauczyłeś się z tych prób.


1

Nie vbetooldziała?

Wstrzymaj ekran (fizycznie mówi monitorowi, aby przeszedł do trybu gotowości): vbetool dpms suspend Wznów (wychodzi z trybu gotowości):vbetool dpms on


1
Myślę, że vbetool jest tylko dla x86. Tak więc nie pomoże ARM
Renan

0

Możesz włączyć i wyłączyć sam HDMI.

  • HDMI włączone: /opt/vc/bin/tvservice -p

  • HDMI wyłączone: /opt/vc/bin/tvservice -o

Więcej informacji o tvservicepliku binarnym:

# 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

(czytasz artykuły opublikowane przez osoby, które nie miały doświadczenia, próbują sprzedać ci inny system operacyjny lub zatuszować brak gwiazdy energii z urządzenia z Chin, lub nie przeczytały kodu źródłowego - nie są to sugerowane materiały do ​​czytania) .

xset s włączony; LUB; xset + dpms

NIE MOŻESZ zrobić obu, o ile nie chcesz problemów z wygaszaniem (takich jak budzenie). obaj wykonują tę samą pracę nieco inaczej - przeszkadzają sobie nawzajem. (Linux RedHat słynie z niewłaściwego instruowania ludzi i wysyłania wielu dystrybucji z domyślnie włączonymi obydwoma dystrybucjami, podobnie jak debian)

kiedy używasz „xset dpms force off; sleep 2” musisz spać, aby nie obudzić się przez naciśnięcie Enter (zakładając, że robisz to za pomocą klawiatury, a nie skryptu)

jeśli chodzi o HDMI, nie jestem pewien, czy Energy Star jest częścią specyfikacji HDMI 1.0-2.x. ale jeśli 1/2 zadziałało, być może tak jest.

Linux i FreeBSD są fajne, ale jeśli nie jesteś „częścią dużego zespołu”, niepraktyczne jest myślenie, że może prowadzić domowe centrum rozrywki (kontrolowanie sprzętu medialnego, wykonując określone czynności sprzętowe, takie jak Energy Star, prawdziwa sprzętowa obsługa odtwarzania plików MPEG (TV) itp.) . mają biblioteki i inicjatywy oraz przykłady działających urządzeń - ale te rzeczy są krótkotrwałe (musisz używać tego samego systemu operacyjnego i tego samego urządzenia, które jest dobrze znane lub „powodzenia”)

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.