注册本站  论坛  繁體中文

电脑技巧
手机 | MP3 | MP4 | 显卡 | 主板 | 显示器 | 光存储 | 笔记本 | 网络设备 | 移动存储 | 数码相机
键鼠 | CPU | 音箱 | GPS | 电视 | 服务器 | 投影机 | 机箱电源 | 品牌电脑 | 办公打印 |
| 网站首页 | Cisco | Windows | Linux | Java | Dotnet | Oracle | 网页设计 | 平面设计 | 安全 | 软件应用 | 电脑维修 | 办公维修 |
您现在的位置: 电脑技巧 >> Linux >> Unix >> Linux正文

FreeBSD下3D功能的实现

文章来源:中国IT实验室收集整理 作者:佚名 更新时间:2007-7-17 【 】 【加入收藏

  在windows的世界里,3D功能是一个比较热门的话题,大多数的游戏都是基于3D的。但在*nix的世界,3D好象就不是那么太重要的,甚至有的“大侠”级的高手,竟然不知道有3D功能的存在。本人为了将笔记本的3D功能启动(操作系统用FreeBSD),费尽了心思,整日游荡于sourceforge和google之间,终于经过近一个月的努力,打开了3D 功能,将主要的问题罗列于下:

  一、FreeBSD下实现3D的原理

  其实这不仅仅是FreeBSD下的原理,也是整个*nix家族的原理。

  3D功能的实现其实也是分层的,近似于OSI的分层模型。

  (1)、在最上端,是应用层,就是应用程序提出3D渲染的申请。这个申请通过一个函数调用,从而调用下面一层的3D加速的调用接口。

  (2)、3D加速的函数接口(API)。它将应用层的各个应用转换为系统的调用,从而可以让X系统去和硬件打交道。最流行的API包括: DirectX,OpenGL等。在*nix的领域,就不得不提到一个Windows领域比较陌生的名词:MESA。最原始的Mesa就是一个 OpenGL的实现,现在的Mesa在许多地方都有所突破。

  而这些函数和X系统的接口,就是GLX。GLX是运行在X上的一种协议,能过它,函数调用才能和X系统打交道。

  (3)、DRI。这是实现3D功能最重要的部分。

  DRI是Direct Rendering Infrastructure,可以简单得把它理解为X和硬件间的接口。但它包含很多独立的模块,负责从X到硬件的各个环节,包括内核。

  它最主要的工作就是将Mesa或OpenGL的函数调用转换为硬件的指令,从而指挥硬件进行渲染等工作。

  (4)、DRI驱动程序。这是直接和硬件相关的程序。它提供对硬件的支持。

  二、实现的条件

  由前面的介绍可以知道,最重要的事情就是让你DRI支持你的显卡。目前为止,在FreeBSD中,DRI支持以下几个系统的显卡(在/usr/src/sys/i386/conf/NOTES中有介绍):

  device          drm             # DRM core module required by DRM drivers device          i915drm         # Intel i830 through i915 device          mach64drm       # ATI Rage Pro, Rage Mobility P/M, Rage XL device          mgadrm          # AGP Matrox G200, G400, G450, G550 device          r128drm         # ATI Rage 128 device          radeondrm       # ATI Radeon device          savagedrm       # S3 Savage3D, Savage4 device          sisdrm          # SiS 300/305, 540, 630 device          tdfxdrm         # 3dfx Voodoo 3/4/5 and Banshee

  如果你的显卡没在上面列出,那么你就要做好打不开3D的准备!如果你的显卡是nVidia的,那么你不要悲伤,接着往下看,你会发现你选择nVidia是没错的!如果你的显卡在上面列出了,那么你也不要高兴得太早,因为这些当中都有例外,就比如说我的笔记本显卡:ATI IGP 340M,就是很难实现3D的一款。

  测试你的显卡是不是能实现3D功能,可以采取以下办法:

  (1):dmesg | grep agp,如果出现

  agp0: <VIA 82C691 (Apollo Pro) host to PCI bridge> mem 0xe0000000-0xe3ffffff at device 0.0 on pci0

  的字样,那么你的显卡就有可能实现3D功能。如果什么也没有的话,那么恭喜你,你再也不用为3D功能而费心了,你应该毫不犹豫地关上这篇文章,并且在你得到新的显卡前也不用再打开。

  (2):kldload drm,如果没报错的话,那么你的显卡基本上就可以实现3D功能了。如果很遗憾地报错了,那么你成功的机率就减小了一半,或者说希望不很大。

  (3):前两关都过了,就可以实验了。

  三、3D功能的实现

  1、普通显卡产:(1):安装好Xorg和KDE(Gnom也可以)。

  (2):Xorg -configure。这样在我的home里有一个xorg.conf.new的文件,把这复制到/etc/X11/xorg.conf。

  (3):startx。这时候会出现三个窗口和一个时钟。有的人可能觉得是什么地方出错了,其实这是对的,因为这个时候,你还没有进入KDE。

  (4):退出X。在最左边的窗口中输入:exit。或者按ctrl+Alt+BackSpace。

  (5):cat /var/log/Xorg.0.log | grep " Direct Rendering enabled",如果出现下面的字样,

  (II) RADEON(0): Direct Rendering enabled

  那么你的3D就启用的。如果没有,那么你要仔细读/var/log/Xorg.0.log。它会在某一行告诉你没启用的原因的。

  2、nVidia的显卡:如果你用的是nVidia的显卡,那就到http://www.nvidia.com/object/freebsd_1.0-8756.html去下载最新的FreeBSD的官方驱动,下载后直接安装。

  安装完成后,用kldstat 查看,会多了linux的模块。nVidia的说明书上说这是为了兼容而设的。FreeBSD的驱动是一个纯FreeBSD的驱动,不是linux兼容的。可以将它去掉。(/boot/load.conf)。

  安装完成再启动X,这时候就会在KDE之前出现一个nvidia的图标,很快就闪过去。(但本人现在已经没有测试环境,要不也可以用相机拍下来。)只要出现这个图标。那就说明你已经安装成功了。

  • 上一篇Linux:

  • 下一篇Linux:
  • 最 新 热 门
     VMware下Linux与真实主机共享上网
     Linux系统安全隐患及加强安全管理方法
     各类Unix和Linux密码丢失解决方法
     配置Linux操作系统的环境变量
     在Linux系统下刷新主板BIOS的好方法
     删除文件提示:Operation not permitted
     Linux系统下硬盘挂载详细说明
     Linux文本模式下如何发送带附件的Email
     在Linux自动生成一个保险密码的方法
     Linux商业电影动画制作软件列表
    最 新 推 荐
     在Fedora Core系统中共享Windows打印机
     不同的类UNIX操作系统密码破解方法介绍
     UNIX的分支 服务器上的FreeBSD操作系统
     UNIX操作系统的加锁解锁:等待事件及唤醒
     Solaris TELNET ftp时间超长的解决方法
     SCO UNIX到Linux操作系统的程序移植问题
     使用Unix命令行模式高效地进行文本编辑
     Solaris第一次亲密接触
     Unix学习方法-高手之路
     FreeBSD下3D功能的实现
    相 关 文 章

    VMware下Linux与真实主机共享上网
    Linux Shell中强大的正则grep
    在Ubuntu和Debian系统下安装PostgreSQL
    从网络上登录其它计算机的PostgreSQL
    Slackware系统下缺省网络配置安全问题
    解决ChartDirector Linux下中文显示问题
    Linux+Apache+PHP+JSP 的Resin解决方案
    Redhat Fedora Core 6 Linux安装流程
    Windows通过SecureCRT远程登录Linux
    VMware可能侵犯了Linux版权

    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告

     

    Copyright 2006-2008 pcjx.com All Rights Reserved
    电脑技巧 版权所有 粤ICP备06059145号 地图
    本网站所有内容未经许可不得转载或做其他使用