参考文章:
1、嵌入式桌面(1)——weston桌面_qt weston-CSDN博客
2、https://blog.51cto.com/u_16213414/9171009
3、weston.ini: configuration file for Weston — the reference Wayland compositor | weston File Formats | Man Pages | ManKier
一、buildroot打开weston选项
配置Weston
在Buildroot中配置Weston非常简单。通过执行 make menuconfig
命令,我们可以进入配置菜单,并选择Weston和相关的依赖包。以下是一些常见的Weston配置选项:
BR2_PACKAGE_WESTON
:启用Weston软件包BR2_PACKAGE_WESTON_DRM
:启用DRM后端支持BR2_PACKAGE_WESTON_FBDEV
:启用Framebuffer后端支持BR2_PACKAGE_WESTON_X11
:启用X11后端支持
通过选择适当的配置选项,可以根据需要启用或禁用Weston的不同功能。
这一步我只打开了第一个。
二、设置自启动以及环境变量
相关文件,自己添加
/etc/init.d/S31weston //weston自启动程序
/etc/xdg/weston/weston.ini //weston配置文件
/etc/profile.d/env.sh //环境变量配置
1、自启动文件
/etc/init.d/S31weston
#!/bin/sh
#
# Start linux launcher...
#case "$1" instart)printf "Starting weston"source /etc/profile.d/env.shweston -c /etc/xdg/weston/weston.ini --tty=2 --idle-time=0 --log=/var/log/weston.log &;;stop)killall westonprintf "stop finished";;*)echo "Usage: $0 {start|stop}"exit 1;;
esac
exit 0
2、/etc/xdg/weston/weston.ini
[terminal]
font=DejaVu Sans Mono
font-size=20[shell]
# top(default)|bottom|left|right|none, none to disable panel
# panel-position=none# Scale panel size
panel-scale=1.6# Set cursor size
cursor-theme=xcursor-transparent
cursor-size=12# none|minutes(default)|minutes-24h|seconds|seconds-24h
clock-format=seconds-24h
clock-with-date=false# Disable screen locking
locking=false[libinput]
# Uncomment below to enable touch screen calibrator(weston-touch-calibrator)
touchscreen_calibrator=true
calibration_helper=/bin/weston-calibration-helper.sh[keyboard]
# Comment this to enable vt switching
vt-switching=false# Configs for auto key repeat
# repeat-rate=40
# repeat-delay=400[core]
# Boards could have not any input device, and only use
# removable input device like usb(keyboard, mouse).
require-input=false
3、/etc/profile.d/env.sh
#!/bin/sh export LC_ALL='zh_CN.utf8'
export QT_QPA_PLATFORM=wayland
#export WESTON_DRM_MIRROR=1
export WESTON_DRM_KEEP_RATIO=1
export QT_GSTREAMER_WINDOW_VIDEOSINK=waylandsink
mkdir -p /tmp/.xdg && chmod 0700 /tmp/.xdg
export XDG_RUNTIME_DIR=/tmp/.xdg
export PATH=$PATH:/usr/bin/cmd
export QT_QPA_GENERIC_PLUGINS=evdevkeyboard
4、运行触摸屏的校准程序
参考文章:在 NXP iMX8 上进行 Qt5移植和开发_ARM_iMX8_中国工控网
root@colibri-imx8x:~/touchinteraction# weston-touch-calibrator
could not load cursor 'dnd-move'
could not load cursor 'dnd-copy'
could not load cursor 'dnd-none'
device "/sys/devices/platform/5a800000.i2c/i2c-16/16-002c/input/input1/event1" - head "DPI-1"
------------------------------
校准触摸屏
------------------------------
root@colibri-imx8x:~# weston-touch-calibrator /sys/devices/platform/5a800000.i2c/i2c-16/16-002c/input/input1/event1
------------------------------
依次点击屏幕上的校准坐标。
对于电容触摸屏用户,则无需校准,可以直接使用。当然前提是触摸屏的驱动能够正常工作。可以参考这篇文章:linux开发知识点笔记汇总(F1C200S)-CSDN博客
5、设置桌面背景
结果
在/etc/xdg/weston/weston.ini中新增:
[shell]
background-image=/usr/share/weston/background.png
background-type=scale-crop
原文链接:https://blog.csdn.net/u014436243/article/details/128288199
发现的问题:weston的配置文件不能在编译的时候提前写入,只能编译完后手动添加,否则会导致weston启动时无法读取配置文件。
到这一步weston桌面只是显示出来了,工具栏上可以显示时间时间及一个终端图标。每次启动之后都需要运行weston-touch-calibrator /sys/devices/platform/soc/1c27000.i2c/i2c-0/0-0048/inp
ut/input0/event0重启校准一下触摸屏,校准后可以点击工具栏的terminal图标启动终端