我正在尝试在我的 imx8mm 上运行 weston,它似乎在初始化某种类型的套接字时遇到了问题。
root@arx2:/usr/bin# udevadm info /dev/dri/card0
P: /devices/platform/38000000.gpu/drm/card0
N: dri/card0
L: 0
S: dri/by-path/platform-38000000.gpu-card
E: DEVPATH=/devices/platform/38000000.gpu/drm/card0
E: DEVNAME=/dev/dri/card0
E: DEVTYPE=drm_minor
E: MAJOR=226
E: MINOR=0
E: SUBSYSTEM=drm
E: USEC_INI
tiALIZED=5088440
E: ID_PATH=platform-38000000.gpu
E: ID_PATH_TAG=platform-38000000_gpu
E: ID_FOR_SEAT=drm-platform-38000000_gpu
E: DEVLINKS=/dev/dri/by-path/platform-38000000.gpu-card
E: TAGS=:master-of-seat:uaccess:seat:
E: CURRENT_TAGS=:master-of-seat:uaccess:seat:
root@arx2:/usr/bin# udevadm info /dev/dri/card1
P: /devices/platform/soc@0/32c00000.bus/32c00000.bus:display-subsystem/drm/card1
N: dri/card1
L: 0
S: dri/by-path/platform-32c00000.bus:display-subsystem-card
E: DEVPATH=/devices/platform/soc@0/32c00000.bus/32c00000.bus:display-subsystem/drm/card1
E: DEVNAME=/dev/dri/card1
E: DEVTYPE=drm_minor
E: MAJOR=226
E: MINOR=1
E: SUBSYSTEM=drm
E: USEC_INITIALIZED=5305863
E: ID_PATH=platform-32c00000.bus:display-subsystem
E: ID_PATH_TAG=platform-32c00000_bus_display-subsystem
E: ID_FOR_SEAT=drm-platform-32c00000_bus_display-subsystem
E: DEVLINKS=/dev/dri/by-path/platform-32c00000.bus:display-subsystem-card
E: TAGS=:seat:uaccess:master-of-seat:
E: CURRENT_TAGS=:seat:uaccess:master-of-seat:
root@arx2:/usr/bin# dmesg | grep weston
[ 6.708655] audit: type=1300 audit(1647169049.768:3): arch=c00000b7 syscall=64 success=yes exit=1 a0=8 a1=fffff706a3e0 a2=1 a3=ffffab1566c0 items=0 ppid=1 pid=332 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=tty7 ses=2 comm="(weston)" exe="/lib/systemd/systemd" key=(null)
[ 6.734731] audit: type=1327 audit(1647169049.768:3): proctitle="(weston)"
在启动过程中,我收到此消息:
[FAILED] Failed to start Weston, a …mpositor, as a system service.
See 'systemctl status weston.service' for details.
root@arx2:~# systemctl status weston.service -l
x weston.service - Weston, a Wayland compositor, as a system service
Loaded: loaded (/lib/systemd/system/weston.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Sun 2022-03-13 10:57:29 UTC; 15min ago
TriggeredBy: * weston.socket
Docs: man:weston(1)
man:weston.ini(5)
http://wayland.freedesktop.org/
Process: 332 ExecStart=/usr/bin/weston --log=${XDG_RUNTIME_DIR}/weston.log --modules=systemd-notify.so (code=exited, status=1/FAILURE)
Main PID: 332 (code=exited, status=1/FAILURE)
Mar 13 10:57:29 arx2 systemd[1]: Starting Weston, a Wayland compositor, as a system service...
Mar 13 10:57:29 arx2 systemd[1]: weston.service: Main process exited, code=exited, status=1/FAILURE
Mar 13 10:57:29 arx2 systemd[1]: weston.service: Failed with result 'exit-code'.
Mar 13 10:57:29 arx2 systemd[1]: Failed to start Weston, a Wayland compositor, as a system service.
尝试手动运行 weston:
root@arx2:~# weston
Date: 2022-03-13 UTC
[11:32:51.371] weston 10.0.0
https://wayland.freedesktop.org
Bug reports to:
https://gitlab.freedesktop.org/wayland/weston/issues/
Build: 10.0.0
[11:32:51.371] Command line: weston
[11:32:51.371] OS: Linux, 5.15.32+gafe2af70b748, #1 SMP PREEMPT Fri Mar 31 13:33:39 UTC 2023, aarch64
[11:32:51.371] Flight recorder: enabled
[11:32:51.372] Using config file '/etc/xdg/weston/weston.ini'
[11:32:51.372] Output repaint window is 16 ms maximum.
[11:32:51.372] Loading module '/usr/lib/libweston-10/drm-backend.so'
[11:32:51.377] initializing drm backend
[11:32:51.377] Trying logind launcher...
[11:32:51.377] logind: failed to get session seat
[11:32:51.377] logind: cannot setup systemd-logind helper error: (No data available), using legacy fallback
[11:32:51.377] Trying weston_launch launcher...
[11:32:51.377] could not get launcher fd from env
[11:32:51.377] Trying direct launcher...
[11:32:51.377] not a vt
[11:32:51.377] if running weston from ssh, use --tty to specify a tty
[11:32:51.377] fatal: drm backend should be run using weston-launch binary, or your system should provide the logind D-Bus API.
[11:32:51.378] BUG: layer_list is not empty after shutdown. Calls to weston_layer_fini() are missing somwhere.
[11:32:51.378] fatal: failed to create compositor backend
Internal warning: debug scope 'drm-backend' has not been destroyed.
root@arx2:~# weston-start
Internal warning: debug scope 'drm-backend' has not been destroyed.
root@arx2:~# weston-info
failed to create display: No such file or directory
我的系统上安装了以下工具:
weston weston-scaler
weston-calibrator weston-screenshooter
weston-clickdot weston-simple-damage
weston-cliptest weston-simple-dmabuf-egl
weston-confine weston-simple-dmabuf-feedback
weston-content_protection weston-simple-dmabuf-v4l
weston-debug weston-simple-egl
weston-dnd weston-simple-shm
weston-editor weston-simple-touch
weston-eventdemo weston-smoke
weston-flower weston-stacking
weston-fullscreen weston-start
weston-image weston-subsurfaces
weston-info weston-terminal
weston-multi-resource weston-touch-calibrator
weston-presentation-shm weston-transformed
weston-resizor
root@arx2:~# systemctl status systemd-logind -l
* systemd-logind.service - User Login Management
Loaded: loaded (/lib/systemd/system/systemd-logind.service; static)
Active: active (running) since Sun 2022-03-13 12:23:13 UTC; 1h 5min ago
Docs: man:sd-login(3)
man:systemd-logind.service(8)
man:logind.conf(5)
man:org.freedesktop.login1(5)
Main PID: 325 (systemd-logind)
Status: "Processing requests..."
Tasks: 1 (limit: 784)
Memory: 1.1M
CGroup: /system.slice/systemd-logind.service
`-325 /lib/systemd/systemd-logind
Mar 13 12:23:12 arx2 systemd[1]: Starting User Login Management...
Mar 13 12:23:13 arx2 systemd-logind[325]: New seat seat0.
Mar 13 12:23:13 arx2 systemd-logind[325]: Watching system buttons on /dev/input/event1 (bd718xx-pwrkey)
Mar 13 12:23:13 arx2 systemd[1]: Started User Login Management.
Mar 13 12:23:13 arx2 systemd-logind[325]: New session c1 of user root.
Mar 13 12:23:13 arx2 systemd-logind[325]: Failed to apply ACLs: Operation not supported
Mar 13 12:23:14 arx2 systemd-logind[325]: Session c1 logged out. Waiting for processes to exit.
Mar 13 12:23:14 arx2 systemd-logind[325]: Removed session c1.
Mar 13 12:23:14 arx2 systemd-logind[325]: Failed to apply ACLs: Operation not supported
Mar 13 12:23:47 arx2 systemd-logind[325]: New session c2 of user root.
${XDG_RUNTIME_DIR}/weston.log 不存在 - 似乎没有创建任何日志,所以我什至无法通过日志文件更详细地了解出了什么问题。从错误消息中可以看出——由于某种原因,创建套接字失败。
配置文件:
root@arx2:~# cat /etc/xdg/weston/weston.ini
[core]
#gbm-format=argb8888
#gbm-format=rgb565
idle-time=0
use-g2d=1
#xwayland=true
repaint-window=16
#enable-overlay-view=1
modules=screen-share.so
#[shell]
#size=1920x1080
[libinput]
touchscreen_calibrator=true
[output]
name=HDMI-A-1
mode=1280x720@60
#transform=rotate-90
[output]
#name=HDMI-A-2
#mode=off
# WIDTHxHEIGHT Resolution size width and height in pixels
# off Disables the output
# preferred Uses the preferred mode
# current Uses the current crt controller mode
#transform=rotate-90
0