Ubuntu下声卡驱动解决方法alsa

一、首先介绍一下什么是ALSA ;

Advanced Linux Sound Architecture 的简称为 ALSA ,译成中文的意思是先进的Linux声音架构(这是google翻译的);一谈到架构就有点范围太大了,所以ALSA不仅仅是包括对声卡的支持和驱动;

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简装版足够

二、查看 ALSA 版本,如果最新,就不用重新安装了,仔细查看一下配置吧。
$ alsactl -v

或者:

cat /proc/asound/version

如果打印出: alsactl version 1.0.19,那么 ALSA 已经是最新了。如果不是最新就要先安装最新的alsa驱动。
第一步,首先停止当前的ALSA服务:
sudo /etc/init.d/alsa-utils stop

第二步,卸载原有驱动
sudo apt-get --purge remove linux-sound-base alsa-base alsa-utils

第三步,(*由于在删除alsa-utils的时候会同时删除gdm和ubuntu-desktop,所以得重新安装,否则会无法进入桌面,请大家不要漏过此步)

sudo apt-get install gdm ubuntu-desktop

编译安装alsa

第一,在 ALSA 官方网站 http://www.alsa-project.org 上,下载最新的 ALSA 驱动,用tar -jxvf alsa-*-1.0.19.tar.bz2和tar xvf alsa-*.1.0.19.tar解压缩。
$ wget ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.19.tar.bz2
$ wget ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.19.tar.bz2
$ wget ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.0.19.tar.bz2

第二,查看自己的内核版本和声卡解码芯片是否被支持。
查看支持的内核版本
$ less alsa-driver-1.0.19/SUPPORTED_KERNELS
查看自己声卡解码芯片(如果系统不能识别声卡,可能无法由下面两个查到,那么查看你电脑配置单吧)
$ tail -2 /proc/asound/oss/sndstat

$ head -1 /proc/asound/card0/codec#0
比如我的 ONDA A69G 就显示的是下面这个
0: Realtek ALC655 rev 0
在 alsa-driver-1.0.15/alsa-kernel/Documentation/ALSA-Configuration.txt 中查找自己声卡解码芯片对应的 model 名字,比如我的 alc655 对应的就是:

- alc_jack    For ALC65x, turn on the jack sense mode

第三,准备好编译环境,安装 gcc, libc 等等工具,还需要下载 Linux header,这是编译 ALSA 驱动必须的。
$ sudo apt-get install build-essential libncurses5-dev gettext kernel-package gcc make libc6 libc6-dev
$ sudo apt-get install linux-headers-`uname -r`

第四,编译安装,一般的 ./configure, make, make install 流程。注意的是驱动编译时候需要 module 名字,就是第三步中找到的 modle 对应的 module 名字,去掉 snd-即可。比如我的 alc655 对应的module 是 snd-atiixp那么 configure 时候需要加上 --with-cards=atiixp。编译安装时遇到问题请仔细阅读源码附带的 INSTALL。
$ cd alsa-driver-1.0.19
$ ./configure --with-cards=MODULE_NAME 我的是snd-atiixp
$ make
$ sudo make install
$ cd ../alsa-lib-1.0.19
$ ./configure
$ make
$ sudo make install
$ cd ../alsa-utils-1.0.19
$ ./configure
$ make
$ sudo make install

第五,配置 ALSA。
如果以前系统中没有使用 ALSA 驱动,可能需要 alsaconf 来配置,还要将 ALSA 加入内核模块中,我没有经验;
如果系统原来已经有 ALSA 驱动,但是没有识别声卡或者声音驱动有问题。那么理论上只需要在两个地方做改动:

添加 /etc/modprobe.d/sound 文件,内容为:
alias snd-card-0 snd-MODULE_NAME
alias sound-slot-0 snd-MODULE_NAME
比如我的就是:
alias snd-card-0 snd-atiixp
alias sound-slot-0 snd-atiixp

在 /etc/modprobe.d/alsa-base 中最后一行添加:
options snd-MODULE_NAME model=MODEL_NAME

第六,重新启动查看效果,可以使用 alsamixer 调节声音设置。

时间: 2024-10-05 23:28:07

Ubuntu下声卡驱动解决方法alsa的相关文章

Window Server 2012无线网卡和声卡驱动解决方法

刚开始安装server2012时,驱动一直装不上以为是驱动的问题,后来在网上找了一下才明白是为啥,由于服务器默认不会开启无线LAN功能.和声卡服务,下面简单的方式给大家介绍一下解决方法: 无线网卡解决方法: 第一步.进入“服务器管理器” --〉 “添加角色和功能”,如下图: 第二步.点击“下一步”,如下图: 第三步.安装框出来的选项和步骤,如下图: 第四步.继续按照操作,如下图: 第五步.继续,如下图: 第六步.把“无线LAN服务”勾选上,然后继续下一步安装,最后把驱动安装上,就可以正常上网了,

python在windows下UnicodeDecodeError的解决方法

之前在windows下使用python调用某些模块时都会报错,像这样: C:\Documents and Settings\Administrator>python -m CGIHTTPServer Traceback (most recent call last): File "C:\Python27\lib\runpy.py", line 162, in _run_module_as_main "__main__", fname, loader, pkg_

IE6浏览器下div无法遮盖select下拉框解决方法

IE6浏览器下div无法遮盖select下拉框解决方法:在IE6浏览器下,select下拉框无法被div遮盖,其他的主流浏览器都是正常的.这里简单介绍一下如何解决此问题.默认状态下IE6的表现: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.51texiao.cn

Linux包管理命令与Ubuntu下安装nginx的方法

rpm包和deb包是两种Linux系统下最常见的安装包格式,在安装一些软件或服务的时候免不了要和它们打交道.rpm包主要应用在RedHat系列包括 Fedora等发行版的Linux系统上,deb包主要应用于Debian系列包括现在比较流行的Ubuntu等发行版上. 二者对应的安装命令分别为rpm与dpkg. Ubuntu的软件包格式是deb,如果要安装rpm的包,则要先用alien把rpm转换成deb.alien安装与转换命令: sudo apt-get install alien #安装ali

Linux ALSA声卡驱动之一:ALSA架构简介【转】

本文转载自:http://blog.csdn.net/droidphone/article/details/6271122 声明:本博内容均由http://blog.csdn.net/droidphone原创,转载请注明出处,谢谢! 一.  概述 ALSA是Advanced Linux Sound Architecture 的缩写,目前已经成为了linux的主流音频体系结构,想了解更多的关于ALSA的这一开源项目的信息和知识,请查看以下网址:http://www.alsa-project.org

ubuntu apt-get update失败 解决方法

ubuntu apt-get update失败 1.出现错误:E:Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable) 出现这个问题的原因可能是有另外一个程序正在运行,导致资源被锁不可用.而导致资源被锁的原因,可能是上次安装时没正常完成,而导致出现此状况. 解决方法:把 /var/lib/apt/lists 中的文件全部删掉 输入以下命令sudo rm /var/cache

Ubuntu忘记用户密码解决方法--Authentication token manipulation error

1.重启系统,按住shift键进入grub菜单: 2.选择recovery mode恢复模式: 3.在recovery menu中选择root drop to root shell prompt: 4.在命令行中输入passwd 用户名: 如果出现successful的字样说明修改成功: 如果出现: 说明无权限更改. 此时的解决方法: 将根目录/ 以读写方式重新挂载,输入mount -o rw,remount / 再改密码就可以成功了. 关于mount -o rw,remount / 需要注意的

(收集)linux环境下乱码的解决方法

**************************** 就是从数据库中取出来时,在存入linux的文件里时,在字符流时制定编码格式.代码如下: FileOutputStream fos=new FileOutputStream(new File(filePath),true); Writer ut=new OutputStreamWriter(fos,"UTF-8"); out.write(s); out.write("\n"); out.flush(); fos

Ubuntu Hash Sum mismatch 解决方法

有时候通过校园网对Ubuntu14.04进行更新时,会出现以下问题: W: Failed to fetch http://xxxxxxx Hash Sum mismatch 解决方法:打开搜索 →  search: softwares & updates → Ubuntu Software → Download from , 选择中科院(ustc)的源,更换源之后,可以试试重新输入: sudo apt-get update  若问题依旧,输入: sudo gedit /etc/apt/sourc