kitamura-a
2022年8月2日 19時53分
Armadillo-IoTG4にて解像度の変更を行うことは可能でしょうか。
設定可能なファイル等がありましたら教えてください。
1920 * 1080で出力を行いたいと考えています。
状況
Qtにてウインドウサイズ1920 * 1080(setGeometry にて)のアプリケーションを作成し、G4にファイルを転送し実行しました。
接続したディスプレイは3840 * 2160まで出力が可能なのですが、アプリケーションを起動すると800 * 600で認識されていました。
よろしくお願いします。
コメント
kitamura-a
at_akihito.irie
入江です。
フレームバッファに直接描画されているようですね。
fbsetというコマンドを使用することで、フレームバッファ描画時の解像度を
指定できます。
デフォルトでは入っていないので、debianコンテナならば以下のコマンドでイ
ンストールできます。
[container]# apt update && apt install -y fbset
FHD(1920x1080)に設定する場合は以下のようコマンドを実行します。
[container]# fbset -xres 1920 -yres 1080
> 適切な引数が、表示方法によって必要ということでしょうか。
Armadillo-IoT ゲートウェイ G4において画面表示を行なう際に、アットマー
クテクノが手順として公開している方法として、
- Waylandを用いた方法
- X window systemを用いた方法
- フレームバッファに直接描画する方法
の3つがあります。
それぞれの使い方は製品マニュアルの「9.1.9. 画面表示を行う」を参照して
ください。
https://manual.atmark-techno.com/armadillo-iot-g4/armadillo-iotg-g4_pro…
環境変数QT_QPA_PLATFORMによって、Qtアプリケーションが上記の(それ以外の
選択肢もありますが)どれを用いてGUIの描画を行なうかを選択できます。
(linuxfbはフレームバッファへの直接描画)
それぞれ利点や制約がありますので、色々試してお客様に合った方法を探して
みてください。
at_akihito.irie
kitamura-a
回答ありがとうございます。
> [container]# fbset -xres 1920 -yres 1080
コンテナ上を起動して、fbsetをインストールし、上記コマンドを試しましたが、 Invalid argument になり、
fbset -xres 1024 -yres 768 この数値以下であると、エラーが出ない。
fbset コマンドを試した時にこの数値以下ならばmodeが反映されているように見えます。
この環境下では対応していない?ということでしょうか。調べる方法がもしあれば教えてください。
・環境設定の際は、
podman pull docker.io/debian:bullseye
このコマンドで対応しました。
・[9.1.3. アットマークテクノが提供するイメージを使う]
ここからのイメージを使用する必要があるのでしょうか。
よろしくお願いいたします。
at_akihito.irie
入江です。
一度、以下のコマンドの出力をいただけますでしょうか。
[container]# fbset -a -i -v
> ・[9.1.3. アットマークテクノが提供するイメージを使う]
> ここからのイメージを使用する必要があるのでしょうか。
NPUやVPUを使用する場合は、アットマークテクノが提供するイメージの使用を
お勧めしています。
アットマークテクノが提供するイメージ以外において、特定のdebianパッケー
ジを使用する際に、アットマークテクノのリポジトリから取得しなければ正常
に動作しないものがあるなどの制約がありますが、今回のようなフレームバッ
ファへの描画については問題ないはずです。
kitamura-a
fbset -xres 1920 -yres 1080 で変更できることを確認できました。
(原因については、今の段階ではわかりません。変更点としては8月まで御社のレンタル品でテストしていたものを今回新規で購入した程度です。)
ただし、Armadilloログイン時や、アプリの起動時にディスプレイの最大解像度 3840 * 2160で表示されてしまいます。
①ログイン画面時から、②あるいはアプリ起動時だけ1920 * 1080に設定する方法はありますか。
fbset -a -i -v を試した結果は下記のとおりです。
Linux Frame Buffer Device Configuration Version 2.1 (23/06/1999)
(C) Copyright 1995-1999 by Geert Uytterhoeven
Opening frame buffer device `/dev/fb0'
Using current video mode from `/dev/fb0'
mode "1920x1080"
geometry 1920 1080 3840 2160 32
timings 0 0 0 0 0 0 0
accel true
rgba 8/16,8/8,8/0,0/0
endmode
Getting further frame buffer information
Frame buffer device information:
Name : imx-drmdrmfb
Address : 0
Size : 33177600
Type : PACKED PIXELS
Visual : TRUECOLOR
XPanStep : 1
YPanStep : 1
YWrapStep : 0
LineLength : 15360
Accelerator : No
at_akihito.irie
入江です。
強制的に任意のEDIDを読み込ませて解像度を固定する方法があります。
詳しくは以下の記事にまとまっていますのでお試しください。
https://qiita.com/tkomagata/items/74a026f5cada3da21d6a
Armadilloのカーネルのビルド方法については、製品マニュアルを参照してください。
https://manual.atmark-techno.com/armadillo-iot-g4/armadillo-iotg-g4_pro…
at_akihito.irie
2022年8月3日 15時20分
入江です。
お使いのウィンドウシステム(Wayland/weston, X Window system, フレームバッ
ファに直接描画など…)は何でしょうか?
おそらく環境変数
QT_QPA_PLATFORM
で設定しているか、Qtアプリケーション実行時に-platform
オプションで指定していると思われますのでご確認ください。