linux怎样检测声卡

linux怎样检测声卡,第1张

使用命令:$dmesg | grep "snd"

看看你的声卡是什么型号的.

$su

修改/boot/default/rc.conf文件

找到sound内核那块

把你的声卡相应的内核名称前的#去掉.保存后退出,重起后$cat /dev/sndstat

看能否正确识别.

在声卡的驱动中一种是OSS(开放声音系统),一种是ALSA(先进Linux声音架构)。OSS是一个商业声卡驱动程序,需要花钱购买。一般我们现在使用的是ALSA的声音架构。

Advanced Linux Sound Architecture 的简称为 ALSA,译成中文的意思是 Linux 高级声音体系,ALSA不仅仅是包括对声卡的支持和驱动;

它的特征如下:

1、对所有音频接口的高效支持,从普通用户的声卡到专业级别多路音频设备;

2、声卡驱动完全模块化设计;

3、SMP and thread-safe design.

4、开发库(alsa-lib) 为程序设计提供了简单、方便,并且拥有有高级的效果和功能;

5、支持旧版本的OSS API 结口,能为大多数的OSS应用程序提供兼容;OSS是一个商业性的驱动,OSS有一个简装本的代码已经移入内核和ALSA,其中alsa-oss就是;OSS公司据说目前已经并不存在了;我们没有必要用OSS 公司提供的商业版本;用ALSA和OSS简装版足够;

如何查看硬件芯片;

在Linux *** 作系统中,所有的硬件都是以芯片组来区分的,品牌并不是最重要的;硬件最重要的标识是芯片组;所以您在讨论区求助的时候,只说硬件品牌,而不提供芯片组,大家是帮助不了您的,切记;

我们查看硬件的芯片组是的命令是 lspci -v 或者是dmesg,由于dmesg输出的信息不太多,不够直观;所以经常用的还是lspci -v ;也可以用lshal 获取;最方便的还是lspci -v;初学者还是用 lspci -v 更好一点;

代码:

[root@localhost beinan]# lspci -v

我们运行lspci -v 后,如果查看声卡芯片组,发会现有类似下面的一段;

[root@localhost beinan]# lspci -v

Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M)

AC'97 Audio Controller (rev 03)

Subsystem: Hewlett-Packard Company: Unknown device 3080

2.6.11-1.1369_FC4 i686 i686 i386

上面的表示的是系统的内核版本,处理器架构等;lsmod 查看已经加载的内核模块;

如果一个设备在内核的编译中是以模块方式加载的,主要是通过lsmod 来查看;

[root@localhost beinan]# lsmod

可能初学Linux的弟兄会问,内核的module存放在哪里,我们能不能自己来手工加载模块;内核的模块放在 /lib/modules/内核的版本/kernel/ ,比如在Fedora 4.0 中,我们可以看到如下的:

[root@localhost beinan]# ls /lib/modules/2.6.11-1.1369_FC4/kernel/

arch/crypto/ drivers/ fs/ lib/ net/ sound/其中,sound 就是声卡模块存放目录,大多数的硬件驱动放在 drivers目录,fs 是文件系统模块的目录;net是与网络有关的存放目录,比如一些网络协议支持的模块、防火墙支持的模块等;arch 是cpu方面 ... ...

如果我们想自己加载模块,就到这些目录中查看相应模块的信息,然后用 modprobe 来加载;

[root@localhost beinan]# modinfo snd-intel8x0

查看一个模块的信息,我们用 modinfo 来查看,所要查看的模块不要带 .ko 或者.o 之类的;比如查看到类似下面的信息;

description: Intel 82801AA,82901AB,i810,i820,i830,i840,i845,MX440SiS 7012Ali 5455

通过这个我们足可以知道这是Intel 集成声卡,通过lspci -v 得到的声卡信息,感觉他们很相近;所以就能尝试用这个模块来驱动;

[root@localhost beinan]# modprobe snd-intel8x0

用 modprobe 加载了模块,然后我们通过 lsmod 就能看到了;对于声卡模块是这么加载的,其它设备的驱动模块也是如此。

linux的驱动问题是个很大的问题,

只有楼主自己试验才能够弄清楚。

国内linux公社讨论这些的氛围好些,

但是他们也不可能拿出一个通用的解决方案。

SUSE应该能驱动ALC655的,

不过需要楼主在安装完成后自己编译内核,

加入相应的模块。

这个要求不算是很低的要求了。

此外,

可以设置为没有声卡,

然后装一些第三方的声卡驱动,

或者向声卡厂商索取驱动,

一般他们都是很乐于帮忙的,

当然,

有些厂商只能是态度上的,

因为他们也没有开发linux驱动。

不过alc655是软声卡,

应该好办。

还有,

声卡驱动也有几类,

一是直接编译到内核里的,

二是内核的某一模块,挂接在内核上的,

三是只在KDE或者Gonme桌面环境下才有效的,

如果可能,显然前两种更好一些。

另外,

从你的描述来看,

我觉得你遇到的使用alsa驱动的问题,

很有可能是原来系统中的alsa驱动已经安装但是却不能正常工作造成的,

这时新的驱动和旧的驱动造成了冲突。

以前在映泰nforce2的主板上见到过,

没有找到好的解决办法,

当时采用的笨办法是重新安装系统的时候不安装音频相关的内容,包括内核的相关模块,

然后再装最新的alsa驱动。

还有就是编译内核,

放弃alsa驱动,

而采用oss驱动,

把oss驱动编译到内核里。

这个问题比较普遍,

在FedoraCore的社区里可能有讨论。

觉得慢可以关掉不需要的服务,

默认服务中一半左右都可以关闭。

不过具体关哪些依照你机器的主要用途而定,

要查手册。

至于硬盘设置问题,

如果要彻底优化,

除了一些系统设置外,

恐怕又要编译内核了,

楼主要查相关书籍。

其它问题楼上几位的都可以参考。

如果你用FC,

一定要去FC的社区。

最后,对楼上“回答者:王睿超王睿超忘 - 魔法师 五级 ”

的抄袭行为表示强烈的谴责哈。

前几天我在另一格问题上的回答也被人抄袭了。

这次虽然不是抄的我的,

仍然表示谴责。

并希望百度管理员仔细注意,

什么才是应该删除的,

不要只知道删除负面意见。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7304487.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存