linux内核会收集几乎所有音频硬件驱动的,大多数声音问题都是配置不当而不是没有驱动
Ⅱ 请问linux下的ubuntu下怎么安装声卡驱动,打开网页听歌没有声音。
1.下载linux版本的官方驱动包
Realtek官网 http://www.realtek.com/downloads/ 点击右下方的 HD Audio Codec Driver
然后点击 I accept 神马的进入下一页
然后在最底下有linux版本的驱动,根据内核(一般都是2.6)版本下载驱动包
2.编译环境 ,build-essential 里面是最常用的编译工具
sudo apt-get install build-essential
如果安装过会有提示
3.开始安装
1)解压源代码包
tar xfvj LinuxPkg_5.16rc25.tar.bz2
cd realtek-linux-audiopack-5.16
tar xfvj alsa-driver-1.0.24-5.16rc25.tar.bz2
2)编译源代码
cd alsa-driver-1.0.24
sudo ./configure --with-cards=hda-intel
sudo make
sudo make install
3)重启机器
sudo reboot
Ⅲ linux如何安装声卡驱动呢
在Linux系统上有两种驱动程序可以弥补Linux系统的不足。一种是OSS(开放声音系统),一种是ALSA(先进Linux声音架构)。OSS是一个商业声卡驱动程序,需要花钱购买,否则每次启动后,你只可以免费使用240分钟;ALSA是自由软件,可以免费使用。
一、安装ALSA声卡驱动程序
1.ALSA包含下面四个软件包:
alsa-driver-0.5.9.tar.bz2
alsaconf-0.4.3b.tar.gz
alsa-lib-0.5.9.tar.bz2
alsa-utils-0.5.9.tar.bz2
2.先安装alsa-driver-0.5.9.tar.bz2这个文件:
(1)cp alsa-driver-0.5.9.tar.bz2 /tmp
将alsa-driver-0.5.9.tar.bz2 拷到/tmp目录下。
(2)bunzip2 alsa-driver-0.5.9.tar.bz2
解压缩这个文件,会在/tmp目录下生成一个文件叫做alsa-driver-0.5.9.tar。
(3)tar xvf alsa-driver-0.5.9.tar
将会在/tmp目录下产生一个子目录叫做alsa-driver-0.5.9,alsa的所有文件就存放在这个目录下。
(4)cd alsa-driver-0.5.9
进入alsa的驱动程序所存放的目录,准备配置和编译它。这时你可以看一下目录下的INSTALL文件来了解安装的步骤和注意事项。
(5)依次运行下面三个命令:
./configure
make install
./snddevices
3.编辑/etc/ moles.conf文件
这个文件的配置虽然比较麻烦,但用alsaconf-0.4.3b.tar.gz也可以配好它,运行命令:
(1)cp alsaconf-0.4.3b.tar.gz /tmp
将alsaconf-0.4.3b.tar.gz 拷到/tmp目录下。
(2)tar zxvf alsaconf-0.4.3b.tar.gz
解压缩这个文件,会在/tmp目录下生成一个子目录叫做alsaconf-0.4.3b。
(3)./alsaconf
会出现一个窗口叫你选择声卡,像SoundBlaster及ESS1868、S3_SonicVibes_PCI、Ensoniq_AudioPCI_ES1370 1371等,很多目前的kernel还不支持的声卡它都可以支持了。
选好声卡之后系统会问你一些问题,都回答OK,然后会回到第一个画面问你要不要继续设第二张声卡,选“No_more_cards”退出即可。完成这个步骤之后,/etc/moles.conf这个文件就基本上自动配置好了,重新启动电脑后声卡就可以发声了。
4.如果还不行,那么你就还需要安装alsa-lib和alsa-utils,安装方法和alsa-driver一样,注意要先安装alsa-lib,再安装alsa-utils。将文件拷到/tmp目录,解压缩,然后运行命令make和make install,具体请参照上面alsa-driver的安装步骤。
安装后到alsa-utils(解开alsa-utils-0.5.9.tar.bz2会产生该目录)目录下的alsamixer子目录执行
./alsamixer
二、安装OSS声卡驱动程序
1、OSS声卡只有一个安装包:osslinux393q-2217-UP.tar.gz。
2.启动Linux,把下载下来的osslinux393q-2217-UP.tar.gz拷到一个临时目录中,如:
cp osslinux393q-2217-UP.tar.gz /tmp/
cd /tmp
tar zxvf osslinux392v-glibc-2212-UP.tar.gz
此时文件已经解开,你可以看到在当前目录下有四个文件:INSTALL、LICENSE、oss-install和oss.pkg文件,其中INSTALL是安装帮助文件,如果你是第一次安装一定要好好看一看。
3.配置
以root用户身份运行oss-install:
./oss-install
如果出现了“No such file or directory”的错误信息,那是因为你下载的OSS驱动程序的版本和你用的Linux不匹配,可以重新到上述站点,下载相应的驱动程序就可以了。
这时候一般会提示:你的Linux以模块的形式加载了声卡驱动程序,要不要安装程序自动将它去掉?选择去掉就可以了。
接下来就是处理过程、协议及一大堆东西,接受协议安装,使用默认安装路径即可(/usr/lib/oss)。oss一般可以自动检测出大部分声卡,你可以看看结果是不是和你的声卡相符,如果相符,直接在菜单中选择“Save changes and Exit..”即可。对于那些不能直接探测到的声卡,你就只有用手工方法选择了。如对Yamaha OPL3-SAX (YMF715/YMF719) chip 可以选择:“Generic Yamaha OPL3-SAx (YMF715/YMF719) non-PnP”driver。
4.打开/关闭声卡
在默认的安装目录/usr/local/bin里有一个soundon命令,它可以用来打开oss驱动,同样的你也可以用soundoff命令关闭oss驱动。
5.疑难解决
有时也可能出现这样的情况,你的声卡检测到了,而且安装过程也好像一切正常,但是声卡就是不能正常工作。不要急,OSS还有可以让你手工调节设置参数的地方,其实,在“Save changes and Exit”的同一个窗口中,还有一个选项“Manual Configuration”,它就是让你手工调整设置参数的,你可以在这里设置声卡的IO、DMA等参数。
Ⅳ Linux的声卡驱动中ALSA与OSS的区别和简单流程介
在声卡的驱动中一种是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的弟兄会问,内核的mole存放在哪里,我们能不能自己来手工加载模块;内核的模块放在 /lib/moles/内核的版本/kernel/ ,比如在Fedora 4.0 中,我们可以看到如下的:
[root@localhost beinan]# ls /lib/moles/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,MX440; SiS 7012; Ali 5455
通过这个我们足可以知道这是Intel 集成声卡,通过lspci -v 得到的声卡信息,感觉他们很相近;所以就能尝试用这个模块来驱动;
[root@localhost beinan]# modprobe snd-intel8x0
用 modprobe 加载了模块,然后我们通过 lsmod 就能看到了;对于声卡模块是这么加载的,其它设备的驱动模块也是如此。