Armadilloフォーラム

waylandに関するエラー

nakamori

2024年7月29日 20時09分

お世話になっております。

下記リンクの続きになりますが、ディスプレイ表示が出来なくなりました。
・デバイス:armadillo-x2
・ディスプレイ:GTWV050VHB00P
・その他設定:下記リンク参照(現在、2024年6月3日 18時01分まで)
https://armadillo.atmark-techno.com/forum/armadillo/18002

podman psコマンドで確認したところ、
以前、正常に起動していた際にwestonを立ち上げていたコンテナ「weston」が
繰り返し再起動をしていました。
podman logsコマンドを実行したところ、下記のようなエラーメッセージが繰り返し表示されました。

Date: 2024-07-29 UTC
[10:50:35.466] weston 9.0.0
               https://wayland.freedesktop.org
               Bug reports to: https://gitlab.freedesktop.org/wayland/weston/issues/
               Build: 9.0.0
[10:50:35.467] Command line: weston --tty=7
[10:50:35.467] OS: Linux, 5.10.218, #1 SMP PREEMPT Mon Jun 3 17:13:51 JST 2024, aarch64
[10:50:35.467] warning: XDG_RUNTIME_DIR "/run/xdg_home" is not configured
correctly.  Unix access mode must be 0700 (current mode is 755),
and must be owned by the user (current owner is UID 0).
Refer to your distribution on how to get it, or
http://www.freedesktop.org/wiki/Specifications/basedir-spec
on how to implement it.
[10:50:35.467] Using config file '/etc/xdg/weston/weston.ini'
[10:50:35.467] Output repaint window is 16 ms maximum.
[10:50:35.467] Loading module '/usr/lib/aarch64-linux-gnu/libweston-9/drm-backend.so'
[10:50:35.474] initializing drm backend
[10:50:35.474] logind: not running in a systemd session
[10:50:35.474] logind: cannot setup systemd-logind helper (-61), using legacy fallback
[10:50:35.478] using /dev/dri/card1
[10:50:35.478] DRM: supports atomic modesetting
[10:50:35.478] DRM: does not support GBM modifiers
[10:50:35.478] DRM: supports picture aspect ratio
[10:50:35.478] Loading module '/usr/lib/aarch64-linux-gnu/libweston-9/g2d-renderer.so'
[10:50:35.495] event1  - gpio-keys: is tagged by udev as: Keyboard
[10:50:35.496] event1  - gpio-keys: device is a keyboard
[10:50:35.499] event0  - audio-hdmi HDMI Jack: is tagged by udev as: Switch
[10:50:35.535] event0  - not using input device '/dev/input/event0'
[10:50:35.554] libinput: configuring device "gpio-keys".
[10:50:35.554] DRM: head 'LVDS-1' found, connector 38 is connected, EDID make 'unknown', model 'unknown', serial 'unknown'
[10:50:35.633] DRM: head 'HDMI-A-1' found, connector 40 is connected, EDID make 'NRI', model 'unknown', serial '1'
[10:50:35.633] Registered plugin API 'weston_drm_output_api_v1' of size 24
[10:50:35.634] no available modes for HDMI-A-1
[10:50:35.634] Cannot configure an output using weston_drm_output_api.
[10:50:35.634] event1  - gpio-keys: device removed

また、該当コンテナのコンフィグファイルは下記になります。

set_image weston
add_devices /dev/dri /dev/galcore /dev/input /dev/tty7
add_volumes /run/udev:/run/udev:ro /opt/firmware:/opt/firmware:ro
add_volumes /tmp/xdg_home:/run/xdg_home
add_args --env=XDG_RUNTIME_DIR=/run/xdg_home
add_args --cap-add=SYS_TTY_CONFIG
set_autostart no
#set_command sleep infinity
set_command weston --tty=7

ディスプレイ表示を復活させるためには、どのような処理を行えばよいでしょうか?
よろしくお願いします。

コメント

追記になりますが、該当ディスプレイにPCを接続すると正常に映りますので、物理的な故障は無さそうです。

at_dominique.m…

2024年7月30日 8時20分

nakamoriさん

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

> 下記リンクの続きになりますが、ディスプレイ表示が出来なくなりました。

状況を少し整理させてください。
リンク先どおりに edid を設定していただいて、ディスプレイが正常に表示できいていましたが、動かなくなる前に更新か何かを行いましたか?

また、ディスプレイによりますが6月末のアップデート( https://armadillo.atmark-techno.com/news/20240626/update-aiotg4 )の Linux 5.10.220 以降では edid の対応が不要になった可能性もありますので、「abos-ctrl restore-kernel」でカーネルを戻して /boot/uboot_env.d/edid を削除してみていただければ素直に表示できると思います(以前のスレッドでの edid-decode 出力から変更なければ):

# 標準のカーネルをインストールします(ネットワーク必要)
armadillo:~# abos-ctrl restore-kernel
# optargs の u-boot の環境変数も戻します
armadillo:~# persist_file -d /boot/uboot_env.d/edid
armadillo:~# fw_setenv optargs quiet

よろしくお願いします。

マルティネさん

お世話になっております。

> 状況を少し整理させてください。
> リンク先どおりに edid を設定していただいて、ディスプレイが正常に表示できいていましたが、動かなくなる前に更新か何かを行いましたか?
特にソフトウェアを更新した記憶は記憶はありませんが、ハードウェアの構成を変更しました。
1.上記ディスプレイ+armadillo-x2:動作OK
2.上記ディスプレイ+キャプチャボード+armadillo-x2:動作OK
3.上記ディスプレイ+armadillo-x2:1.と同じだが、ディスプレイが付かない

という変遷です。1から2へ変更した際に、何かコンフィグを一部変更した可能性がありますが、
それも修正したと認識しています。
(たとえば、weston.ini)

> また、ディスプレイによりますが6月末のアップデート( https://armadillo.atmark-techno.com/news/20240626/update-aiotg4 )の Linux 5.10.220 以降では edid の対応が不要になった可能性もありますので、「abos-ctrl restore-kernel」でカーネルを戻して /boot/uboot_env.d/edid を削除してみていただければ素直に表示できると思います(以前のスレッドでの edid-decode 出力から変更なければ):

下記のように対応しました。

armadillo:~# abos-ctrl restore-kernel
Checking internet connection...
fetch https://download.atmark-techno.com/alpine/v3.18/atmark/aarch64/APKINDEX.ta                                                  r.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.18/main/aarch64/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.18/community/aarch64/APKINDEX.tar                                                  .gz
atmark [https://download.atmark-techno.com/alpine/v3.18/atmark]
v3.18.8-12-g43ac5466c80 [https://dl-cdn.alpinelinux.org/alpine/v3.18/main]
v3.18.8-16-gfc43b52abc5 [https://dl-cdn.alpinelinux.org/alpine/v3.18/community]
OK: 20071 distinct packages available
Install succeeded, but might not work in the running system
Please reboot if installed program does not work
Cloning current partition to other side. Rollback in case of error.
Starting clone to /dev/mmcblk2p1
Cloning rootfs
Updating appfs snapshots
Reusing up-to-date bootloader
Rollback clone successful
Removing old kernel
(1/1) Purging linux-at-x2 (5.10.199-r0)
Executing busybox-1.36.1-r4.trigger
OK: 170 MiB in 189 packages
Install succeeded, but might not work in the running system
Please reboot if installed program does not work
Installing kernel package
(1/1) Installing linux-at-x2 (5.10.209-r0)
Executing busybox-1.36.1-r4.trigger
OK: 214 MiB in 190 packages
Install succeeded, but might not work in the running system
Please reboot if installed program does not work
Successfully re-installed kernel package
armadillo:~# persist_file -d /boot/uboot_env.d/edid
armadillo:~# fw_setenv optargs quiet
Environment OK, copy 1
armadillo:~#

上記コードを実行後、念のため再起動を行った後、westonコンテナを起動しましたが、やはり同様のエラーが起きているようです。

Date: 2024-07-30 UTC
[01:56:04.405] weston 9.0.0
               https://wayland.freedesktop.org
               Bug reports to: https://gitlab.freedesktop.org/wayland/weston/issues/
               Build: 9.0.0
[01:56:04.405] Command line: weston --tty=7
[01:56:04.405] OS: Linux, 5.10.209-0-at, #1-Alpine SMP PREEMPT Fri Jan 26 02:10:56 UTC 2024, aarch64
[01:56:04.405] warning: XDG_RUNTIME_DIR "/run/xdg_home" is not configured
correctly.  Unix access mode must be 0700 (current mode is 755),
and must be owned by the user (current owner is UID 0).
Refer to your distribution on how to get it, or
http://www.freedesktop.org/wiki/Specifications/basedir-spec
on how to implement it.
[01:56:04.406] Using config file '/etc/xdg/weston/weston.ini'
[01:56:04.406] Output repaint window is 16 ms maximum.
[01:56:04.406] Loading module '/usr/lib/aarch64-linux-gnu/libweston-9/drm-backend.so'
[01:56:04.413] initializing drm backend
[01:56:04.413] logind: not running in a systemd session
[01:56:04.413] logind: cannot setup systemd-logind helper (-61), using legacy fallback
[01:56:04.417] using /dev/dri/card1
[01:56:04.417] DRM: supports atomic modesetting
[01:56:04.417] DRM: does not support GBM modifiers
[01:56:04.417] DRM: supports picture aspect ratio
[01:56:04.417] Loading module '/usr/lib/aarch64-linux-gnu/libweston-9/g2d-renderer.so'
[01:56:04.434] event1  - gpio-keys: is tagged by udev as: Keyboard
[01:56:04.434] event1  - gpio-keys: device is a keyboard
[01:56:04.437] event0  - audio-hdmi HDMI Jack: is tagged by udev as: Switch
[01:56:04.478] event0  - not using input device '/dev/input/event0'
[01:56:04.497] libinput: configuring device "gpio-keys".
[01:56:04.497] DRM: head 'LVDS-1' found, connector 38 is connected, EDID make 'unknown', model 'unknown', serial 'unknown'
[01:56:04.566] DRM: head 'HDMI-A-1' found, connector 40 is connected, EDID make 'NRI', model 'unknown', serial '1'
[01:56:04.566] Registered plugin API 'weston_drm_output_api_v1' of size 24
[01:56:04.566] no available modes for HDMI-A-1
[01:56:04.566] Cannot configure an output using weston_drm_output_api.
[01:56:04.567] event1  - gpio-keys: device removed

よろしくお願いします。

追記になりますが、weston.iniは下記になります。

[core]
idle-time=0
use-g2d=1
xwayland=true
repaint-window=16
 
[shell]
panel-position=none
 
[output]
name=HDMI-A-1
mode=800x480
#mode=1920x1080
 
[output]
name=LVDS-1
mode=off

よろしくお願いします。

at_dominique.m…

2024年7月30日 11時32分

nakamoriさん

早速の確認ありがとうございます。
マルティネです

> [01:56:04.405] OS: Linux, 5.10.209-0-at, #1-Alpine SMP PREEMPT Fri Jan 26 02:10:56 UTC 2024, aarch64

確認不足ですみませんでした、カーネル 5.10.218 を機動していたので Armadillo Base OS 3.19 を機動していたと勘違いしていましたが、このバージョンが機動されたということはまだ Armadillo Base OS 3.18 を利用しています。

abos-ctrl restore-kernel は次のバージョンまで更新してくれませんので、案内が少し足りませんでした。
ディスプレイの修正は Linux 5.10.220 のバージョンに入りましたので、5.10.209 で動かないことで問題ありません。

お手数ですが、以下のコマンドでもう一度試していただけますでしょうか?

armadillo:~# persist_file -a update
armadillo:~# persist_file -a del linux-at-x2
armadillo:~# persist_file -a add -X @fix\ https://download.atmark-techno.com/alpine/v3.20/ atmark linux-at-x2@fix
(1/1) Installing linux-at-x2 (5.10.222-r0)

インストールが正常に完了した場合は再起動してディスプレイが表示されるはずですが、いかがでしょうか。

よろしくお願いします。

マルティネさん

早速の返信、ありがとうございます。

> お手数ですが、以下のコマンドでもう一度試していただけますでしょうか?
>

> armadillo:~# persist_file -a update
> armadillo:~# persist_file -a del linux-at-x2
> armadillo:~# persist_file -a add -X @fix\ https://download.atmark-techno.com/alpine/v3.20/ atmark linux-at-x2@fix
> (1/1) Installing linux-at-x2 (5.10.222-r0)
> 

上記コマンドですが、最終行のみエラーが発生します。

armadillo:~# persist_file -a update
fetch https://download.atmark-techno.com/alpine/v3.18/atmark/aarch64/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.18/main/aarch64/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.18/community/aarch64/APKINDEX.tar.gz
atmark [https://download.atmark-techno.com/alpine/v3.18/atmark]
v3.18.8-12-g43ac5466c80 [https://dl-cdn.alpinelinux.org/alpine/v3.18/main]
v3.18.8-16-gfc43b52abc5 [https://dl-cdn.alpinelinux.org/alpine/v3.18/community]
OK: 20070 distinct packages available
Install succeeded, but might not work in the running system
Please reboot if installed program does not work
armadillo:~# persist_file -a del linux-at-x2
(1/1) Purging linux-at-x2 (5.10.209-r0)
Executing busybox-1.36.1-r4.trigger
OK: 170 MiB in 189 packages
Install succeeded, but might not work in the running system
Please reboot if installed program does not work
#下記エラー発生
armadillo:~# persist_file -a add -X @fix\ https://download.atmark-techno.com/alp
ine/v3.20/ atmark linux-at-x2@fix
(1/1) Installing linux-at-x2 (5.10.222-r0)fetch https://download.atmark-techno.c                                                                                                                                                             om/alpine/v3.20/aarch64/APKINDEX.tar.gz
WARNING: updating and opening https://download.atmark-techno.com/alpine/v3.20/:                                                                                                                                                              No such file or directory
WARNING: The repository tag for world dependency 'linux-at-x2@fix' does not exis                                                                                                                                                             t
ERROR: Not committing changes due to missing repository tags. Use --force-broken                                                                                                                                                             -world to override.

参考までに、再起動を行いましたが、最終行のエラーは解消されませんでした。

よろしくお願いします。

at_dominique.m…

2024年7月30日 14時35分

nakamoriさん

> 上記コマンドですが、最終行のみエラーが発生します。

すみません、試したターミナルからコマンドをコピーした際に余計なスペース文字がコマンドに入ってしまいました。
最後のコマンドは「persist_file -a add -X @fix\ https://download.atmark-techno.com/alpine/v3.20/atmark linux-at-x2@fix」でした(v3.20/ と atmark の間にスペースがありません)

カーネルがインストールされてない状態に再起動した場合に「abos-ctrl restore-kernel」を実行した前の状態にロールバックされたと思いますので、お手数ですがあらかじめ restore-kernel と /boot/uboot_env.d/edid ファイル削除処理も必要でし persist_file -a コマンドの前に再び実行してください(persist_file -a でまたカーネルがない状態になってしまうと再起動できなくなる恐れがありますので、restore-kernel で安全のため機動できる面を複製してから操作した方がいいです)

よろしくお願いします。

マルティネさん

返信ありがとうございます。

> すみません、試したターミナルからコマンドをコピーした際に余計なスペース文字がコマンドに入ってしまいました。
> 最後のコマンドは「persist_file -a add -X @fix\ https://download.atmark-techno.com/alpine/v3.20/atmark linux-at-x2@fix」でした(v3.20/ と atmark の間にスペースがありません)
>
> カーネルがインストールされてない状態に再起動した場合に「abos-ctrl restore-kernel」を実行した前の状態にロールバックされたと思いますので、お手数ですがあらかじめ restore-kernel と /boot/uboot_env.d/edid ファイル削除処理も必要でし persist_file -a コマンドの前に再び実行してください(persist_file -a でまたカーネルがない状態になってしまうと再起動できなくなる恐れがありますので、restore-kernel で安全のため機動できる面を複製してから操作した方がいいです)

上記指示に従い、

armadillo:~# abos-ctrl restore-kernel
armadillo:~# persist_file -d /boot/uboot_env.d/edid
armadillo:~# fw_setenv optargs quiet
armadillo:~# persist_file -a update
armadillo:~# persist_file -a del linux-at-x2
armadillo:~# persist_file -a add -X @fix\ https://download.atmark-techno.com/alpine/v3.20/atmark linux-at-x2@fix

上記コマンドを実行したところ、無事にディスプレイが点灯することを確認しました。ありがとうございます。

一方で、一時的にソフトのインストールを行ったところ、下記エラーが発生しました。

armadillo:~# apk add nano
WARNING: The repository tag for world dependency 'linux-at-x2@fix' does not exist
ERROR: Not committing changes due to missing repository tags. Use --force-broken-world to override.
armadillo:~#

こちらはどのように対応すれば良いでしょうか?
よろしくお願いします。

at_dominique.m…

2024年7月30日 15時28分

nakamoriさん

> 上記コマンドを実行したところ、無事にディスプレイが点灯することを確認しました。ありがとうございます。

点灯できてよかったです。

> 一方で、一時的にソフトのインストールを行ったところ、下記エラーが発生しました。
>

> armadillo:~# apk add nano
> WARNING: The repository tag for world dependency 'linux-at-x2@fix' does not exist
> ERROR: Not committing changes due to missing repository tags. Use --force-broken-world to override.
> armadillo:~#
> 

> こちらはどのように対応すれば良いでしょうか?

確かに違うリポジトリからパッケージをインストールすることで少し変な状態になりましたね。

最終的には Armadillo Base OS を更新していただければ自動的に修正されますが、とりあえずはエラーメッセージが案内してくれてる「apk add --force-broken-world nano」でも問題ないですし、何か修正を永続したい場合は /etc/apk/world ファイルを編集して 「linux-at-x2@fix」を「linux-at-x2@atmark」に戻していただければエラーがなくなります(今回の操作の前の状態です)

よろしくお願いします

マルティネさん

返信ありがとうございます。
ひとまず「apk add --force-broken-world nano」で対応しようと思います。