首页 > 编程知识 正文

启动顺序设置将如何引导系统启动,公司启动大会总结

时间:2023-05-03 22:40:51 阅读:35952 作者:1485

output对应画面; 视图对应窗口,多个视图属于层; plane与底层的plane相对应。

1 .创建日志流

2 .创建2.wl_display_create () wl_display对象

3 .获取3.wl_display_get_event_loop () server端的wl_event_loop,然后通过wl_event_loop_add_signal函数返回刚才的wl

4 .初始化wl _ list _ init (child _ process _ list )子线程的双向链表

读取weston.ini配置文件,然后逐一读取和写入配置文件中的选项。

6.weston_compositor_create创建compositor

7.load_backend进行后端初始化根据所传递的参数/来配置后台。 [当前正在使用的load _ DRM _ back end ] Weston _ compositor _ load _ back end; 最终调用backend_init的函数指针-weston_load_module,[dlopen/dlsym]函数在compositor.c中实现; 对应的,在compostior-xx.c上Weston _ back end _ init/DRM _ back end _ create/full _ init _ main/init _ DRM; 打开/dev/dri/card0节点

33558 www.Sina.com//run/user/0/wayland-0 [客户端和服务器通过此套接字进行交互]

8.weston_create_listening_socket创建监听socket

根据传递的“壳”参数或环境变量选择壳界面。 默认值为桌面- shell.so; 调用wet_load_shell; 最终调用shell _ init的函数指针-wet_load_module_entrypoint,[dlopen/dlsym]函数在main.c中实现

桌面-唤醒shell和桌面客户端

10.load_modules加载其他模块、键盘等

11.weston_compositor_wake唤醒compositor

9.wet_load_shell加载shell

调用wl_display_run (),进入主循环,[1为buffer,2为event]; wl_display_flush_clients[通过套接字将当前out buffer中的数据发送到客户端。 这些数据以前写入wl_connection_write(] (),不再需要客户端后,必须销毁客户端

支持weston的后端

用户界面代表,窗口管理: shell back end:desktop-shell.so/IVI-shell.so

合成渲染: render backend:gl-renderer.so

合成内容输出: compositor back end:DRM-back end.so

input管理: libinput.so

【欢迎来到米勒实验室】

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。