weston与gdm编译

目录

引言

1 weston源码编译

1 .1 配置weston编译的环境变量

1.2 安装libwayland

1.3 安装wayland-protocols

1.4 安装libinput

1.5 安装X Server

1.6 安装weston

2 gdm3源码编译

2.1 下载源码及依赖

2.2 编译

总结 


引言

由于在开发调试桌面系统时候,会遇到一些问题。如:通过gstreamer管道搭建的视频播放能够直接在weston桌面上显示,而weston的demo也能够同时跑在weston桌面上,那么gstreamer的管道是否作为一个client来对接weston呢?还有如:嵌入式板卡搭建起ubuntu-desktop桌面环境后,启动到gdm界面很慢,该问题也需要分析。该篇博客主要讲解weston及gdm的源码编译,只有编译了源码才能随心所欲的打log

1 weston源码编译

1 .1 配置weston编译的环境变量

1)创建install文件

mkdir ~/install

2)设置环境变量

# setup environment for local install:

export WLD=$HOME/install

export LD_LIBRARY_PATH=$WLD/lib

export PKG_CONFIG_PATH=$WLD/lib/pkgconfig/:$WLD/share/pkgconfig/

export PATH=$WLD/bin:$PATH

export ACLOCAL_PATH=$WLD/share/aclocal

export ACLOCAL="aclocal -I $ACLOCAL_PATH"

mkdir -p $ACLOCAL_PATH

export MAKEFLAGS="j5" # run 5 threads, or use your own flags

1.2 安装libwayland

1)安装依赖包:

sudo apt install git autoconf libtool libffi-dev libexpat1-dev libxml2-dev

2)安装文档解析相关的包

sudo apt install doxygen xmlto graphviz

3)源码编译wayland

git clone git://anongit.freedesktop.org/wayland/wayland

cd wayland

### 使用 Ninja 构建系统编译 Weston 项目 为了使用 Ninja 构建系统来编译 Weston 项目,需遵循一系列特定的操作流程。这些操作不仅涉及必要的软件依赖项的安装,还包括配置环境变量以及具体的构建命令执行。 #### 安装必要工具和库 在开始之前,确保已安装所有必需的开发工具和库。对于基于 Debian 或 Ubuntu 的 Linux 发行版,可以通过以下命令完成安装: ```bash sudo apt-get update && sudo apt-get install -y \ build-essential \ meson \ ninja-build \ wayland-protocols \ libegl1-mesa-dev \ libgles2-mesa-dev \ libgbm-dev \ libpam0g-dev \ libmtdev-dev \ libinput-dev \ libudev-dev \ libjpeg-turbo8-dev \ libpng12-dev \ libwebp-dev \ gobject-introspection \ valgrind \ git ``` 此过程会安装 Meson 和 Ninja 这两个关键组件以及其他支持 Wayland 协议栈所需的库文件[^1]。 #### 设置环境变量 如果未预先设定 `PKG_CONFIG_PATH` 环境变量,则可能需要手动将其指向正确的路径以便于后续步骤能够顺利找到所需库的位置。可以临时通过如下方式设置该变量: ```bash export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig:$PKG_CONFIG_PATH ``` 上述命令假设目标平台为常见的 x86_64 架构下的 GNU/Linux 操作系统;如果是其他架构或发行版本,请适当调整路径部分的内容[^3]。 #### 获取并准备源代码 从官方仓库克隆最新版本的 Weston 源码至本地工作目录下,并切换到对应的分支(通常为主干 master 分支)。也可以直接下载指定版本号的压缩包形式发布版本。 ```bash git clone https://github.com/wayland-project/weston.git ~/weston-source-code cd ~/weston-source-code/ ``` #### 配置构建 利用 Meson 工具创建一个新的构建目录,在其中生成适用于 Ninja 的 Makefile 文件。接着调用 Ninja 来实际执行编译任务。 ```bash meson setup builddir --buildtype=release -Dprefix=$HOME/.local -Dbackend=headless -Dremoteproc=false -Dtest-client-utils=false ninja -C builddir ``` 以上命令中的选项可以根据个人需求灵活定制,比如更改 `-Dprefix=` 后面的目标安装位置或是启用不同的后端驱动(`-Dbackend=`)。 #### 测试运行 成功完成后即可尝试启动刚编译好的 Weston 显示服务器实例来进行初步验证。 ```bash ./builddir/src/server/weston-launcher & sleep 1s; ./builddir/src/compositor/weston-terminal ``` 这将在后台开启一个无头模式(headless mode)的服务进程,并打开终端窗口作为客户端连接上去展示简单的图形界面效果。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值