lawrencelee
驱动牛犊
驱动牛犊
  • 注册日期2002-04-18
  • 最后登录2003-05-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1613回复:3

关于显卡驱动

楼主#
更多 发布于:2002-04-19 17:10
请问,如果在Linux下从事显卡驱动的开发,有没有这方面的资料?
谢谢
zhengq
驱动牛犊
驱动牛犊
  • 注册日期2002-03-05
  • 最后登录2003-05-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-04-19 22:28
Linux的显示有3种方式,其一是FrameBuffer,这是由Linux内核支持的,目前可支持的显卡类型很少,基本是设置成VGA或SVGA方式,这样在Linux引导时会变成图形模式,可以看到一个企鹅小图标。BluePoint Linux的终端汉字显示即使用这种方式,开发FrameBuffer需要写驱动程序;其二是SVGA-LIB,这是一个用户态的显示功能库,可支持常见的十几种卡,不过都是较早期的,如 S3 764,Cirrus等,可以扩展这个库以支持现在较新的卡。这个库以VGA模式为框架,有一组struct包含函数指针,将特定显卡的函数在初始化时赋上去,以后就可以调用VGA函数来画图了;其三是XWindow(Linux上为XFree86)提供的X Server,可支持目前能见到的大部分显卡。开发X Server除了要了解显卡和总线外,需要对XWindow图形系统有较深入的了解,特别是X协议,因此较复杂。具体情况可参考XWindow附带的文件,看源码也是一个途径,X Server也是用户态驱动方式。另外Linux不仅仅是在Intel X86的机器上运行的,它还有其它十几种体制的机器可运行,上面提到的FrameBuffer和SVGA-LIB主要针对Intel X86,但X Server是在各种机器上通用的,所以开发其它非Inter X86的X Server,如 Sun UltraSparc、Mips、Alpha等,需要了解这些CPU和主板的结构,特别是I/O的访问方式,以及总线在内存上的对应地址等。
lawrencelee
驱动牛犊
驱动牛犊
  • 注册日期2002-04-18
  • 最后登录2003-05-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-04-22 18:04
多谢!
不过,关于X协议,有没有简单的容易上手的资料,一开始就看Xwindow的文件似乎有些困难
zhengq
驱动牛犊
驱动牛犊
  • 注册日期2002-03-05
  • 最后登录2003-05-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-04-23 13:27
目前市面上的书多是讲XWindow环境中应用程序编写的,实际上是XWindow工具开发包X Toolkit和上层组件Motif(多用于商用Unix系统,Linux上有个OpenMotif和Lesstif的自由软件),Qt/Kde、Gtk/Gnome(这两种多见于Linux、FreeBSD系统),而对XWindow的底层开发库Xlib描述得较少。实际上Xlib是X协议在应用程序接口上的一个表现形式,所以应该先熟悉Xlib,对Xlib的完整描述的书,中文的我没有见到,往往只是在将画图程序时提到(XWindow中画图只能使用Xlib函数),而英文书籍中是有一些的,如Prentice Hall出的几本关于XWindow编程的书,不知是否有中文译本。另一途径是看XFree86或X11R6开放代码中所带的ps文档,最好用Adobe Acrobat Distill将它们转换成pdf文件,其中有Xlib、X protocol、X Server较完整的描述。再有一个途径是在Compaq公司的网站http://www.tru64unix.compaq.com/docs/pub_page/V51A_DOCS/PRG_DOCS.HTM中最下面的几本关于XWindow的书有一定价值。
游客

返回顶部