LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 9568|回复: 30

搞了两个通宵,终于把硬件搞定!----ATI 9500显卡和AUREAL 8830声卡爆发!

[复制链接]
发表于 2004-4-11 19:00:34 | 显示全部楼层 |阅读模式
本人乃一LINUX NEWBIE,来LINUX SIR也只能是学习多,特把这几天的收获写出以报SIR的教育之恩,呵呵:p

相信在LINUX下使用ATI镭系列显卡的朋友不少(特别是常见的9500和9700,9800系列),而MX300声卡即是永远的经典,而本人刚好同时拥有这两种硬件,呵呵,在WINDOWSXP下是很爽的事。

BUT,现在是在LINUX下。

驱动程序支持程度:

ATI:官方不支持LINUX,它所提供的ATI LINUX驱动是另一组织所编写的(NOT OPEN SOURCE),所以ATI 对于使用它的LINUX 显卡驱动,并不提供支持。但事实上,装过ATI提供的官方驱动的朋友都知道---------它几乎不可能一次安装成功,甚至有些PC 上根本装不上。

当然,如果你对LINUX下3D硬件加速功能的存在不在乎的话,那你可以完全不看此文。

本人通过很长时间的googling,终于把如何在LINUX下完美驱动这两个硬件搞定了。


本人PC的一些软硬件情况:
AMD ATHLON 2500+(BARTON,OC 2.3G)
512MB DDR400
KT600 主板
在SUSE9.0(2.4.21 kernel)和REDORA CORE1(2.4.22 kernel)上测试通过



一。先说AUREAL8830声卡

搜索8830为关键字的文章,已经有几种很好的方法驱动88X0声卡了,但似乎只在2.4.20和2.4.21内核上成功(感觉上内核越接近2.4.20成功机会越大)

原因很简单,那就是以上的文章都是基于旧版的AUREAL声卡驱动的,通常版本号为
1.1.2

这个版本号的驱动可以通过修改某些文件而支持8830,但在FEDORA CORE1中,这个方法绝对行不通了。
于是试了又试,还是不行,又不甘心安装ALSA和OSS驱动,一来麻烦,二来音质肯定不如AUREAL的好。
于是疯狂的googling!!!!

终于找到了88X0声卡最新驱动,03年9月的!
版本为1.1.3.1
下载地址:
http://www.theducpond.com/freevo/au88xx-1.1.3.1.tar.gz

结合以前的方法,就可以安装成功了,推荐所有88X0声卡用户安装此驱动!!!
首先重启PC,看BIOS中的PNP OS是否选NO了(一定要选NO)
然后进入LINUX 中,在console下:
tar zxvf au88xx-1.1.3.1.tar.gz
cd au88xx-1.1.3.1
make         (或者make au88x0,不过建议直接用make)
make install
这里如果没有出错提示,就可以马上驱动88X0声卡了!YEAHHHHH!!
:%
和旧版本的驱动不同,这个版本不用
/sbin/mod*******命令也可以加载模块,因为这个版本是正式支持2.4.22内核的了。

重启电脑,在启动过程中应该会问你是否要加载88X0驱动,选加载就OK了

终于搞定8830!!!爽!

下面一贴说说ATI9500的3D硬件加速功能实现。
 楼主| 发表于 2004-4-11 19:49:00 | 显示全部楼层
二。ATI9500在fedora core1和suse 9.0 pro,redhat9.0下打开3D硬件加速的方法(2.4和2.6内核)

注:此方法适用于大部分LINUX版本和硬件,但由于条件所限,没能一一测试。

首先要感谢www.linuxquestions.org的forum里面的朋友,特别是sirra462  and  
Valgar

因为他们很热情的为各位朋友测试了多次,最终得到解决的方法,原贴在此:
http://www.linuxquestions.org/qu ... &highlight=9500

以下可以看作是对他们二位所用的方法翻译吧,呵呵

1.ATI系列显卡(主要是9500系列,9700系列,9800系列)+VIA芯片组主板(KT 400或KT600或其它)

step1:把BIOS里的PNP OS设为ON(呵呵,刚好和8830相反,不过装完后设成OFF 或ON都没有关系,只是安全起见)

step2:在www.ati.com里下载相应的显卡驱动(注意你的内核和XFree86的版本号,下错了就不能成功了)

step3:注销系统,然后按CTRL+ALT+F1进入字符界面,用ROOT帐号登陆后,用
init 3
进入纯字符界面,然后开始以下步骤:

step 4:   cd  <放下载得来的驱动目录>

rpm -Uhi --force *.rpm

安装驱动
此时注意看有没有错误信息输出

step 5:
lsmod | grep fglrx

查看驱动模块有没有被正常加载了,用这个命令,如果fglrx被正确加载了,后得到类似这样的结果:
fglrx 160840 173

如果什么也没有显示,说明模块加载不成功,继续:

modprobe fglrx
手动加载模块,此时会得到一些warning,但成功加载了。
再用
lsmod | grep fglrx
看看,这次真的加载了

step 6:  (关键所在!!!!!)

如果你是KT400或KT600等等VIA芯片组主板,必须按以下办法做!!!否则失败的机率几乎为100%!

原理:ATI显卡驱动不会自动识别VIA芯片组,它会把这些芯片组当作是通用的芯片组来编译,这就是为什么ATI显卡驱动安装往往是失败的原因!

解决办法:修改/lib/modules/fglrx/build_mod/agpgart_be.c里面与主板相对应的字符。

这样:

emacs /lib/modules/fglrx/build_mod/agpgart_be.c
(emacs是个编辑工具,如果不熟悉的朋友可以用其它工具做这一步,要提醒你的是emacs的两个快捷键:
ctrl+x后,再按ctrl+s就是保存修改
ctrl+x后,再按ctrl+c就是退出emacs
呵呵,有点怪。

进入agpgart_be.c文件中,在大概LINE6073的地方(可能在附近)

仔细查看有没有:
via_generic_setup

通常在KT400字符下面

如果你是KT400或KT600的主板,就在KT400字符的下面把via_generic_setup
中的generic改成kt400(小写,这是最关键的!!!)

其它不用改。

如果你是KT266或KT133或PX440等等VIA芯片,就按照上面的方法改动相应的地方,记得要小写。

step 7:  如果你正确的完成了上面的步骤,你就成功了一半了!

现在要做的就是重新编译显卡驱动模块,以便完全正确的加载成功。

cd /lib/modules/fglrx/build_mod/
chmod 755 make.sh
./make.sh
然后
cd ..
chmod 755 make_install.sh
./make_installl.sh

这样,fglrx模块就可以正确的加载并且工作了。

step 8:

现在配置新的XF86CONFIG文件:

fglrxconfig

然后认真回答你所遇到的提问,但是最关键的另一步就在这里!!!

当问你是否要使用external agpgart 的时候,一定要选N!!!!切记!!

原理:在VIA芯片组上,如果选择了external agpgart模块,即是选择了使用系统自带的MESA库,这样是完全没有硬件3D加速的!!!!

所以一定要使用internal agpgart模块,也就是说选择N,这样将使用ATI显卡驱动自带的rglrx模块,这样才能正确打开3D硬件加速功能!!!!

step 9:
init 5

进入X看画面正常不,然后重启电脑,如果没有发生意外,而且你的步骤也对了,你现在就可以正常进入X,并且可以用以下命令来查看是否真的打开了3D硬件加速(这可是带真正的OPENGL硬件加速!!!!玩QUAKEIII和CS就靠它了!)

fglrxinfo

如果你得到类似这样的结果,你就成功了!

[root@localhost root]# fglrxinfo
display: :0.0  screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: RADEON 9500 Generic
OpenGL version string: 1.3 (X4.3.0-3.7.6)

如果你还是得到

MESA XXXXXX

这种结果,那就说明你失败了,再认真按步骤来试试看。

如果重试多次都不行,那么建议去www.linuxquestions.org上面再找找

ATI9200,9000或以前的8500系列,里面都有相应的办法,搜索就能找到。
 楼主| 发表于 2004-4-11 19:54:53 | 显示全部楼层
2.ATI系列显卡(主要是9500系列,9700系列,9800系列)+NF系列主板或INTEL 系列主板


和上面VIA芯片主板的方法差不多,但是有几点一定要区别开:

但是在

step 8:

现在配置新的XF86CONFIG文件:

fglrxconfig

然后认真回答你所遇到的提问,但是最关键的另一步就在这里!!!

当问你是否要使用external agpgart 的时候,一定要选Y!!!!切记!!

另外,不用修改agpgart_be.c文件。




终于写完了,希望对有需要的人有所帮助!!!

再次感谢www.linuxquestions.org上面的朋友!!

偶现在QUAKEIII 去喽

:p
发表于 2004-4-11 22:29:46 | 显示全部楼层
哇!
老兄真是暴猛!!!
我好好看看再说!
哈哈!
发表于 2004-4-11 23:37:20 | 显示全部楼层
老兄快开看看这是咋会事啊?
- creating symlink
- recreating module dependency list
- trying a sample load of the kernel module
FATAL: Error inserting fglrx (/lib/modules/2.6.5/kernel/drivers/char/drm/fglrx.ko): Unknown symbol in module, or unknown parameter (see dmesg)
failed.
 楼主| 发表于 2004-4-11 23:57:19 | 显示全部楼层
你安装了kernel-source的包了没有???

要先安装了对应内核的kernel-sourcef才行
发表于 2004-4-12 00:07:49 | 显示全部楼层
安装了kernel-source的包的,编绎没问题,就是装不上去。。SIGH。。。
发表于 2004-4-12 00:09:19 | 显示全部楼层
Unknown symbol in module, or unknown parameter (see dmesg)
这是啥意??偶英文菜。。。晕了。。。
 楼主| 发表于 2004-4-12 00:10:49 | 显示全部楼层
你的硬件应该 按照上面的方法安装就可以了

你现在的内核版本是多少??


我安装成功的时候是用默认的内核的,2.4.22
发表于 2004-4-12 00:24:14 | 显示全部楼层
我现在的fedora是编译到了2.6.5内核的。
以前在2.4.22下装镭驱动就用rpm就OK了,玩QUKER3很快的,和WINDOWS下一样快。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表