一、首先介绍一下什么是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 调节声音设置。

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

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

    刚开始安装server2012时,驱动一直装不上以为是驱动的问题,后来在网上找了一下才明白是为啥,由于服务器默认不会开启无线LAN功能.和声卡服务,下面简单的方式给大家介绍一下解决方法: 无线网卡解决 ...

  2. 【linux】ubuntu下crontab无效解决方法

    在Debain的docker中启用crontab,踩了一整天的坑,特地记录一下.Debain和ubuntu差不多,故算在ubuntu下面了. 1.第一个坑,安装crontab apt-get inst ...

  3. win10 设置声卡驱动 --- 解决喇叭没有声音!

    win10 设置声卡驱动 --- 解决喇叭没有声音! 1)安装驱动,必须能够在:"控制面板\硬件和声音" 下找到安装好的: "Realtek高清晰音频管理器" ...

  4. ubuntu网速慢解决方法

    ubuntu网速慢解决方法 (2011-04-02 09:58:21)         本人在Window7下装ubuntu10.10双系统,在window7下速度挺快的,到了ubuntu速度就慢了很 ...

  5. 使用webstrom开发react-native时react-native代码会出现红色下划线的解决方法

    问题:使用webstrom开发react-native时react-native代码会出现红色下划线的解决方法 解决方法:webstrom ->preferences->Laugrange ...

  6. PNG24在ie6下的完美解决方法!(DD_belatedPNG)

    原网址:http://www.zjgsq.com/1629.html 之前写过一篇<js+css滤镜设置解决PNG24在IE6下显示问题> 解决方法不是很完美,使用起来也比较麻烦. DD_ ...

  7. Ubuntu 重新安装声卡驱动

    有的时候ubuntu 的声卡不能用,没有声音也不能使用麦克风,所有很困惑,查看声卡驱动的时候不显示声卡的驱动,所有我们要自己安装声卡驱动, 1.下载驱动包这是比较新的声卡驱动,1.0.20 $ wge ...

  8. zendstudio快捷键复制行Ctrl+Alt+向下无效的解决方法

    今天不断地在百度输入类似"zendstudio快捷键复制行Ctrl+Alt+向下无效"这样的关键字,里面搜索到的内容都是在说系统的显卡驱动Ctrl+Alt+方向键和ZendStud ...

  9. 笔记本安装Win2012R2 心得(包含无线网卡+有线网卡驱动解决方法)

    笔记本:联想昭阳E47G 无线网卡安装方法: 系统安装完毕后将自动识别无线网卡驱动,但需要手动允许WLAN服务开启.(建议,如果是拿来办公或者家用,可以安装上桌面体验)不然,QQ发的截图双击都看不起. ...

随机推荐

  1. HDU 1011 Starship Troopers (树dp)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1011 题意: 题目大意是有n个房间组成一棵树,你有m个士兵,从1号房间开始让士兵向相邻的房间出发,每个 ...

  2. JavaEETest

    原文:https://github.com/lenve/JavaEETest

  3. ios等待ualertview弹出动画完成后再跳转至其他页面

    [self performSelector:@selector(popView:) withObject:nil afterDelay:2.0];

  4. 更改 vux Tabbar TabbarItem标题下方的文字激活时的颜色

    步骤一: 打开文件build/webpack.base.conf.js, 找到modeule.exports = vuxLoader, 修改如下(并保存) module.exports = vuxLo ...

  5. Android相关工具下载(ADT、NDK等等)

    一个非常牛掰的网站,可以下载很多Android相关的工具等 网址为: http://www.androiddevtools.cn/

  6. 工作总结 mvc 调页面传参数 参数值会一直保存 在这个页面上的

    意思是 两个页面均可以 获取到id 和 goodsType 都可以获取 id goodsType post 的 还多带点属性值 form data 页面上带过去的 (新增 编辑)

  7. Android多线程下载大文件解析

    1.多线程介绍 用过迅雷的同学都知道.迅雷有个功能叫做多线程.另一个叫离线下载,我们这里重点介绍一下多线程下载.多线程,顾名思义就是非常多歌线程同一时候在执行,为什么要提出多线程这个概念呢?由于有时候 ...

  8. USB通讯协议

    首先要了解USB枚举过程(自己百度) https://blog.csdn.net/MyArrow/article/details/8270029 USB通讯协议 0. 基本概念 一个[传输](控制.批 ...

  9. 阿里云OSS对象存储 简单上传文件

    不得不说阿里云的命名比较让人摸不着头脑,开始以为是文件存储NAS,弄了半天什么文件系统,挂载点的搞不明白.后来才搞清楚原来 对象存储OSS才是我需要的. 其中EndPoint就是画红框的部分,但是要加 ...

  10. 不使用while,for,if等实现加法

    不使用if, while,for,switch等实现从1到10的加法 解:这里使用静态函数和静态变量实现,利用类似的方法也能够实现从1打印到1000 class TheSum{ public: The ...