HDMIディスプレイを省電力モードに切り替えるにはどうすればよいですか?


20

Raspberry Piを使用して、オフィスで情報表示を実行しています。営業時間外にディスプレイを省電力モードにしたい。私はcron一日の始めと終わりに何かを実行するために使用しようとしていましたが、うまくいきxset dpms force offません。

私は追加で(日中のように表示のまま)スクリーンセーバーを無効にしているxset s offxset -dpmsxset s noblank/etc/xdg/lxsession/LXDE/autostartファイル。

以下が結果です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

更新:xset s blank && xset +dpms && xset dpms force offディスプレイを空白にしますが、省電力モードにはなりません。たくさんのスレッドを読んだ後でも、システム時間を正しく取得できません(ファイアウォールの問題かもしれません)...


エラーがxset発生しますか、それとも何も起こりませんか?また、どのディストリビューションですか?動作しない場合、ACPIはカーネルにコンパイルされていないと思います。診断として、の出力を投稿してくださいxset q。ありがとう。
Jivings

@Jivings:エラーなし、画面は静的になります。ブランキングを無効にする前に、画面は実際には空白になりました(省電力モードに入ったかどうかはわかりません)。私はソフトウェア/ファームウェアの更新/アップグレードで2012-09-18-wheezy-raspbianを使用しています。

はい。の出力で質問を編集できますxset qか?
-Jivings

@jivingsすみません、私は町を出ていましたが、戻ってあなたが要求した情報で質問を更新しました。

一番下にあるDPMS is disabled。オンxset +dpmsにします。その後、コマンドが機能するはずです
...-Jivings

回答:


9

この質問は、Raspberry Pi固有の問題であるため、raspberrypi.stackexchange.comに属します。RaspberryPiのカーネルフレームバッファードライバーは、Xがモニターをスリープ状態にするために使用する機能をサポートしていません。

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

この問題が修正されるまで、XがDPMSを使用してモニターをスリープ状態にすることはできません。

あなたは/opt/vc/bin/tvserviceプログラムでいくらか運があるかもしれません:tvservice -oHDMIの電源を切って、tvservice -p再び電源を入れるべきです。


2

間違ったパスを解消する

まず、事実上すべての最新のディスプレイはスリープモードをサポートしています。また、xset dpms force off(またはXサーバーに通知する他の方法)が(Xの下で)モニターをオフにする正しい方法です。私は何年も問題なくそれを使ってきました。

第二に、言及DPMS is Disabledはあなたからのみ来ますxset -dpmsxset dpms force offまたは他のDPMS関連のxsetオプションを発行するとすぐに再び有効になるため、通常の場合と同じ結果が得られますxset +dpms

仮説

さて、「静的」と表示されると書きました。このディスプレイは、従来のアナログTV信号をサポートしています。

1つの仮説は、テレビがスリープ状態になる代わりに、実際にアナログテレビに切り替わり、信号がないため、通常「静的」と呼ばれるものを表示するというものです。

その仮説をテストする

試してみるオプションがあります。別のディスプレイ、理想的にはアナログTVをサポートしていないディスプレイを接続してみてください。そのディスプレイがスリープ状態になるかどうかを確認しますxset dpms force off。はいの場合、Pi側のセットアップは問題ありません。

バリエーションを試す

おそらく、他のビデオ状態は、テレビに正しいチャンネルに留まるように指示しますが、電力使用量は削減されます。の代わりにxset dpms force off、これらを試してください:

xset dpms force standby
xset dpms force suspend

そして、それらの1つが必要なものを生成するかどうかを確認します。それぞれの動作を確認しようとするたびに、少なくとも10秒待ちます。Piキーボードの任意のキーを押すと、表示が再開します(リモートで使用できますxset dpms force on)。

生産に着手

上記のバリアントのいずれかが必要なことを実行する場合は、共有してください!

そうでなく、本当に元のディスプレイを使用する必要がある場合は、何らかの方法でアナログTV機能を無効にできるかどうかをメニューで確認してください。

これらの試みから学んだことを共有してください。


1

vbetool動作しませんか?

画面をサスペンドします(物理的にモニターがスタンバイモードになるように指示します):vbetool dpms suspend 再開します(スタンバイモードを終了します):vbetool dpms on


1
vbetoolはx86専用です。したがって、ARMには役に立たない
Renan

0

HDMI自体のオンとオフを切り替えることができます。

  • HDMIオン: /opt/vc/bin/tvservice -p

  • HDMIオフ: /opt/vc/bin/tvservice -o

tvserviceバイナリの詳細:

# 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

(経験のない人が投稿した記事を読んだり、別のOSを販売したり、中国のデバイスからエネルギースターの不足を隠そうとしたり、ソースコードを読んでいなかったりします-これらはすべて、資料を読むことをお勧めしません) 。

xset s on; または xset + dpms

ブランキングの問題(ウェイクアップなど)が必要な場合を除き、両方を行うことはできません。どちらも同じ仕事をわずかに異なるように行います-彼らはお互いに干渉しません。(RedHat linuxは、そのことについて人々を誤って指示し、両方がデフォルトでオンになっている多くのディストリビューションを出荷することで有名です。そのため、debianもそうです)

「xset dpms force off; sleep 2」を使用する場合は、Enterキーを押しても起動しないようにスリープする必要があります(スクリプトではなくキーボードを使用してこれを行うと仮定)

HDMIに関する限り、Energy StarがHDMI 1.0-2.x仕様の一部であるかどうかはわかりません。しかし、それが1/2であれば、おそらくそうです。

linuxとfreeBSDは気の利いたものですが、「大きなチームの一員」ではない場合、ホームエンターテイメントセンターを運営できると考えるのは非現実的です(Energy Star、真のハードウェアmpeg再生サポート(TV)などのハードウェア固有のことを行うメディア機器の制御) 。ライブラリやイニシアチブ、動作するデバイスの例がありますが、これらは短命です(同じOSと同じデバイス、または「幸運」として知られているものを使用する必要があります)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.