urasue
2023年3月30日 19時36分
お世話になっております。
浦末です。
解像度が1280x800のモニタにArmadilloX2を接続したのですが、
800x600の解像度で表示されてしまいます。
※このモニタをWindowsに接続すると1280x800で表示されます。
何か設定が不足していますでしょうか。
/var/app/rollback/volumes/weston_conf/weston.ini
[core] idle-time=0 use-g2d=1 xwayland=true repaint-window=16 [shell] panel-position=none [output] name=HDMI-A-1 mode=1280x900 [output] name=LVDS-1 mode=off
podman logs weston2 の結果
[19:34:15.793] Output HDMI-A-1 (crtc 36) video modes: 800x600@60.3, current, 40.0 MHz 800x600@56.2, 36.0 MHz 640x480@59.9, 25.2 MHz [19:34:15.793] associating input device event1 with output HDMI-A-1 (none by udev) [19:34:15.793] Output 'HDMI-A-1' enabled with head(s) HDMI-A-1 [19:34:15.793] Compositor capabilities: arbitrary surface rotation: yes screen capture uses y-flip: yes presentation clock: CLOCK_MONOTONIC, id 1 presentation clock resolution: 0.000000001 s
/etc/atmark/containers/weston2.conf
ip=192.168.1.106 network=my_network set_image localhost/weston2:latest add_devices /dev/dri /dev/galcore /dev/input /dev/tty7 /dev/snd /dev/rtc0 /dev/fb0 add_volumes weston_conf:/etc/xdg/weston add_volumes /run/udev:/run/udev:ro /opt/firmware:/opt/firmware:ro add_volumes /tmp/xdg_home:/run/xdg_home add_volumes data:/data add_volumes /mnt:/mnt add_args --env=XDG_RUNTIME_DIR=/run/xdg_home add_args --env=TZ=Asia/Tokyo add_args --cap-add=SYS_TTY_CONFIG add_args --cap-add=SYS_ADMIN add_args --cap-add=SYS_TIME set_command weston --tty=7
コメント
urasue
お世話になります。浦末です。
以下コマンドの実行結果になります。
root@1043133d0524:/mnt/camera# edid-decode /sys/devices/platform/display-subsystem/drm/card1/card1-HDMI-A-1/edid edid-decode (hex): 00 ff ff ff ff ff ff 00 1c 35 00 0a 01 00 00 00 00 1b 01 03 80 1a 10 78 2a e8 a0 91 59 59 8a 27 22 50 54 2f ce 00 81 00 01 01 01 01 01 01 01 01 01 01 01 01 01 01 bc 1b 00 a0 50 20 17 30 30 20 36 00 05 a3 10 00 00 1a 00 00 00 fc 00 47 46 31 32 41 44 35 2d 30 35 0a 20 20 00 00 00 fd 00 38 4b 1e 3f 0a 00 0a 20 20 20 20 20 20 00 00 00 10 00 0a 20 20 20 20 20 20 20 20 20 20 20 20 00 1e ---------------- Block 0, Base EDID: EDID Structure Version & Revision: 1.3 Vendor & Product Identification: Manufacturer: GAU Model: 2560 Serial Number: 1 Made in: 2017 Basic Display Parameters & Features: Digital display Maximum image size: 26 cm x 16 cm Gamma: 2.20 DPMS levels: Off RGB color display First detailed timing is the preferred timing Color Characteristics: Red : 0.5693, 0.3496 Green: 0.3496, 0.5390 Blue : 0.1542, 0.1347 White: 0.3125, 0.3281 Established Timings I & II: DMT 0x04: 640x480 59.940 Hz 4:3 31.469 kHz 25.175 MHz DMT 0x05: 640x480 72.809 Hz 4:3 37.861 kHz 31.500 MHz DMT 0x06: 640x480 75.000 Hz 4:3 37.500 kHz 31.500 MHz DMT 0x08: 800x600 56.250 Hz 4:3 35.156 kHz 36.000 MHz DMT 0x09: 800x600 60.317 Hz 4:3 37.879 kHz 40.000 MHz DMT 0x0a: 800x600 72.188 Hz 4:3 48.077 kHz 50.000 MHz DMT 0x0b: 800x600 75.000 Hz 4:3 46.875 kHz 49.500 MHz DMT 0x10: 1024x768 60.004 Hz 4:3 48.363 kHz 65.000 MHz DMT 0x11: 1024x768 70.069 Hz 4:3 56.476 kHz 75.000 MHz DMT 0x12: 1024x768 75.029 Hz 4:3 60.023 kHz 78.750 MHz Standard Timings: DMT 0x1c: 1280x800 59.810 Hz 16:10 49.702 kHz 83.500 MHz Detailed Timing Descriptors: DTD 1: 1280x800 59.910 Hz 8:5 49.306 kHz 71.000 MHz (261 mm x 163 mm) Hfront 48 Hsync 32 Hback 80 Hpol P Vfront 3 Vsync 6 Vback 14 Vpol N Display Product Name: 'GF12AD5-05' Display Range Limits: Monitor ranges (GTF): 56-75 Hz V, 30-63 kHz H, max dotclock 100 MHz Dummy Descriptor: Checksum: 0x1e
すみません。
weston.ini
mode=1280x900
としておりました。
下記に修正してみたのですが状況は同じでした。
mode=1280x800
at_mizo
溝渕です。
1280x800のタイミングは以下の2つで、
DMT 0x1c: 1280x800 59.810 Hz 16:10 49.702 kHz 83.500 MHz DTD 1: 1280x800 59.910 Hz 8:5 49.306 kHz 71.000 MHz (261 mm x 163 mm)
83.500 MHz(83500000 Hz), 71.000 MHz(71000000 Hz)共に非対応の為に描画できません。
[Armadilloフォーラム: G4 EDIDの固定方法について]
https://armadillo.atmark-techno.com/forum/armadillo/14580
上記を参考にして、適切なタイミングのEDIDで固定化すると描画できる可能性があります。
ディスプレイのタイミングの許容範囲が不明なので動くかどうかわかりませんが、1280x800のタイミングを作ってみたのでサンプルとしてご利用ください。
クロックは元の72MHzに近い71MHzにしてあります。
ファイル | ファイルの説明 |
---|---|
1280x800.txt | Linuxカーネルソースの"tools/edid/"に配置します。拡張子を".txt"から".S"に変更してご利用ください。 |
urasue
浦末です。
ご回答ありがとうございます。
下記の手順で1280x800.binを追加したカーネルを作り直そうとしておりますが、
Imageファイルが生成されず悩んでおります。
wget https://armadillo.atmark-techno.com/files/downloads/alpine/v3.17/atmark/src/linux-at-x2-5.10.175-r0.tar tar xf linux-at-x2-5.10.175-r0.tar cd linux-5.10-5.10.175-r0/ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- x2_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- menuconfig 1280x800.binをロードするよう変更。 make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j5 atmark@atde9:~/linux-5.10-5.10.175-r0/arch/arm64/boot$ ls Makefile dts install.sh
ここにImageファイルが出来ていない?
at_mizo
at_dominique.m…
urasueさん、
横からすみません、
マルティネです。
> 恐らくビルドに失敗しており、エラーログが表示されていると思います。
-j5 で実行すると、エラーの後にまだ長い出力ありますので、エラーしたことが分かりにくいですね。
今回のエラーは当てているだけですが、もしかしたら「make[4]: *** No rule to make target '/lib/firmware/nxp/pcieuart9098_combo_v1.bin', needed by 'drivers/base/firmware_loader/builtin/nxp/pcieuart9098_combo_v1.bin.gen.o'. Stop.」のようなエラーになると思いますので、「sudo apt update && sudo apt install atmark-firmware」で解決されます。
少し前の atde にあらかじめインストールしていなかったので、最新のマニュアルの準備コマンドを実行しなかった場合にこのエラーになります。
よろしくお願いします。
urasue
浦末です。
古いマニュアルを参照しておりました。
そのため、atmark-firmwareが入っておらず、エラーが発生しておりました。
Imageファイルが生成できました。
古い方 sudo apt install crossbuild-essential-arm64 bison flex python3-pycryptodome python3-pyelftools zlib1g-dev libssl-dev bc firmware-misc-nonfree firmware-libertas firmware-atheros wireless-regdb 新しい方 sudo apt install crossbuild-essential-arm64 bison flex python3-pycryptodome python3-pyelftools zlib1g-dev libssl-dev bc firmware-misc-nonfree wireless-regdb atmark-firmware atmark@atde9:~/linux-5.10-5.10.175-r0/arch/arm64/boot$ ls Image Image.gz Makefile dts install.sh
urasue
マルティネ様、溝渕様
浦末です。
おかげさまで、1280x800の表示が出来るようになりました。
ありがとうございました。
■カーネル作成
sudo apt install crossbuild-essential-arm64 bison flex python3-pycryptodome python3-pyelftools zlib1g-dev libssl-dev bc firmware-misc-nonfree wireless-regdb atmark-firmware make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- x2_defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- menuconfig ※DRM_LOAD_EDID_FIRMWAREを有効にする ※edid/800x600.binを追加する make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j5
■カーネル更新
swuファイルを作成し、USBメモリへコピー。
armadilloにUSBメモリを挿してカーネルをアップデート。
/usr/share/mkswu/examples/kernel_update_plain.install.sh ~/mkswu/kernel.desc mkswu ~/mkswu/kernel.desc cp ~/mkswu/kernel.swu /media/atmark/0cb626de-287b-4042-924c-05ab360827b1/.
■bootパラメータ変更
[armadillo]# vi /boot/uboot_env.d/edid optargs=quiet drm.edid_firmware=1280x800.bin [armadillo]# persist_file /boot/uboot_env.d/edid [armadillo]# fw_setenv -s /boot/uboot_env.d/edid [armadillo]# reboot
■確認
armadillo:/mnt# zcat /proc/config.gz | grep DRM_LOAD_EDID_FIRMWARE CONFIG_DRM_LOAD_EDID_FIRMWARE=y armadillo:/mnt# dmesg | grep "EDID base block" [ 0.913187] [drm] Got external EDID base block and 0 extensions from "edid/1280x800.bin" for connector "HDMI-A-1" [ 5.106386] [drm] Got external EDID base block and 0 extensions from "edid/1280x800.bin" for connector "HDMI-A-1" [ 136.051189] [drm] Got external EDID base block and 0 extensions from "edid/1280x800.bin" for connector "HDMI-A-1" [ 198.826811] [drm] Got external EDID base block and 0 extensions from "edid/1280x800.bin" for connector "HDMI-A-1"
ファイル | ファイルの説明 |
---|---|
menu01.jpg | カーネル設定 1280x800.binを追加 |
menu02.jpg | DRM_LOAD_EDID_FIRMWARE を有効化 |
at_mizo
at_mizo
2023年3月31日 9時59分
溝渕です。
> 解像度が1280x800のモニタにArmadilloX2を接続したのですが、
> 800x600の解像度で表示されてしまいます。
> ※このモニタをWindowsに接続すると1280x800で表示されます。
> 何か設定が不足していますでしょうか。
設定は問題無さそうに見えます。
1280x800が、Armadillo-X2が描画可能なタイミングかどうかを確認したいので、次のコマンドのログをいただけますか?
特に、DTD(Detailed Timing Descriptors)で独自のタイミングを指定している場合は描画できない事があるかもしれません。Armadillo-X2で対応しているピクセルクロックは次の通りです。
22250000
23750000
24000000
24024000
25175000
25200000
26750000
27000000
27027000
29500000
30750000
30888000
33750000
35000000
36000000
36036000
40000000
43200000
43243200
44500000
47000000
47500000
50349650
50400000
53250000
53500000
54000000
54054000
59000000
59340659
59400000
61500000
63500000
67500000
70000000
72000000
72072000
74176000
74250000
78500000
80000000
82000000
82500000
89000000
90000000
94000000
95000000
98901099
99000000
100699300
100800000
102500000
104750000
106500000
107000000
108000000
108108000
118000000
118800000
123000000
127000000
135000000
135580000
137520000
138750000
140000000
144000000
148352000
148500000
154000000
157000000
160000000
162000000
164000000
165000000
180000000
185625000
188000000
198000000
205000000
209500000
213000000
216000000
216216000
237600000
254000000
277500000
288000000
297000000
165000000
185625000
198000000
90000000
99000000