Linux图形界面中客户端、服务器、窗口管理器之间的关系

[11-20 15:54:05]   来源:http://www.88dzw.com  arm嵌入式   阅读:8760

文章摘要:DirectFB依赖已有的内核接口即帧缓冲设备(/dev/fb)访问图形处理器,也就是说DireetFB需要一个正在工作的帧缓冲驱动。Linux内核有专门的帧缓冲驱动支持某些图形处理器。对于不支持的图形处理器,内核提供VE—SA帧缓冲(这种帧缓冲有一些限制)。DirectFB利用帧缓冲设备做如下工作:◆ 设置显卡工作模式(分辨率,颜色深度,时序)◆ 映射显存如果某种显卡被DirecFB支持并且在Linux内核中也有这种图形处理器的帧缓冲驱动,DirectFB利用帧缓冲设备做如下额外的工作:◆ 映射显存IO端口(如果加速驱动在用户空间实现,需要这步。如果在内核空间实现,则不需要映射,但需要有相应

Linux图形界面中客户端、服务器、窗口管理器之间的关系,标签:arm嵌入式系统,arm系统,http://www.88dzw.com

  DirectFB依赖已有的内核接口即帧缓冲设备(/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、显卡加速驱动等概念及它们的一些关系。供大家参考。

  “www.88dzw.com提供”



  

上一页  [1] [2] [3] 


Tag:arm嵌入式arm嵌入式系统,arm系统arm嵌入式
分类导航
最新更新
热门排行