前面应该提到,client端的绘制实际发生在wl_buffer绑定的一个native的buffer上(ion buffer),通过attach 到wl_surface上,最终commit到server端
这个surface可以理解为一个窗口的绘制表面。
其实这里细想一下,还是有些令人疑惑的,为啥不直接把wl_buffer commit到server端的compositor呢,费老劲搞个wl_surface意欲何为?现在又看了一些相关的资料,大概了解了为什么要这么做,主要是考虑到我们可以对这个surface施加控制,或者说是管理。比如,我们通过为一个surface创建shell surface, 这样,这个surface就会把窗口管理器所管理,比如,窗口置顶,最大化,最小化等等。