Wayland开发入门教程索引
本系列将记录Wayland开发过程中一系列相关操作、技术总结、项目经验等等,主要是:
- 成体系的资料难找,大部分教程都是从别处抄来的,东一块西一块
- 记忆力不够,有些操作过段时间就忘记了,所以要记录,这也是我写博客建网站的原因
- 以线性索引的方式记录开发流程,方便技术总结及架构整理
- 最重要的是指明方向,我永远都忘不了刚开始接触时,找不到资料、无从下手、迷茫无助的感觉
公司客户某研究所会经常使用VAPS XT开发仪表显示软件,并运行在Linux上(国产化要求的中标、麒麟等国产Linux发行版)。随着项目的积累,程序会非常庞大,现在单独的可执行程序已经超过2G。
给我们公司的一个项目是基于Linux的窗口管理器,将程序分割为小程序,每个小程序占用独立的窗口。每个窗口中的程序运行是相互独立,以确保其中一个程序崩溃而不影响其他程序。窗口管理器中的每个窗口可以共享鼠标等设备操作。(考虑到项目复杂度,公司项目负责人并没有接,本系列是技术探索)
本系列会将开发中用到的技术抽象出来(国企保密性要求),并记录以便后续使用。
Wayland开发有两个方面:Wayland和混合器。Wayland决定显示什么,而混合器决定怎么显示。
Wayland与GPU驱动配合,他们要有相同的缓冲器API,GBM除了NVIDIA都支持,EGLStreams除了NVIDIA都不支持。
Wayland
首页:wayland 官网
Wayland是X更简单的替代品,更容易开发和维护。GNOME和KDE预计将被移植到它上。
Wayland是一个合成器与客户端对话的协议,以及该协议的C库实现。合成器可以是运行在Linux内核modeset和evdev输入设备上的独立显示服务器、X应用程序或wayland客户端本身。客户端可以是传统应用程序、X服务器(无根或全屏幕)或其他显示服务器。
Wayland项目的一部分也是Wayland合成器的Weston参考实现。Weston可以作为X客户端或在Linux KMS下运行,并附带一些演示客户端。Weston合成器是一个最小和快速的合成器,适用于许多嵌入式和移动用例。
Wayland协议(Wayland-Protocol)API参考手册:API首页
API介绍
安装配置
- Wayland开发入门教程00:说明
- Wayland开发入门教程01:运行测试程序
- Wayland开发入门教程02:库安装配置与介绍
- Wayland开发入门教程03:Wayland架构
- Wayland开发入门教程04:xserver
- Wayland开发入门教程05:调试工具
- Wayland开发入门教程06:hello world
- Wayland开发入门教程07:连接server
- Wayland开发入门教程08:获取全局对象
- Wayland开发入门教程09:第一个窗口
- Wayland开发入门教程10:第一个EGL窗口
- Wayland开发入门教程11:shell stable协议
- Wayland开发入门教程12:shell unstable协议
- Wayland开发入门教程13:输入设备管理器
- Wayland开发入门教程14:鼠标操作
- Wayland开发入门教程15:个性化鼠标
- Wayland开发入门教程16:窗口操作
- Wayland开发入门教程17:窗口背景
- Wayland开发入门教程18:键盘输入
- Wayland开发入门教程:桌面环境说明
待添加
窗口标题栏
窗口右键窗口
窗口右键菜单
窗口右键菜单处理
窗口的子窗口
窗口的子程序
窗口的按钮
窗口的按钮操作
参考资料
本部分罗列本系列文章开发时参考/盗的资料/教程来源