Armadilloフォーラム

コンテナからのディスプレイスクリーンオフ制御の実現について

si-dev

2025年5月16日 12時01分

==========
製品型番:AGX4500-C00D0
Debian/ABOSバージョン:3.20-at.7
カーネルバージョン:5.10.230
3G/LTE モジュール情報 (Debianのみ):
その他:
==========
お世話になります。
肥後と申します。

Armadillo IoT-G4にタッチパネルを接続したシステムで、コンテナからスクリーンオフを制御したいと考えております。
ドキュメント情報を参考にしておりますが、ご助言を頂戴したく思います。

[参考ドキュメント]
https://manual.atmark-techno.com/armadillo-iot-g4/armadillo-iotg-g4_pro…
3.6.9.2. ソフトウェア仕様

[確認・質問事項]
①ご提示の映像停止を実現するには、westonに--backend=fbdev-backend.soを指定する必要があるでしょうか?
②上記が正しい場合、バックエンドにdrm-backend.soに指定した場合てのスクリーンオフ実現方法はありますでしょうか?

当方の確認では、westonのバックエンドにfbdev-backend.so指定した場合にドキュメント記載通りに映像出力を制御できました。
ドキュメントにはfbdev-backend.soを指定する旨記載がないため、確認をさせて頂きたいと思いました。
また、westonのバックエンドをfbdev-backend.soでの動作を前提としている場合、描画性能に影響が出ると理解しています。
ハードウェアアクセラレータを使用できるのが理想と考えており、バックエンドにdrm-backend.soを指定した場合でもスクリーンオフの制御が可能であるならば、方法をご教授お願いしたく思います。

コメント

at_dominique.m…

2025年5月16日 16時34分

肥後さん

お世話になっています、
マルティネです。

> ①ご提示の映像停止を実現するには、westonに--backend=fbdev-backend.soを指定する必要があるでしょうか?

すみません、マニュアルページのリンクに逆に fbdev backend の説明は見当たらないですが、何かの資料を修正した方が良さそうでしたら具体的にどこからそう考えたのかを教えていただければ助かります。
/sys/class/graphics/fb0/blank」による操作からのコメントでしょうか?

一般的な話で言えば drm でも操作できるはずですが、標準の weston でそういうインタフェースを見せてないみたいですね…
idle-time の設定で入力なかった時間によって自動的にディスプレイを停止できるように見えますが、明示的に操作したいと思いますのでそれではだめですね?

この問題を英語で検索してみると toradex社でもにたような話があって、標準ではできなくても、weston の kiosk-shell-DPMS 拡張プログラムでできるように見えます:
https://community.toradex.com/t/weston-switch-on-off-display-during-run…
https://gitlab.freedesktop.org/wayland/weston/-/issues/578
https://github.com/akhilharihar/Weston-kiosk-shell-DPMS

こちらでは確認していないので大変お手数ですが、その Weston-kiosk-shell-DPMS 拡張を使ってみてはいかがでしょうか。

Armadillo IoT G4 で利用している weston のバージョンはそんなに違わない(DPMS拡張リポでは weston 10 を使ってる前提で、弊社は NXP ドライバーの適合性のため weston 9 を使ってます)ので、おそらくそのまま使えると思います。
弊社の weston ソースアーカイブはこちらにあります:
https://download.atmark-techno.com/debian/pool/main/w/weston/

お手数ですが試していただいて、ビルドや使い方が分からなかった場合はまた聞いてください。

よろしくお願いします。

マルティネさん

お世話になります。
肥後です。

早急なご返信ありがとうございます。
ご教示頂いたweston の kiosk-shell-DPMS 拡張プログラムを確認してみたいと思います。

> すみません、マニュアルページのリンクに逆に fbdev backend の説明は見当たらないですが、何かの資料を修正した方が良さそうでしたら具体的にどこからそう考えたのかを教えていただければ助かります。
> 「/sys/class/graphics/fb0/blank」による操作からのコメントでしょうか?

ドキュメント記載のwestonコンテナではdrm-backendが有効になると思いますが、westonコンテナ環境でecho 1 > /sys/class/graphics/fb0/blank実行しても画像出力は停止しませんでした。
fbを直接操作するのでGPUレンダリングが影響して期待通りにならないのかもしれないと予想し、fbdev-backend指定したところ期待通りに動作したという流れになります。

> idle-time の設定で入力なかった時間によって自動的にディスプレイを停止できるように見えますが、明示的に操作したいと思いますのでそれではだめですね?

この方法は使えないと判断しました。
当方の開発では、無操作時間を動的に変更するユースケースがあり、その都度westonを再起動するのは現実的ではないという理由になります。

> この問題を英語で検索してみると toradex社でもにたような話があって、標準ではできなくても、weston の kiosk-shell-DPMS 拡張プログラムでできるように見えます:
> https://community.toradex.com/t/weston-switch-on-off-display-during-run…
> https://gitlab.freedesktop.org/wayland/weston/-/issues/578
> https://github.com/akhilharihar/Weston-kiosk-shell-DPMS
>
> こちらでは確認していないので大変お手数ですが、その Weston-kiosk-shell-DPMS 拡張を使ってみてはいかがでしょうか。

ご教示有難うございます。確認してみたいと思います。

> お手数ですが試していただいて、ビルドや使い方が分からなかった場合はまた聞いてください。

承知しました。その際は何卒、よろしくお願い致します。

以上、よろしくお願い致します