前言:
Weston 是 Wayland 显示服务器协议的开源参考实现(合成器/窗口管理器),专为正确性、可靠性、可预测性与性能而设计,提供窗口创建、移动、缩放、透明度处理、输入事件分发及多屏幕支持等核心功能,作为 X 窗口系统现代化替代品 Wayland 的核心组件而备受关注。
软硬件环境
内核配置
./device/config/chips/t527/configs/demo_linux_aiot/linux-5.15/bsp_defconfig
启用全志(Allwinner)芯片的 Panfrost DRM 驱动,用于支持开源Mali GPU(如T720/T760等)的硬件加速渲染。
CONFIG_AW_DRM_PANFROST=yCONFIG_AW_GPU_TYPE="NONE"
buildroot配置
./buildroot/buildroot-202205/configs/sun55iw3p1_aiot_t527_defconfig
禁用全志的私有Valhall架构Mali GPU驱动(如G31/G52等),选择开源方案替代。为传统X11应用程序提供兼容性支持,通过XWayland在Wayland环境中运行。
#关闭BR2_PACKAGE_SUNXI_MALI_VALHALL#BR2_PACKAGE_SUNXI_MALI_VALHALL is not setBR2_PACKAGE_WESTON=yBR2_PACKAGE_WESTON_DEFAULT_DRM=yBR2_PACKAGE_WESTON_DEMO_CLIENTS=yBR2_PACKAGE_WESTON_X11=y#支持xayland,需要额外打开如下宏,启动weston时加上 --xwaylandBR2_PACKAGE_WESTON_XWAYLAND=yBR2_PACKAGE_XORG7=yBR2_PACKAGE_XWAYLAND=y
BR2_PACKAGE_LIBGLVND=yBR2_PACKAGE_MESA3D=yBR2_PACKAGE_MESA3D_NEW_VER=yBR2_PACKAGE_MESA3D_GALLIUM_DRIVER_PANFROST=yBR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST=yBR2_PACKAGE_MESA3D_OPENGL_EGL=yBR2_PACKAGE_MESA3D_OPENGL_ES=y
配置完后,SDK需要重新编译打包才生效
./build.sh distcleanrm -rf out/./build.sh./build.sh pack
配置总结
GPU驱动
内核层:启用开源Panfrost驱动(替代私有Valhall驱动)。
用户层:Mesa3D集成Panfrost Gallium驱动提供OpenGL ES/EGL支持。
显示服务
Weston作为Wayland合成器,默认使用DRM后端。
通过XWayland支持传统X11应用。
图形栈
全开源方案(Mesa3D + Panfrost + Weston)。
备用软件渲染(SWRAST)确保无GPU时的基础功能。
板上运行
将配置后打包的固件烧录到板上。
mkdir /tmp/waylandchmod 0700 /tmp/wayland/mkdir -p /tmp/.X11-unixexport XDG_RUNTIME_DIR="/tmp/wayland"weston --backend=drm-backend.so --tty=1 --xwayland &
总结
对于需要在全志 T527 平台上实现现代、轻量级图形用户界面的开发者,本实践指南提供一套经过验证的、可操作的正确构建 Weston 方案。介绍在全志T527Buildroot的开发平台上成功构建并运行 Weston 桌面环境 的具体过程和关键步骤。
全部0条评论
快来发表一下你的评论吧 !