介绍通过Buildroot构建嵌入式Linux上基于Wayland架构的用户图形桌面环境。比较传统的X Window System(X11)与现代的Wayland各自的特点,涉及Android手机上的用户界面实现。

在Windows 10/11平台上,通过VMware Workstation安装Ubuntu 24.04。

在Buildroot目录下,打开命令行,执行make menuconfig配置Buildroot。
在Toolchain下,选择Enable C++ support和Enable compiler OpenMP support。

在System configuration下,将/dev management改为Dynamic using devtmpfs + eudev。

在Target packages / Graphic libraries and applications (graphic/text)下,选择mesa3d。
将mesa3d下的如下各项选择上

在Target packages / Graphic libraries and applications (graphic/text)下,选择weston。
选择weston下的各项如下

在Target packages / Fonts, cursors, icons, sounds and themes下,选择Liberation (Free fonts)。

在Target packages / Networking applications下,选择openssh。



在Buildroot目录,打开命令行。执行make linux-menuconfig配置Linux。
在Device Drivers / Graphics support / Direct Rendering Manager下,配置如下各项:
Enable legacy fbdev support for your modesetting driver
DRM driver for VMware Virtual GPU



qemu-system-x86_64.exe -display sdl,gl=on,show-cursor=off \
-M q35 -m 4G -kernel bzImage \
-drive file=rootfs.ext2,if=virtio,format=raw \
-append "rootwait root=/dev/vda console=tty1 console=ttyS0" \
-device virtio-net,netdev=user0 \
-netdev user,id=user0,hostfwd=tcp::2222-:22 \
-device virtio-vga-gl,xres=1024,yres=600 \
-device virtio-rng-pci
打开weston-terminal,在命令行依次执行:
$ weston-flower &
$ weston-simple-dmabuf-egl &
$ weston-simple-damage &
$ weston-simple-shm &
$ weston-simple-egl &
