1, github上下载源代码

2, 需要依赖的库

sudo apt install libxkbcommon-dev

sudo apt install libpixman-1-dev

sudo apt install libinput-dev

sudo apt install libcairo2-dev

sudo apt install libjpeg-dev

sudo apt install libjpeg-dev

sudo apt install libwebp-dev

sudo apt install libsystemd-dev

sudo apt install libdbus-1-dev

sudo apt install libseat-dev

3, 编译

(1)meson build

libweston/color-lcms/meson.build:6:1: ERROR: Problem encountered: color-lcms plugin requires lcms2 which was not found. Or, you can use '-Dcolor-management-lcms=false'.

(2)meson build -Dcolor-management-lcms=false

Run-time dependency libva found: NO (tried pkgconfig and cmake)

libweston/backend-drm/meson.build:70:3: ERROR: Problem encountered: VA-API recorder requires libva >= 0.34.0 which was not found. Or, you can use '-Dbackend-drm-screencast-vaapi=false'.

(3)meson build -Dcolor-management-lcms=false -Dbackend-drm-screencast-vaapi=false

Run-time dependency freerdp2 found: NO (tried pkgconfig and cmake)

libweston/backend-rdp/meson.build:9:1: ERROR: Problem encountered: RDP-backend requires freerdp >= 2.3.0 which was not found. Or, you can use '-Dbackend-rdp=false'.

(4)meson build -Dcolor-management-lcms=false -Dbackend-drm-screencast-vaapi=false -Dbackend-rdp=false

Run-time dependency xcb-composite found: NO (tried pkgconfig and cmake)

xwayland/meson.build:34:2: ERROR: Problem encountered: xwayland requires xcb-composite which was not found. Or, you can use '-Dxwayland=false'.

(5) meson build -Dcolor-management-lcms=false -Dbackend-drm-screencast-vaapi=false -Dbackend-rdp=false -Dxwayland=false

Run-time dependency gstreamer-1.0 found: NO (tried pkgconfig and cmake)

remoting/meson.build:17:3: ERROR: Problem encountered: Remoting plugin requires gstreamer-1.0 which was not found. If you rather not build this, set '-Dremoting=false'.

(6) meson build -Dcolor-management-lcms=false -Dbackend-drm-screencast-vaapi=false -Dbackend-rdp=false -Dxwayland=false -Dremoting=false

Run-time dependency libpipewire-0.3 found: NO (tried pkgconfig and cmake)

pipewire/meson.build:12:2: ERROR: Problem encountered: Pipewire plugin requires libpipewire which was not found. If you rather not build this, set '-Dpipewire=false'.

(7) meson build -Dcolor-management-lcms=false -Dbackend-drm-screencast-vaapi=false -Dbackend-rdp=false -Dxwayland=false -Dremoting=false -Dpipewire=false

Run-time dependency pangocairo found: NO (tried pkgconfig and cmake)

clients/meson.build:334:4: ERROR: Problem encountered: weston-editor requires 'pangocairo' which was not found. If you rather not build this, set '-Ddemo-clients=false'.

(8) meson build -Dcolor-management-lcms=false -Dbackend-drm-screencast-vaapi=false -Dbackend-rdp=false -Dxwayland=false -Dremoting=false -Dpipewire=false -Ddemo-clients=false

编译通过:

weston 10.0.93

User defined options
    backend-drm-screencast-vaapi: false
    backend-rdp                 : false
    color-management-lcms       : false
    demo-clients                : false
    pipewire                    : false
    remoting                    : false
    xwayland                    : false

4, 生成的库

jyc@jimmy:~/01_code/weston/build$ find ./ -name *.so
./kiosk-shell/kiosk-shell.so
./libweston/backend-headless/headless-backend.so
./libweston/renderer-gl/gl-renderer.so
./libweston/libweston-11.so
./libweston/backend-drm/drm-backend.so
./libweston/backend-wayland/wayland-backend.so
./libweston/backend-x11/x11-backend.so
./ivi-shell/hmi-controller.so
./ivi-shell/ivi-shell.so
./fullscreen-shell/fullscreen-shell.so
./desktop-shell/desktop-shell.so
./tests/test-plugin.so
./tests/weston-test-desktop-shell.so
./tests/test-surface-screenshot.so
./tests/test-ivi-layout.so
./compositor/screen-share.so
./compositor/systemd-notify.so
./compositor/libexec_weston.so

5, demo 执行情况

(1)这3个demo可以正常执行

./weston-simple-egl

./weston-simple-shm

./weston-simple-damage

备注:是在wayland平台,xorg平台报以下错误:

./weston-simple-egl
weston-simple-egl: ../clients/simple-egl.c:1157: main: Assertion `display.display' failed.
已放弃 (核心已转储)

(2)这2个demo执行时异常

./weston-simple-dmabuf-egl   -- (当时是在Nvidia显卡环境,没有安装Nvidia驱动)
MESA-LOADER: failed to open nouveau: /usr/local/lib/x86_64-linux-gnu/dri/nouveau_dri.so: cannot open shared object file: No such file or directory (search paths /usr/local/lib/x86_64-linux-gnu/dri, suffix _dri)
failed to load driver: nouveau
MESA-LOADER: failed to open zink: /usr/local/lib/x86_64-linux-gnu/dri/zink_dri.so: cannot open shared object file: No such file or directory (search paths /usr/local/lib/x86_64-linux-gnu/dri, suffix _dri)
failed to load driver: zink
Warning: zwp_linux_explicit_synchronization_v1 not supported,
         will not use explicit synchronization
create_bo failed

之后将mesa中的nouveau_dri.so*编译处来

./weston-simple-dmabuf-egl
nouveau_drm_screen_create: unknown chipset nv174
MESA-LOADER: failed to open zink: /usr/local/lib/x86_64-linux-gnu/dri/zink_dri.so: cannot open shared object file: No such file or directory (search paths /usr/local/lib/x86_64-linux-gnu/dri, suffix _dri)
failed to load driver: zink
Warning: zwp_linux_explicit_synchronization_v1 not supported,
         will not use explicit synchronization
create_bo failed

之后又将mesa中的zink_dri.so*编译出来

./weston-simple-dmabuf-egl
nouveau_drm_screen_create: unknown chipset nv174
nouveau_drm_screen_create: unknown chipset nv174
Warning: zwp_linux_explicit_synchronization_v1 not supported,
         will not use explicit synchronization
create_bo failed

备注:记得当时编译zink时,还安装了vdpau, vulkan 等lib库。

./weston-simple-dmabuf-feedback
This client was written with the purpose of manually test Weston's dma-buf feedback implementation. See main() description for more details on how to test this.

weston-simple-dmabuf-feedback: ../clients/simple-dmabuf-feedback.c:1484: create_display: Assertion `display->dmabuf && "error: dma-buf feedback is not supported by compositor"' failed.
已放弃 (核心已转储)

Ubuntu22.04平台安装weston相关推荐

  1. Ubuntu22.04平台安装mesa

    1,环境准备 1,在Ubuntu22.04的环境下编译安装Mesa22版本的全过程. 2,以下面编译选项为依据: meson build -Degl=true --buildtype debug -D ...

  2. ubuntu22.04编译安装gcc12.2

    ubuntu22.04编译安装gcc12.2 更新apt sudo apt-get update 安装wget sudo apt-get install wget zlib2 make 3. 下载相应 ...

  3. Ubuntu22.04.1安装ROS2入门级教程(ros-humble)

    Ubuntu22.04.1安装ROS2入门级教程(ros-humble) 文章目录 Ubuntu22.04.1安装ROS2入门级教程(ros-humble) 一键安装ROS(五星推荐⭐⭐⭐⭐⭐) 前言 ...

  4. Ubuntu22.04编译安装vulkan图形渲染环境

    使用Ubuntu22.04编译安装vulkan图形渲染环境 环境准备 1.下载vulkan的开源代码 2.解压vulkan源码压缩包 3.修改编译文件参数 4.开始编译 5.编译中的错误 6.安装结束 ...

  5. ubuntu22.04版本安装CUDA及cuDNN

    此方法仅针对ubuntu22.04下linux系统安装及配置深度学习环境,其他版本不知可通用! 一.独立显卡驱动安装 1-1 先更新所有的软件包 sudo add-apt-repository ppa ...

  6. Ubuntu22.04篇---安装微信,QQ,企业微信

    Ubuntu22.04篇---安装微信,QQ,企业微信 1.企业微信安装方法 2.微信安装方法 3.QQ安装方法 微信,企业微信,QQ 在Ubuntu20.04下通过优麒麟官网应用下载提供的wine版 ...

  7. Ubuntu22.04上安装Xilinix Vivado 2018.3

    OpenWiFi的默认编译仿真工具是Xilinx Vivado 218.3.在Ubuntu22.04 LTS上安装Xilinx Vivado 2018.3之前,首先要安装如下的库 sudo apt-g ...

  8. Ubuntu22.04下安装OpenFOAM

    因为上课需要这个软件,所以从头回顾记录自己安装的过程,参考的链接以及中间出错的一些解决方法. 1.下载Ubuntu镜像 Ubuntu 22.04.1 LTS (Jammy Jellyfish) 2.因 ...

  9. Ubuntu22.04中安装SCIP排雷记录

    1. 之前Ubuntu20.04是可以直接下载SCIPSuite的deb包,在Ubuntu系统中直接应用商店打开安装,非常方便.但是最新的Ubuntu22.04系统这样做会缺少依赖,无法安装成功. S ...

最新文章

  1. Hadoop集群中增加与ElasticSearch连接的操作
  2. matlab导出jar包错误Error: An error occurred while shelling out to javac(erro code = 1)解决办法...
  3. 爬虫 | urllib入门+糗事百科实战
  4. 如何使用 .NET Core 安全地加/解密文件
  5. 加载页面就触发ajax,AJAX post方法,有时会在页面加载时触发,有时不会
  6. 用python将图片写入ppt_用python做ppt服务用于导入图片
  7. firefox伪造请求头信息,模拟手机访问网站
  8. 专访蒋彪:JavaEE是企业级开发首选
  9. 掌握STC单片机程序烧录方法只需要三步走
  10. 计算机接口技术试题,广西工学院计算机接口技术考核试题(4套,有答案)
  11. 2020 全国省份数据整理
  12. html标签嵌套规则
  13. Snipaste--截屏--贴图
  14. linux之mail命令发邮件
  15. png格式转eps格式
  16. 关于报 程序包com.jt.pojo不存在、报 Process terminated、Failed to execute goal on project jt-manage: 的问题,已解决
  17. Mac老是自动关掉屏幕怎么办?
  18. 【WLAN】【测试】WLAN相关测试软件一览
  19. 如何学好c++,还是好好看书籍吧!
  20. 使用runas命令让域用户可以以管理员权限运行程序

热门文章

  1. 计算机操作系统-概述
  2. 阿里云ECS共享型、通用型和突发型实例类型有什么区别?如何选择?
  3. 初学者教程:3D打印后期处理
  4. java实现开根号算法
  5. curl http POST请求出现405错误
  6. 纯干货:优秀程序员和普通程序员的差距就在这7个关键点
  7. 【数据挖掘】关联规则的术语及定义
  8. C语言_函数递归举例
  9. idea如何关闭代码提示,设置快捷键提示代码
  10. redis 常用命令