Home Wiki > SDB:Alsa-update
Sign up | Login

SDB:Alsa-update

tagline: From openSUSE

Tested on openSUSE Recommended articles Related articles
Icon-checked.png

Icon-manual.png Icon-help.png
This article explains how to update ALSA.

Situation

This guide should be used in conjunction with the Audio troubleshooting guide.

  • Your audio has a problem that requires that you update your ALSA version.
  • Your hardware is too new for the version of ALSA that comes with your openSUSE version.


Finding the kernel version

Warning When updating ALSA, it is important that you ensure to install the ALSA drivers that are specific to your kernel version only.

To determine your kernel version type in a console:

uname -r

You may get an output like:

3.7.10-1.11-desktop

Pay attention to the suffix, which might be

  • desktop
  • pae
  • default

To determine your openSUSE version and your system architecture, type in a console:

cat /etc/SuSE-release

You may get an output like:

openSUSE 12.3 (x86_64)
VERSION = 12.3
CODENAME = Dartmouth

Pay attention as to whether you have

  • i586
  • x86_64

Once you have the output, run the name of the kernel you have installed on your machine through zypper as follows

zypper info kernel-[suffix]

to get its full version number and find the applicable version.

For example with a 64-bit kernel type (that has desktop suffix) your command will be:

zypper info kernel-desktop

The output will look like:

Information for package kernel-desktop:

Repository: openSUSE-12.3-Update
Name: kernel-desktop
Version: 3.7.10-1.16.1
Arch: x86_64
Vendor: openSUSE
...

openSUSE 12.1 and earlier updates

Versions of openSUSE from 12.1 and earlier are no longer supported.


openSUSE 12.2 and later user space updates

By saying user space we are referring to applications such as libsound2, alsa, alsa-oss, alsa-plugins, alsa-utils, etc ...

You should send 5 zypper commands (and use YaST) to update your alsa applications (the commands and YaST example are given below).

To send the zypper commands below, first open an xterm/konsole, type "su" (no quotes) and enter the root password when prompted to get root permissions. Then type the zypper commands as described below (note one of the commands is specific to your openSUSE kernel version). The given commands will:

  • add a repository for alsa
  • update your alsa
  • remove the repository

Its important to send the two zypper command(s) to remove the repository, as the rpms in that repository are cutting edge, and once one's sound functions, its best not to keep updating alsa, as one of the updates could inadvertently break one's audio.


STEP 1 - Add repository

For updating the ALSA user-space packages, you can run the following zypper command in an xterm/konsole, or adding it using YaST (be careful to pick the one specific to your openSUSE version).

In this guide the repository name used is multimedia. If you use a different name keep attention in the next steps.

Warning Make sure you choose the right repository for your openSUSE version.
Version: 12.2 (User Space Updates)

Version: 12.3 (User Space Updates)

Version: Tumbleweed (User Space Updates)

Version: Factory (User Space Updates)


STEP 2 - Installing applications with YaST

Follow the instructions/sketches below to update your alsa apps (such as libasound2, alsa, alsa-oss, alsa-plugins, alsa-utils, etc ...)

Repository Example
Search Example

As illustrated in the LEFT picture above go to YaST > Software > Software Management, select "repositories", and select on the left the repository "multimedia". Ensure that the "version" tab is selected so you can see the versions, and then select for update all of your PC's alsa applications, including "libasound2". Do not add new alsa applications, just update ALL of your existing alsa apps. See the example on the left. Note this is JUST an example, as you may have different alsa apps installed.

Alternatively, as illustrated on the RIGHT image above you can use the YaST Software Manager search feature to locate the alsa applications to update. Do NOT forget to search for and update "libasound2".


STEP 3 - Remove repository

For ALL openSUSE versions, once that is complete, with the updates done, exit YaST, and remove the multimedia repository by opening a terminal and with root permissions type:

zypper rr multimedia

You can also remove it using YaST.

Warning It is IMPORTANT that you remove that repository else the following section may fail.

Here you can find a list of the ALSA versions packaged with some openSUSE versions

  • openSUSE 12.2 comes with ALSA 1.0.25
  • openSUSE 12.3 comes with ALSA 1.0.26
Warning You have NOT finished after sending those 2 zypper commands and updating via YaST. Please read on.


openSUSE kernel module/driver updates

In addition, to update ALSA driver modules, you have to send 3 zypper commands applicable to your openSUSE version AND to your specific kernel version (as described in the following section). This is SPECIFIC to your PCs kernel version and openSUSE version so there are many examples given.

Warning DO NOT install the rpms for other kernels (as it may break your sound). DON'T FORGET THIS.

You should know your kernel version already as you were shown how to determine that at the start of this guide.

Note the below is divided into two possible kernel versions:

  • the stock kernel that comes with the liveCD, DVD and in the OSS repository - that section is called in this guide OSS Kernel Section
  • the latest update kernel that is in the official update repository - that section is called in this guide UPDATED Kernel Section

Please go to the section that applies to your openSUSE.

Warning Don't forget to reboot your OS, after this updating.


OSS Kernel Section - IF you have NOT updated kernel with security fixes GO HERE to this OSS section

The commands in this section are for those users who have never updated to a security fixed kernel. I am calling this the "OSS repository". Check your kernel version as noted above to ensure you add the correct repository. IF your kernel has been updated, then go to *** UPDATE *** repository kernel module instead.

Be certain to do all steps (4, 5 and 6) below.

Knowing that you are in the right place (kernel not updated):


OSS Kernel Section - STEP 4 (Kernel not updated) - add OSS repository

Again, the commands to add the repository (zypper ar repository-oss multimedia) are for those users who have never updated to a security fixed kernel. IF your kernel has been updated, then go to STEP 4 (UPDATE) instead.


OSS Kernel Section - STEP 5 (Kernel not updated) - install alsa-driver-kmp package

Here are some examples based on the recent kernel versions:

Default Kernel

  • openSUSE-12.2 - kernel 3.4.6-default i386 or x86_64 GNU/Linux (only this kernel for 12.2 OSS)
  • openSUSE-12.3 - kernel 3.7.10-default i386 or x86_64 GNU/Linux (only this kernel for 12.3 OSS)

Send the command:

zypper install alsa-driver-kmp-default


Desktop Kernel

  • openSUSE-12.2 - kernel 3.4.6-desktop i386 or x86_64 GNU/Linux (only this kernel for 12.2 OSS)
  • openSUSE-12.3 - kernel 3.7.10-desktop i386 or x86_64 GNU/Linux (only this kernel for 12.3 OSS)

Send the command

zypper install alsa-driver-kmp-desktop


OSS Kernel Section - STEP 6 (Kernel not updated) - remove OSS repository

Now remove the repository. This is important. Send the command:

zypper rr multimedia

At this point the update is complete. Reboot your PC and test. However if instead you had previously updated your kernel, then you should start not in this section, but in the next kernel 'UPDATE' section.


UPDATED Kernel Section - IF you have updated your kernel GO HERE to this UPDATE section

This section is for those users who have kept their kernel up to date with the latest SuSE-GmbH security patched kernel. I am calling this the UPDATE repository. Check your kernel version as noted above to ensure you add the correct repository. Also check the repository to ensure it has rpms for your kernel version. If you have NOT updated your kernel, you will find a different kernel version and you instead belong in the above OSS section.

Be certain to do all steps (4, 5 and 6) below.


UPDATED Kernel Section STEP 4 - add UPDATE repository

The commands to add the repository ( zypper ar repository-update multimedia) are for those users who have kept their kernel up to date with the latest SuSE-GmbH security patched kernel.


UPDATED Kernel Section STEP 5 - install alsa-driver-kmp package

Send the command applicable to your openSUSE version and your kernel version. There are examples below. The example entry for 11.4 (Evergreen) may be a bit problematic.

Default Kernel

  • openSUSE-12.2 - kernel 3.4.11-2.16.1-default i386 or x86_64 GNU/Linux (example kernel for 12.2 UPDATE)
  • openSUSE-12.3 - kernel 3.7.10-1.11-default i386 or x86_64 GNU/Linux (example kernel for 12.3 UPDATE)

Send the command:

zypper install alsa-driver-kmp-default


Desktop Kernel

  • openSUSE-12.2 - kernel 3.4.11-2.16.1-desktop i386 or x86_64 GNU/Linux (example kernel for 12.2 UPDATE)
  • openSUSE-12.3 - kernel 3.7.10-1.11-desktop i386 or x86_64 GNU/Linux (example kernel for 12.3 UPDATE)

Send the command:

zypper install alsa-driver-kmp-desktop


UPDATED Kernel Section STEP 6 - remove UPDATE repository

Now remove the multimedia repository. This is important. Send the command:

zypper rr multimedia

At this point the update is complete. Reboot your PC and test.


See also


External links