Linux 下的图形库介绍在进行Linux下的图形系统编程时,我们常常会遇到以下这些概念:Framebuffer, X11, SDL,DFB,miniGUI,OpenGL,QT,GTK,KDE,GNOME等等
一、Linux 图形领域的基础设施1
1X WindowX Window从逻辑上分为三层:X Server、X Client 和 X 协议
最底层的X Server(X 服务器)主要处理输入/输出信息并维护相关资源,它接受来自键盘、鼠标的操作并将它交给 X Client(X 客户端)作出反馈,而由 XClient传来的输出信息也由它来负责输出;最上层的X Client则提供一个完整的GUI界面,负责与用户的直接交互(KDE、GNOME 都是一个 X Client)
X 协议则是衔接 X Server与 X Client的通讯协议,它的任务是充当这两者的沟通管道
尽管 UNIX 厂商采用相同的X Window,但终端的X Client并不相同
XFree86是 X Window系统的一个开源的实现
它主要运行于 Unix 以及类Unix操作系统上
XFree86在显示硬件(鼠标、键盘以及显卡)与桌面环境(也就是窗口管理器)之间提供了一个 Client/Server 接口
2SVGALibSVGALib是 Linux 下的底层图形库,也是 Linux 系统中最早出现的非 X 图形支持库,它支持标准的VGA图形模式和一些其他的模式,SVGALib的缺点是程序必须以root权限登录,并且它是基于图形卡的,所以不是所有的硬件都支持它
自从 framebuffer这个孪生姐妹诞生后,许多软件由只支持 SVGALib变为同时支持两者,甚至一些流行的高层函数库如 QT和 GTK只支持 Framebuffer,作为一个老的图形支持库,SVGALib目前的应用范围越来越小,尤其是在L