Armadilloフォーラム

GUIアプリケーションでのコントラスト・輝度の動的変更に関する技術的確認のお願い

shimomura2025

2025年5月26日 11時38分

いつもお世話になっております。下村と申します。

現在、Armadillo-X2上でGUIアプリケーションの開発を進めており、アプリケーション上で動的にコントラストおよび輝度の変更を実現したいと考えております。つきましては、以下の点についてご教示いただけますと幸いです。

1. Armadillo-X2におけるHDMI接続ディスプレイのコントラスト・輝度設定について
Armadilloの別のバージョンでは、輝度設定に使用するsysfsファイルの変更が可能であったと認識しております。Armadillo-X2においても、HDMI接続されたディスプレイのコントラストや輝度を変更するためのsysfsファイルや設定項目が存在するか、またはそれらを利用する方法があるかについてご教示いただけますでしょうか。

2. weston.iniの設定変更が反映されない原因について
以下のようにweston.iniにgamma設定を追加しましたが、画面上での変化が確認できませんでした。

[core]
idle-time=0
use-g2d=1
xwayland=true
repaint-window=16
 
[shell]
panel-position=none
 
[output]
name=HDMI-A-1
mode=1920x1080
; 追加
gamma=0.8,0.8,0.8
 
[output]
name=LVDS-1
mode=off

そもそも輝度およびコントラストの変更はgammaであっているのでしょうか。また、weston.iniの設定変更が反映されない原因として、考えられるご見解をお聞かせいただけますでしょうか。

3. Waylandにおけるコントラスト・輝度の動的変更方法について
weston.iniの設定変更が変更できたとしても、コンテナ起動時のみweston.iniを参照しないため、動的に輝度やコントラストを変更できないように感じます。Wayland環境において、コントラストや輝度を動的に変更するための手段として、gamma-controlプロトコルの利用が考えられます。このプロトコルを使用した実装方法や、Armadillo-X2での対応状況についてご教示いただけますでしょうか。また、別の方法がある場合は、ご教示いただけますでしょうか。

お忙しいところ恐れ入りますが、上記の点についてご確認の上、ご回答いただけますと幸いです。

何卒よろしくお願い申し上げます。

コメント

佐藤です。

1. に関しまして、
A640やA610などの製品での sysfs による操作は HDMI を使っていなかったため固定のデバイスに対してそういった設定ファイルができていましたが、
HDMIの場合はできません。

2. に関しまして、
現在使用している weston のバージョンは sdr/hdr-gamma の weston.ini 設定を対応していません。
最新の weston でも gamma-control プロトコルは対応してないので実装する必要があります。
しかしながら実装したとしても gamma-control による輝度設定は暗くするフィルターであり、実際のディスプレイの輝度設定を操作しているわけではないため
期待通りの動きにならないと思います。
HDMIで接続されているディスプレイの輝度設定をLinuxから設定するスタンダードな方法はありません。

3. に関しまして、
申し訳ありません、動的なコントラストや輝度の変更について
こちらでは情報を持ち合わせておりません。
もしかしたら「DDC/CI」というプロトコルできる可能性はありますが Armadillo X2 で操作した実績はありませんのでサポートできない状態です。

佐藤様

丁寧なご回答ありがとうございます。
1. に関しまして
ご案内いただいた通り、画面の輝度制御は、sysfs による操作制御ができないことを承知いたしました。

そこで、armadillo-x2の取り扱い説明書(https://manual.atmark-techno.com/armadillo-x2/armadillo-x2_product_manu…)3.6.5.2.を確認すると、HDMIの画面出力の停止について
echo 1 > /sys/class/graphics/fb0/blank
コマンドを実行するとの記載があります。しかしながら、このコマンドでは映像出力が停止しない現象が発生しております。HDMI接続されたディスプレイに関しては、sysfs経由での制御が本質的に不可能であるのか、詳細をご教示いただけますでしょうか。

2.に関しまして
回答いただいたとおり、本質的な制御ではないため、ディスプレイの設定を制御する方向で開発を進めております。

3.に関しまして
DDC/CIプロトコルを用いたディスプレイの輝度制御に関して、armadillo-x2に、ddcutilというモジュールをインストールしたところ、ディスプレイ情報の取得は成功したものの、輝度の制御がうまくいかない状況です。armadillo-X2において、今後の実装において輝度を制御する機能追加などあればご教授いただければ幸いです。

お手数をおかけいたしますが、上記の点についてご確認の上、ご回答いただけますようお願い申し上げます。

佐藤です。

> そこで、armadillo-x2の取り扱い説明書(https://manual.atmark-techno.com/armadillo-x2/armadillo-x2_product_manu…)3.6.5.2.を確認すると、HDMIの画面出力の停止について
> echo 1 > /sys/class/graphics/fb0/blank
> コマンドを実行するとの記載があります。しかしながら、このコマンドでは映像出力が停止しない現象が発生しております。HDMI接続されたディスプレイに関しては、sysfs経由での制御が本質的に不可能であるのか、詳細をご教示いただけますでしょうか。
何度やっても映像出力は停止しないのでしょうか、それとも停止するときもあるし停止しないときもあるのでしょうか。

> 3.に関しまして
> DDC/CIプロトコルを用いたディスプレイの輝度制御に関して、armadillo-x2に、ddcutilというモジュールをインストールしたところ、ディスプレイ情報の取得は成功したものの、輝度の制御がうまくいかない状況です。armadillo-X2において、今後の実装において輝度を制御する機能追加などあればご教授いただければ幸いです。
大変申し訳ありません。現状では輝度を制御する機能の追加は予定しておりません。

> 何度やっても映像出力は停止しないのでしょうか、それとも停止するときもあるし停止しないときもあるのでしょうか。
現状何度試しても、映像出力を停止できていません。

> 大変申し訳ありません。現状では輝度を制御する機能の追加は予定しておりません。
承知いたしました。

佐藤です。

> > 何度やっても映像出力は停止しないのでしょうか、それとも停止するときもあるし停止しないときもあるのでしょうか。
> 現状何度試しても、映像出力を停止できていません。
すいません。
flutterアプリケーションはfbに直接描画してるわけではないので、 "echo 1 > /sys/class/graphics/fb0/blank" 実行しても効果ありません。
こちらに類似のフォーラムがありますので、これが参考になるかもしれません。
https://armadillo.atmark-techno.com/forum/armadillo/25523#comment-19836

> HDMI接続されたディスプレイに関しては、sysfs経由での制御が本質的に不可能であるのか、
はい、不可能です。
DRMを通して行う必要があります。