sudo apt-get update
 sudo apt-get upgrade
vim ~/.bashrc
export WLD=$HOME/install
export LD_LIBRARY_PATH=$WLD/lib
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/home/zzj/install/lib/x86_64-linux-gnu/pkgconfig/
source ~/.bashrc
=========配置路径================
此处根据个人电脑配置路径
 /home/zzj/install/lib/x86_64-linux-gnu/pkgconfig/
 可能为
 /home/zzj/install/lib64/pkgconfig/
=========配置路径================
/home/zzj
mkdir install
 mkdir works
 mkdir source
 cd source
=======================wayland===================================
git clone https://gitlab.freedesktop.org/wayland/wayland.git
cd wayland
git checkout main
 (
 git log
 commit 9700155edaae37bf91b55b58c1c2adf2ed142282 (HEAD -> main, origin/main, origin/HEAD)
 Author: Mikhail Gusarov <dottedmag@dottedmag.net>
 Date:   Thu Oct 20 23:31:33 2022 +0200
    protocol: wl_subsurface::destroy does not remove the role
     Role assigned to wl_surface cannot be removed.
     Delete contradicting text from wl_subsurface::destroy documentation.
     Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.net>
 )
meson build/ --prefix=$WLD
 (
 Command 'meson' not found, but can be installed with:
 sudo apt install meson
 )
sudo apt install meson
meson build/ --prefix=$WLD
 (
 ERROR: Pkg-config binary for machine 1 not found
 )
 sudo apt install pkg-config
(
 Dependency "libffi" not found
 )
 sudo apt install libffi-dev
(
 Dependency "expat" not found
 )
 sudo apt install libexpat1-dev
(
 Dependency "libxml-2.0" not found
 )
 sudo apt install libxml2-dev
(
 Program 'dot' not found or not executable
 )
 sudo apt install graphviz
(
 Program 'doxygen' not found or not executable
 )
 sudo apt install doxygen
(
 Program 'xsltproc' not found or not executable
 )
 sudo apt install xsltproc
(
 Program 'xmlto' not found or not executable
 )
 sudo apt install xmlto
meson build/ --prefix=$WLD
 (
 Build targets in project: 60
 wayland 1.21.90
   User defined options
     prefix: /home/zzj/install
 Found ninja-1.10.1 at /usr/bin/ninja
 )
ninja -C build/ install
 (
 Installing /home/zzj/works/wayland/protocol/wayland.xml to /home/zzj/install/share/wayland
 Installing /home/zzj/works/wayland/protocol/wayland.dtd to /home/zzj/install/share/wayland
 Installing /home/zzj/works/wayland/wayland-scanner.m4 to /home/zzj/install/share/aclocal
 )
=======================wayland===================================
 cd ..
 =======================wayland-protocols=========================
 git clone https://gitlab.freedesktop.org/wayland/wayland-protocols
 cd wayland-protocols
 git checkout main
 (
 git log
 commit 37a7b9d387f01ae789432872028317488d0000c8 (HEAD -> main, origin/main, origin/HEAD)
 Author: Philip Withnall <philip@tecnocode.co.uk>
 Date:   Mon Dec 19 12:37:57 2022 +0000
    Fix typo in xdg-activation-v1
     Noticed during review in
     https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/98#note_1003427,
     but not changed at the time.
     Noticed again in https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3090#note_1606895.
     Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
 )
meson build/ --prefix=$WLD
 (
 Dependency "wayland-scanner" not found
 )
 export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/home/zzj/install/lib/x86_64-linux-gnu/pkgconfig/
 (
 此处根据个人电脑配置路径
 /home/zzj/install/lib/x86_64-linux-gnu/pkgconfig/
 可能为
 /home/zzj/install/lib64/pkgconfig/
 )
meson build/ --prefix=$WLD
 (
 Compiler for C supports link arguments -Wl,--unresolved-symbols=ignore-all: YES
 Build targets in project: 236
 wayland-protocols 1.31
   User defined options
   prefix: /home/zzj/install
 )
ninja -C build/ install
 (
 Installing /home/zzj/source/wayland-protocols/unstable/xdg-shell/xdg-shell-unstable-v5.xml to /home/zzj/install/share/wayland-protocols/unstable/xdg-shell
 Installing /home/zzj/source/wayland-protocols/unstable/xdg-shell/xdg-shell-unstable-v6.xml to /home/zzj/install/share/wayland-protocols/unstable/xdg-shell
 Installing /home/zzj/source/wayland-protocols/unstable/xwayland-keyboard-grab/xwayland-keyboard-grab-unstable-v1.xml to /home/zzj/install/share/wayland-protocols/unstable/xwayland-keyboard-grab
 Installing /home/zzj/source/wayland-protocols/build/wayland-protocols.pc to /home/zzj/install/share/pkgconfig
 )
 =======================wayland-protocols=========================
 cd ..
 =======================libinput==================================
 git clone https://gitlab.freedesktop.org/libinput/libinput/
 cd libinput
 git checkout main
 (
 git log
 commit 3b1f86c7c637d5ec4140ec3babc211f1fa6857ac (HEAD -> main, origin/main, origin/HEAD)
 Author: Zhangyuan Nie <yuan@znie.org>
 Date:   Mon Jan 16 18:43:46 2023 -0800
    quicks: invert horizontal scrolling for Logitech MX Master 3S
     Signed-off-by: Zhangyuan Nie <yuan@znie.org>
 )
meson build/ --prefix=$WLD
 (
 Dependency "libudev" not found
 )
 sudo apt install libudev-dev
(
 Dependency "mtdev" not found
 )
 sudo apt install libmtdev-dev
(
 Dependency "libevdev" not found
 )
 sudo apt install libevdev-dev
(
 Dependency "libwacom" not found
 )
 sudo apt install libwacom-dev
(
 Dependency "gtk+-3.0" not found
 )
 sudo apt install libgtk-3-dev
(
 Dependency "check" not found
 )
 sudo apt install check
meson build/ --prefix=$WLD
 (
 Build targets in project: 40
 libinput 1.22.0
   User defined options
   prefix: /home/zzj/install
   Found ninja-1.10.1 at /usr/bin/ninja
 )
ninja -C build/ install
 (
 Installing /home/zzj/works/libinput/build/libinput-replay.1 to /home/zzj/install/share/man/man1
 Installing /home/zzj/works/libinput/build/libinput-test.1 to /home/zzj/install/share/man/man1
 Installing /home/zzj/works/libinput/build/libinput-quirks-list.1 to /home/zzj/install/share/man/man1
 Installing /home/zzj/works/libinput/build/libinput-quirks-validate.1 to /home/zzj/install/share/man/man1
 )
 =======================libinput==================================
 cd ..
 =======================weston====================================
 git clone https://gitlab.freedesktop.org/wayland/weston.git
 cd weston
 git checkout main
 (
 git log
 commit 35b3cb83b0bf427b7c40ba080bc32b58a68f5b62 (HEAD -> main, origin/main, origin/HEAD)
 Author: Loïc Molinari <loic.molinari@gmail.com>
 Date:   Tue Jan 3 20:14:41 2023 +0100
     gl-renderer: Disable vertex attrib arrays in shadow pass
     The blit_shadow_to_output() function leaves the generic vertex attrib
     arrays 0 and 1 enabled. This commit disables them for consistency with
     the other drawing calls of the renderer.
     Signed-off-by: Loïc Molinari <loic.molinari@gmail.com>
 )
meson build/ --prefix=$WLD
 (
 Dependency "libinput" not found
 )
 //libinput 路径 需要加入到PKG_CONFIG_PATH
 export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/home/zzj/install/lib/x86_64-linux-gnu/pkgconfig
(
 Dependency "libdrm" not found
 )
 sudo apt install libdrm-dev
(
 Problem encountered: WEBP image loading requires libwebp which was not found. Or, you can use '-Dimage-webp=false'.
 )
 sudo apt install libwebp-dev
(
 C shared or static library 'pam' not found
 )
 sudo apt install libpam-dev
(
 Dependency "libseat" not found
 )
 sudo apt install libseat-dev
(
 ERROR: Could not generate cargs for libseat:
 Package libsystemd was not found in the pkg-config search path.
 Perhaps you should add the directory containing `libsystemd.pc'
 to the PKG_CONFIG_PATH environment variable
 Package 'libsystemd', required by 'libseat', not found
 )
 sudo apt install libsystemd-dev
(
 Problem encountered: color-lcms plugin requires lcms2 which was not found. Or, you can use '-Dcolor-management-lcms=false'
 )
 sudo apt install liblcms2-dev
(
 Problem encountered: drm-backend with GL renderer requires gbm which was not found. Or, you can use '-Drenderer-gl=false'.
 )
 sudo apt-get install  libgbm-dev
(
 Problem encountered: VA-API recorder requires libva >= 0.34.0 which was not found. Or, you can use '-Dbackend-drm-screencast-vaapi=false'.
 )
 sudo apt-get install libva-dev
(
 Problem encountered: RDP-backend requires freerdp >= 2.3.0 which was not found. Or, you can use '-Dbackend-rdp=false'.
 )
 sudo apt install freerdp2-dev
(
 Problem encountered: VNC backend requires neatvnc which was not found. Or, you can use '-Dbackend-vnc=false'.
 )
 sudo apt search neatvnc
 sudo apt install libneatvnc-dev
(
 Dependency neatvnc found: NO found 0.4.0 but need: '>= 0.5.0' ; matched: '< 0.6.0'
 weston 最新版本需要 neatvnc >= 0.5.0
 本人Ubuntu版本是22.04 neatvnc 版本为  0.4.0
 更新22.10 source.list 安装完 libneatvnc-dev 再切回 22.04
 )
 sudo apt install libneatvnc-dev=0.5.1+dfsg-2
(
 Problem encountered: x11-backend requires x11-xcb which was not found.
 )
 sudo apt search libx11-xcb-dev
(
 Problem encountered: xwayland requires xcb-composite which was not found
 )
 sudo apt install libxcb-composite0-dev
(
 Problem encountered: Remoting plugin requires gstreamer-1.0 which was not found
 )
 sudo apt install libgstreamer1.0-dev
(
 Remoting plugin requires gstreamer-allocators-1.0 which was not found
 )
 sudo apt install libgstreamer-plugins-base1.0-dev
(
 Pipewire plugin requires libpipewire which was not found
 )
 sudo apt install libpipewire-0.3-dev
meson build/ --prefix=$WLD
 (
 Message: Documentation will not be built. Use -Ddoc to build it.
 Build targets in project: 200
 NOTICE: Future-deprecated features used:
  * 0.56.0: {'Dependency.get_pkgconfig_variable'}
  weston 11.0.90
   User defined options
   prefix: /home/zzj/install
   Found ninja-1.10.1 at /usr/bin/ninja
 )
ninja -C build/ install
 (
 Installing /home/zzj/works/weston/build/man/weston-drm.7 to /home/zzj/install/share/man/man7
 Installing /home/zzj/works/weston/build/man/weston-rdp.7 to /home/zzj/install/share/man/man7
 Installing /home/zzj/works/weston/build/man/weston-vnc.7 to /home/zzj/install/share/man/man7
 Installing /home/zzj/works/weston/pam/weston-remote-access to /home/zzj/install/etc/pam.d
 )
(
 weston: error while loading shared libraries: libweston-12.so.0: cannot open shared object file: No such file or directory
 )
 //此环境变量放到配置文件里,可在tty3直接运行,启动weston
 export LD_LIBRARY_PATH=/home/zzj/install/lib/x86_64-linux-gnu
weston
 =======================weston====================================
plasma下

tty3下




















