linux系统图形界面框架
https://baike.baidu.com/item/xorg/153425
xserver 和x client启动过程
startx 的默认启动过程为: startx 调用并将系统文件 /etc/X11/xinit/xinitrc和 /etc/X11/xinit/xserverrc 作为参数传给 xinit , xinit 就会先执行系统文件/etc/X11/xinit/xserverrc 以启动 X Server ,然后执行 /etc/X11/xinit/xinitrc,而 xinitrc 则会执行脚本 /etc/X11/Xsession ,而 Xsession 则会按顺序调用执行/etc/X11/Xsession.d 目录下的文件,从而最终调用了 gnome-session 这个用于 启动 GNOME桌面环境的程序
图形加速原理简介
历史上对2D 和3D加速已经做了区分,2D加速主要使用的是XAA结构,3D加速主要是通过DRM(DirectRendering Manage)提供.而EXA提供了比XAA更好集成XRender的结构,同时也提高了XAA的2D加速效果。
EXA采用的方法是通过实现对OpenGL的加速以实现同时对2D,3D图像的加速,这样2D图像就可以看作是3D图像的一个子集。
xserver主分支代码解析
a)xserver初始化
b)xserver循环处理client消息
c)xserver退出