随笔分类 -  wayland学习

wayland学习笔记(八) wayland为什么要用libffi
摘要:前面了解到wayland是通过libffi来生成跳板函数。当时对libffi以及跳板函数的作用一头雾水,按照个人浅薄的理解,无非就是client端接收了 server的闭包后,然后解包,然后根据interface的id 跳到对应函数执行,不懂为啥要搞个libffi? 后来调试wayland的代码,发 阅读全文

posted @ 2021-12-25 11:22 疾速瓜牛 阅读(547) 评论(0) 推荐(0)

wayland学习笔记(七)config的结构分析
摘要:在看weston代码的时候,发现了weston对wl_list用的那叫一个溜,尤其是在config的管理上,用到了链表嵌套 先看下几个重要的数据结构: struct weaton_config { wl_list section_list; char path[4096]; }; struct we 阅读全文

posted @ 2021-12-15 15:11 疾速瓜牛 阅读(336) 评论(0) 推荐(0)

walyand学习笔记(六) 窗口管理
摘要:前面应该提到,client端的绘制实际发生在wl_buffer绑定的一个native的buffer上(ion buffer),通过attach 到wl_surface上,最终commit到server端 这个surface可以理解为一个窗口的绘制表面。 其实这里细想一下,还是有些令人疑惑的,为啥不直 阅读全文

posted @ 2021-12-04 11:23 疾速瓜牛 阅读(446) 评论(0) 推荐(0)

walyand学习笔记(五) weston的输入输出
摘要:对wayland的学习不是一蹴而就的,需要日积月累的不断深入了解。千里之行,始于足下。日拱一卒是我坚持的做法。 今天在重温weston的文章时,发现一个之前没太留意的东西。那就是weston的主循环是用epoll机制在wait一系列的fd,这里面包括各种输入设备的fd, udev monitor的f 阅读全文

posted @ 2021-12-04 11:05 疾速瓜牛 阅读(1687) 评论(0) 推荐(0)

wayland学习笔记(四) 全局服务对象初探
摘要:wl_display是wayland协议的核心类, 一个wl_display 对象代表一个客户端, 这个对象里面包含了client和server之间通信的socket, 所有和服务器之间的交互都是通过这个socket. wl_display也是客户端必须第一个创建的wayland对象 wl_disp 阅读全文

posted @ 2021-09-19 16:55 疾速瓜牛 阅读(1955) 评论(0) 推荐(0)

walyand学习笔记(三) 建立各个数据结构之间的联系
摘要:客户端真正的对象结构体 struct wl_proxy { struct wl_object object; struct wl_display *display; struct wl_event_queue *queue; uint32_t flags; int refcount; void *u 阅读全文

posted @ 2021-09-17 23:03 疾速瓜牛 阅读(851) 评论(0) 推荐(0)

wayland 学习笔记(一)
摘要:wl_list 链表 wayland-util.h struct wl_list { /** Previous list element */ struct wl_list *prev; /** Next list element */ struct wl_list *next; }; 如果知道一个 阅读全文

posted @ 2021-09-14 12:27 疾速瓜牛 阅读(619) 评论(0) 推荐(0)

导航