Bagaimana cara menempatkan tampilan HDMI saya ke mode hemat daya?

20

Saya menggunakan Raspberry Pi untuk menjalankan tampilan informasi di kantor. Saya ingin tampilan dalam mode hemat daya ketika di luar jam kerja. Saya akan menggunakan cronuntuk mengeksekusi sesuatu pada awal dan akhir hari, tetapi xset dpms force offtidak berhasil.

Saya telah menonaktifkan screen saver (sehingga tampilan tetap menyala di siang hari) dengan penambahan xset s off, xset -dpmsdan xset s noblankdalam /etc/xdg/lxsession/LXDE/autostartfile.

Inilah hasil dari 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 akan mengosongkan tampilan, tetapi tidak menempatkannya dalam mode hemat daya. Setelah membaca banyak utas, saya masih tidak dapat memperbaiki waktu sistem dengan baik (saya pikir itu mungkin masalah firewall) ...

shaun5
sumber
Apakah Anda mendapatkan kesalahan xsetatau tidak terjadi apa-apa? Juga distro apa? Jika tidak berhasil saya kira ACPI tidak dikompilasi ke dalam kernel. Sebagai diagnosa, silakan posting output dari xset q. Terima kasih.
Jivings
@Jivings: tidak ada kesalahan, layar menjadi statis-ish. Sebelum saya menonaktifkan blanking, layar akan benar-benar kosong (tidak yakin apakah itu beralih ke mode hemat daya). Saya menggunakan 2012-09-18-wheezy-raspbian dengan pembaruan / peningkatan perangkat lunak / firmware.
Baik. Bisakah Anda mengedit pertanyaan Anda dengan output xset q?
Jivings
@jivings maaf saya sedang ke luar kota, tetapi kembali dan memperbarui pertanyaan dengan info yang Anda minta.
Di bagian bawah tertulis DPMS is disabled. Aktifkan: xset +dpmsmaka perintah Anda harus bekerja ...
Jivings

Jawaban:

9

Pertanyaan ini benar-benar berasal dari raspberrypi.stackexchange.com karena ini adalah masalah khusus Raspberry Pi: driver framebuffer kernel untuk Raspberry Pi tidak mendukung fungsi yang X gunakan untuk membuat monitor tidur:

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

Sampai masalah ini diperbaiki, X tidak dimungkinkan untuk mematikan monitor menggunakan DPMS.

Anda mungkin beruntung dengan /opt/vc/bin/tvserviceprogram ini: tvservice -omematikan HDMI dan tvservice -pmenghidupkan kembali HDMI.

AGWA
sumber
2

Mengusir jalan yang salah

Pertama, hampir semua tampilan modern mendukung mode tidur. Juga, xset dpms force off(atau cara lain untuk memberi tahu X server) adalah cara yang benar (di bawah X) untuk mematikan monitor. Saya sudah menggunakannya selama bertahun-tahun tanpa hambatan.

Kedua, menyebutkan DPMS is Disabledhanya berasal dari Anda xset -dpms. Segera setelah Anda mengeluarkan xset dpms force offatau opsi xset terkait DPMS lainnya, itu akan diaktifkan kembali, jadi itu normal bahwa Anda mendapatkan hasil yang sama dengan atau tanpa xset +dpms.

Hipotesa

Sekarang, Anda menulis bahwa Anda melihat "statis". Layar ini mendukung sinyal TV Analog tradisional, bukan?

Satu hipotesis adalah bahwa TV, alih-alih tidur, sebenarnya beralih ke TV Analog, dan karena tidak ada sinyal, itu menunjukkan apa yang biasanya disebut "statis".

Uji hipotesis itu

Ini opsi untuk mencoba. Coba sekali pasang layar lain, idealnya yang tidak mendukung TV Analog. Lihat apakah layar itu menyala xset dpms force off. Jika ya, maka pengaturannya oke di sisi Pi.

Coba varian

Mungkin status video lainnya akan menginstruksikan TV untuk tetap berada di saluran yang benar tetapi dengan pengurangan penggunaan daya. Alih-alih xset dpms force off, coba ini:

xset dpms force standby
xset dpms force suspend

Dan lihat apakah salah satu dari itu menghasilkan apa yang Anda butuhkan. Tunggu setidaknya 10 detik setelah setiap mencoba untuk melihat apa fungsinya. Menekan tombol apa saja pada keyboard Pi akan melanjutkan tampilan (Anda dapat menggunakannya dari jarak jauh xset dpms force on).

Dapatkan produksi

Jika salah satu varian di atas melakukan apa yang Anda butuhkan, silakan, silakan berbagi!

Jika tidak dan Anda benar-benar perlu menggunakan tampilan asli, lihat di menu jika Anda dapat menonaktifkan fitur TV Analog.

Silakan bagikan apa yang Anda pelajari dari percobaan ini.

Stéphane Gourichon
sumber
1

Tidak akan vbetoolbekerja

Layar tunda (secara fisik mengatakan monitor untuk beralih ke mode siaga): vbetool dpms suspend Lanjutkan (keluar dari mode siaga):vbetool dpms on

CDuv
sumber
1
vbetool hanya x86, saya pikir. Dengan demikian tidak akan membantu untuk ARM
Renan
0

Anda dapat menghidupkan dan mematikan HDMI itu sendiri.

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

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

Lebih detail tentang tvservicebiner:

# 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
Alec Istomin
sumber
-2

(Anda membaca artikel yang diposting oleh orang-orang yang tidak memiliki pengalaman, mencoba menjual OS yang berbeda atau menutupi kekurangan energi bintang dari perangkat china, atau dan tidak membaca kode sumber - yang semuanya tidak disarankan sebagai bahan bacaan) .

xset s aktif; ATAU ; xset + dpms

Anda TIDAK BISA melakukan keduanya kecuali jika Anda ingin masalah pengosongan (seperti bangun). keduanya melakukan pekerjaan yang sama sedikit berbeda - mereka DO saling mengganggu. (RedHat linux terkenal karena salah menginstruksikan orang-orang tentang hal itu dan mengirimkan banyak distro dengan keduanya diaktifkan secara default, demikian juga debian)

ketika Anda menggunakan "xset dpms force off; sleep 2" Anda harus tidur agar tidak bangun dengan menekan Enter Anda (dengan asumsi Anda melakukan ini menggunakan keyboard Anda bukan skrip)

sejauh HDMI saya tidak yakin apakah Energy Star adalah bagian dari spesifikasi HDMI 1.0-2.x. tetapi jika itu berhasil maka mungkin itu.

linux dan freeBSD bagus tetapi jika Anda bukan "bagian dari tim besar" itu tidak praktis untuk berpikir itu dapat menjalankan pusat hiburan rumah Anda (mengendalikan peralatan media melakukan hal-hal spesifik seperti Energy Star, dukungan pemutaran mpeg perangkat keras yang sebenarnya (TV), dll) . mereka memiliki lib dan inisiatif dan contoh perangkat yang berfungsi - tetapi hal-hal ini berumur pendek (Anda harus menggunakan OS yang sama dan perangkat yang sama dikenal baik, atau "semoga sukses")

jangan bilang kita
sumber