weston 1: 编译与运行傻瓜教程

article/2025/10/11 1:52:34

本人Kubuntu版本是22.04

sudo apt-get update
sudo apt-get upgrade

进入主目录

cd $HOME/

mkdir install
mkdir works

vim ~/.bashrc

export WLD=$HOME/install

source ~/.bashrc


cd works

=======================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/install/lib/x86_64-linux-gnu/pkgconfig/
(
此处根据个人电脑配置路径
$HOME/install/lib/x86_64-linux-gnu/pkgconfig/
可能为
$HOME/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编译启动需要依赖所以配置文件再加入如下配置

vim ~/.bashrc
export LD_LIBRARY_PATH=$WLD/lib/x86_64-linux-gnu
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$HOME/install/lib/x86_64-linux-gnu/pkgconfig/:$HOME/install/share/pkgconfig
export PATH=$PATH:$WLD/bin

source  ~/.bashrc

=========配置路径================

此处根据个人电脑配置路径
$HOME/install/lib/x86_64-linux-gnu/pkgconfig/
可能为
$HOME/install/lib64/pkgconfig/


export LD_LIBRARY_PATH=$WLD/lib/x86_64-linux-gnu
可能为
export LD_LIBRARY_PATH=$WLD/lib/ 
主要是为了找到路径下的
libinput.pc      wayland-client.pc  wayland-egl-backend.pc  wayland-scanner.pc  weston.pc
libweston-12.pc  wayland-cursor.pc  wayland-egl.pc          wayland-server.pc

libinput.so                   libwayland-cursor.so.0        libwayland-server.so.0.21.90
libinput.so.10                libwayland-cursor.so.0.21.90  libweston-12
libinput.so.10.13.0           libwayland-egl.so             libweston-12.so
libwayland-client.so          libwayland-egl.so.1           libweston-12.so.0
libwayland-client.so.0        libwayland-egl.so.1.21.90     libweston-12.so.0.0.0
libwayland-client.so.0.21.90  libwayland-server.so          pkgconfig
libwayland-cursor.so          libwayland-server.so.0        weston

=========配置路径================

=======================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/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
22.10版本Kubuntu以上版本无此问题,直接安装libneatvnc-dev
)
sudo apt install libneatvnc-dev

(
Problem encountered: x11-backend requires x11-xcb which was not found.
)
sudo apt install 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下


http://chatgpt.dhexx.cn/article/k8sS74II.shtml

相关文章

weston input 概述

weston input 概述 零、前言 本文描述了有关于 weston (基于 wayland 协议一种显示服务器的实现) 中有关于输入设备管理的部分;为了聚焦于此,本文不会对 weston 整体或 wayland 协议进行过多的阐述. 考虑到读者可能存在不同的需求,采用分层次的描述方式,主要面向以下两类人群…

weston 2: 登录后直接启动weston配置

本人Kubuntu版本是22.04 名词&#xff1a;SDDM&#xff08;SDDM - Arch Linux 中文维基&#xff09;显示管理器 配置流程如下&#xff1a; 1.修改配置文件 a.配置.bashrc vim ~/.bashrc //以下内容删除 #export WLD$HOME/install #export LD_LIBRARY_PATH$WLD/lib/x86_64-…

Weston介绍

Weston结构说明 Weston源码结构 clients&#xff1a;wayland显示客户端应用 compositor&#xff1a;合成器进程&#xff08;服务端&#xff09;&#xff0c;窗体风 格样式处理 libweston&#xff1a;合成器以及客户端渲染处理以及驱动实现方式&#xff0c;以及wayland服务与客户…

Wayland/Weston 启动方式简介

前言 本文简单介绍 Weston 常用的几种 backend 启动方式。目前最新的 Weston 8.0.0 支持如下几种 backend&#xff1a; drm-backendfbdev-backendheadless-backendrdp-backendwayland-backendx11-backend 其中 headless-backend 不带任何 UI 界面&#xff0c;主要用于 westo…

weston设置

weston设置 屏幕旋转180度方法修改标题栏位置启动配置文件 屏幕旋转180度方法 编辑 /etc/xdg/weston/weston.ini文件&#xff0c;增加如下语句 [output] nameDSI-1 transform180其中name为你的显示屏名称&#xff0c;可以通过如下命令来查看显示屏名称&#xff1a; card0-DS…

Weston 窗口管理(2)

窗口管理(2) 本文基于 weston 分支 10.0.2 进行描述. 五、概述 本文为窗口管理(1)的续章,更多站在开发者角度,以 weston 的代码实现讲解窗口管理(1)中所实现的部分业务场景. 六、数据结构 在窗口管理(1)中曾经描述过 weston 具体的分层逻辑,如下: 再进一步可以把 WESTON_LAY…

01-weston 简介

参考​​​​​​weston wiki Weston - Gentoo Wiki weston (1): Linux man pages – code.tools Weston-1.12.0 非常详尽&#xff0c;多图慎入&#xff1a;Wayland与Weston简介 - 云社区 - 腾讯云 什么是weston&#xff1f; Wayland是一套display server(Wayland compos…

disunity的使用

1. 下载并安装好jdk: 下载地址&#xff1a;http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 安装教程&#xff1a;http://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html 2.下载disunity: https://…

T-digest

目录 算法算法原理空间消耗及错误界限 示例T-digest的建立T-digest的查询 相关链接 上一篇博客中讲述了使用 R a n d o m Random Random算法进行 q u a n t i l e quantile quantile估算&#xff0c;详情可见Random&#xff0c;本博客将讲诉另外一个 q u a n t i l e quantile …

[反编译U3D]Decompile Unity Resources 修正

反编译unity project的资源文件&#xff0c;包括ios&#xff0c;android&#xff0c;pc等&#xff0c;仅供学习使用&#xff01; 1.disunity Examples 1.1disunityGUI 1.1.2DiunityGUI 使用方法 2.unity3d decompiler 3.UnityAssetsExplorer 反编译unity project的资源文件&…

edit distance 理解

一直没有理解到inert i delete j 的意思。看看图就可以明白了。 对于那道面试题&#xff1a;http://www.careercup.com/question?id6287528252407808 k-palindrome. 最精妙的地方在于只考虑 k 长度以内的改变&#xff0c;这样就可以判断出来了。速度是O(k*n) 1. Definition o…

Tiny-DSOD: Lightweight Object Detection for Resource-Restricted Usages

Y uxi Li1 lyxok1sjtu.edu.cn Jiuwei Li2 jiuwei.liintel.com Weiyao Lin1 wylinsjtu.edu.cn Jianguo Li2 jianguo.liintel.com 1Shanghai Jiao Tong University , China 2Intel Lab China Abstract 近年来&#xff0c;随着深度学习的发展&#xff0c;目标检测技术取得了长足…

android density

为什么要引入dip —The reason for dip to exist is simple enough. Take for instance the T-Mobile G1. It has a pixel resolution of 320x480 pixels. Now image another device, with the same physical screen size, but more pixels, for instance 640x480. This devic…

手游游戏资源提取 (破解、AssetStudio、VGMToolbox、disunity、Il2CppDumper、 .NET Reflector)...

参考&#xff1a; 公主连结 游戏资源提取(解包)简明教程 Unity3D研究院之mac上从.ipa中提取unity3D游戏资源 吾爱破解&#xff1a;记一次unity3d data修改 GitHub&#xff1a;Il2CppDumper 想拿点知名IP的手游素材做点demo&#xff0c;然后搜了下如何能拿到app的素材资源 一 下…

DISN:Deep Implicit Surface Network for High-quality Single-view 3D Reconstruction

时间&#xff1a;2019年 作者&#xff1a;Weiyue Wang ,University of Southern California etc. Abstract&#xff1a; 1.DISN 通过预测基本符号距离场来从二维图像中生成高质量的细节丰富的三维网格&#xff1b; 2.DISN 在二维图像上预测每一个三维点的投影位置&#xff…

Dist

这道题只要找到我们距离的规律就行了&#xff0c;我们可以发现&#xff0c;当行数小于列数时,列数(列数-1)/k,否则&#xff0c;行数(行数-1)/k&#xff0c;没记算一次我们的距离就会增加1&#xff0c;应为行数一减你就往下了一个&#xff0c;所以这个要加1. #include<bits/…

unity3D 如何提取游戏资源 (反编译)+代码反编译【P.M.出品】

转自&#xff1a;https://blog.csdn.net/LANGZI7758521/article/details/52291564 首先感谢 雨松MOMO 的一篇帖子 教我们怎么提取 .ipa 中的游戏资源。教我们初步的破解unity3d资源的基本方法 附上原帖的链接&#xff1a;http://www.xuanyusong.com/archives/2584 下面我会从头…

Unity游戏资源逆向工具

Unity游戏资源逆向工具 https://www.cnblogs.com/kekec/p/12175547.html disunity是一款Java编写&#xff08;需安装jdk1.8&#xff0c;即Java8&#xff09;的解析Unity asset和asset bundle文件&#xff08;流式加载&#xff0c;支持热更新&#xff09;的命令行工具&#xf…

Distillation

蒸馏&#xff0c;把有杂质的东西变成纯度高的 知识从教师网络集成到学生网络&#xff0c;这个过程叫迁移&#xff0c;这么做的原因是终端的算力有限&#xff0c;需要高效率 有关嵌入式开发也有教程&#xff01;&#xff01; 问题的引入&#xff1a;标签有问题&#xff0c;马更…