First, introduce what is ALSA;
The Advanced Linux sound Architecture is referred to as ALSA, which translates into Chinese in the form of a state-of-the-art Linux audio architecture (this is Google Translate); when it comes to architecture it's a bit too large, so ALSA not only includes support and drivers for sound cards;
ALSA has the following characteristics:
1, the efficient support for all audio interfaces, from the ordinary user's sound card to the professional level of multi-channel audio equipment;
2. Fully modular design of sound card driver;
3. SMP and Thread-safe design.
4, the development of the Library (ALSA-LIB) for the program design provides a simple, convenient, and has advanced effects and functions;
5, support the old version of the OSS API node, can provide compatibility for most OSS applications; OSS is a commercial driver, OSS has a lite-on code that has been moved into the kernel and alsa, of which Alsa-oss is the OSS company is said to have no existing We do not need to use the commercial version provided by OSS, and the Lite version of ALSA and OSS is sufficient
Second, check the ALSA version, if the latest, you do not have to reinstall, take a closer look at the configuration.
$ alsactl-v
Or:
Cat/proc/asound/version
If you print out: Alsactl version 1.0.19, then ALSA is up to date. If you are not up to date, install the latest ALSA drivers first.
The first step is to stop the current ALSA service:
Sudo/etc/init.d/alsa-utils stop
Second step, uninstall the original driver
sudo apt-get--purge remove linux-sound-base alsa-base alsa-utils
The third step, (* Due to delete alsa-utils at the same time will be deleted GDM and ubuntu-desktop, so you have to reinstall, otherwise you will not be able to enter the desktop, please do not miss this step)
sudo apt-get install GDM ubuntu-desktop
Compiling and installing ALSA
First, on the ALSA official website http://www.alsa-project.org, download the latest ALSA driver, unzip it with TAR-JXVF alsa-*-1.0.19.tar.bz2 and 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
Second, check to see if your kernel version and sound card decoding chip are supported.
To view supported kernel versions
$ less Alsa-driver-1.0.19/supported_kernels
Check your own sound card decoding chip (if the system does not recognize the sound card, may not be found by the following two, then check your computer Configuration list bar)
$ tail-2/proc/asound/oss/sndstat
Or
$ head-1/proc/asound/card0/codec#0
My ONDA a69g, for example, shows the following.
0:realtek ALC655 Rev 0
In the alsa-driver-1.0.15/alsa-kernel/documentation/alsa-configuration.txt to find their own sound card decoding chip corresponding model name, for example, my alc655 corresponds to:
-Alc_jack for alc65x, turn on the Jack sense mode
Third, ready to compile the environment, install GCC, libc and so on tools, but also need to download the Linux header, which is required to compile the ALSA driver.
$ sudo apt-get install build-essential libncurses5-dev gettext kernel-package gcc make libc6 libc6-dev
$ sudo apt-get install linux-headers-' uname-r '
IV, compile and install, general./configure, make, make install process. Note that the driver compile time requires the module name, is the third step found in the Modle corresponding module name, remove snd-can be. For example, my alc655 corresponding module is SND-ATIIXP so configure time need to add--with-cards=atiixp. If you have problems compiling and installing, please read the install attached to the source code carefully.
$ CD alsa-driver-1.0.19
$./configure--with-cards=module_name mine is 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
Five, configure ALSA.
If the previous system did not use the ALSA driver, may need to alsaconf to configure, but also to add ALSA to the kernel module, I have no experience;
If the system already has ALSA driver, but does not recognize the sound card or sound driver has a problem. So in theory you just need to make changes in two places:
Add the/etc/modprobe.d/sound file with the content:
Alias snd-card-0 Snd-module_name
Alias sound-slot-0 Snd-module_name
For example, mine is:
Alias snd-card-0 Snd-atiixp
Alias sound-slot-0 Snd-atiixp
In/etc/modprobe.d/alsa-base, the last line is added:
Options Snd-module_name Model=model_name
To restart the viewing effect, you can use Alsamixer to adjust the sound settings.
Ubuntu lower sound card driver solution Alsa