Linux图形界面中客户端、服务器、窗口管理器之间的关系
缓冲设备(/dev/fb)访问图形处理器,也就是说DireetFB需要一个正在工作的帧缓冲驱动.Linux内核有专门的帧缓冲驱动支持某些图形处理器.对于不支持的图形处理器,内核提供VE—SA帧缓冲(这种帧缓冲有一些限制).DirectFB利用帧缓冲设备做如下工作:
◆ 设置显卡工作模式(分辨率,颜色深度,时序) ◆ 映射显存 如果某种显卡被DirecFB支持并且在Linux内核中也有这种图形处理器的帧缓冲驱动,DirectFB利用帧缓冲设备做如下额外的工作: ◆ 映射显存IO端口(如果加速驱动在用户空间实现,需要这步.如果在内核空间实现,则不需要映射,但需要有相应的驱动接口.也可以重新写一个驱动程序来专门实现加速功能) ◆ 关闭帧缓冲驱动中自带的加速功能 针对具体的图形操作(例如图片拷贝、区域填充、区域拷贝、画线、图形拉伸等),DirectFB加速驱动(对映射到用户空间的控制寄存器访问)访问显存映射的图形处理器I/O端口向图形处理器提交命令,由显卡来实现相应的命令.也就是说真正的硬件加速完全是在用户空间实现.这样DirectFB就可以对它支持的图形处理器提供最大限度的硬件图形加速.这些加速功能需要显卡控制器的支持.一些嵌入式的显示控制器中并没有相应的功能.需要外接显卡来实现.
上层APl支持DirectFB的有:XdirectFB、DirectFBGL、GTK 、DFBTerm、DFBSee、DFBPoint、MythTV、Qt on DirectFB、SDL等. DirectFB也需要窗口管理器.DirectFB采用模块化设计,它并不依赖于某种具体的窗口管理器,只要具体的窗口管理器实现接口DirectFB中的CoreWMFuncs中定义的函数,就可以挂到DirectFB中运行.DirectFB自带有两个窗口管理器:default和unique,可以在配置文件中用wm=xxx来选择用哪一个作为当前的窗口管理器. 通过上面8个方面,介绍了X、X11、Xfree86、WM、KDE、GNOME、QT、QT/E、Qtopia、DirectFB、Framebuffer、显卡加速驱动等概念及它们的一些关系.供大家参考.
|
||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |