No Sound on New Hardware
"snd_hda_intel" produces erattic sound or none at all
After building my latest box that included an MSI K9N2 SLI Platinum motherboard, I was in for a very unpleasant surprise after the install of both 11.0 and 11.1 -- No Sound. What? Sound had always pretty much just worked before with the minor adjustments of possibly deleting and adding a sound card in YAST or changing the sound system configuration in KDE Control Center. However, none of the old tricks seemed to work. lspci -vv and hwinfo --sound didn't provided an useful information. Looking at my motherboard manual, I found the sound card chipset was a Realtek ALC888. The manual didn't have much information about the onboard sound, but it was a starting place:
Realtek ALC888 Audio The Realtek ALC888 provides 10-channel DAC that si- multaneously supports 7.1 sound playback and 2 chan- nels of independent s tereo s ound output (multiple streaming) through the Front-Out-Left and Front-Out- Right channels.
Your Hardware is Too New
After a bit of searching, the reason for the problem because clear - my hardware was too new and not yet supported. But, this is Linux right? Somebody has to have created a patch or found a work-around for this problem. True to form, openSuSE had developed an update for ALSA to support newer hardware -- mine included. (See: right-column, "Alsa Update"). With a few adjustments, the solution for my system was as follows.
In order to install the updated alsa packages, you will need to add a few repositories to your system. The easiest way to add/modify/remove repositories and packages is to use 'zypper' from the command line. You can simply cut and paste from the commands below, just make sure you are using the release, either 10.3, 11.0 or 11.1 depending on your system.
Note: Pay Attention. There are different alsa-driver-<kernel modules> to install depending on the kernel you have installed. If you add the following 3 repositories, you are covered regardless of the kernel you have installed. These are all 1-line commands so don't overlook the continuation character '\' in the 'zypper ar' commands.
Adding the Needed Repositories
Contrary to the openSuSE howto, I am adding the following new repositories as 'audio', 'audiokmp' and 'audiokmp-update' because the 'multimedia' alias is too generic. Additionally, why remove the repositories after installing them? How are you going to get updates? I will leave them installed for that purpose. Simply adjust the release number and cut and paste the following into konsole or an x-term, or you can use yast if you prefer:
zypper ar -k \ http://download.opensuse.org/repositories/multimedia:/audio/openSUSE_11.0/ audio zypper mr -r audio zypper ar -k \ http://download.opensuse.org/repositories/multimedia:/audio:/KMP/openSUSE_11.0/ audiokmp zypper mr -r audiokmp zypper ar -k \ http://download.opensuse.org/repositories/multimedia:/audio:/KMP/openSUSE_11.0_Update/ audiokmp-update zypper mr -r audiokmp-update
Note: FOR openSuSE 10.3, THERE IS NO -k OPTION AVAILABLE. On 11.0 and 11.1, I use the -k (keep packages) option so that zypper leaves the installed rpms on my system so I can use them for later installs or reinstalls. If you don't want to keep the rpms, you can remove the -k option.
Installing the Updated Alsa Packages
Again, at the command prompt as root:
zypper install alsa alsa-utils alsa-tools alsa-firmware libasound2 (for x86_64 and i386 non-PAE kernel installs) zypper install alsa-driver-kmp-default (for x86_64 PAE kernel installs) zypper install alsa-driver-kmp-pae
Configuring The Sound Card
Use Yast to Configure the Card
With the alsa packages installed, you now need to configure your sound card in yast. Until now, your sound card has probably existed in yast in the 'not configured' state. Simply start yast and go to hardware --> sound, select your sound card and choose 'edit' or, if no sound card exists, choose 'add' and complete the sound card configuration as usual. Make sure you 'test sound' in the sound card configuration because, if it isn't working here, it won't work anywhere else either.
Use KDE Control Center to Configure the "Sound System"
Next, you need to configure the sound system in KDE Control Center to use the Alsa driver. (If you use Gnome -- well, your on your own here) Start KDE Control Center and go to Sound & Multimedia --> Sound System. (hopefully this wasn't forgotten in KDE4) Make sure 'Enable Sound System' is selected on the general tab and then go to the hardware tab. Select "Advanced Linux Sound Architecture" from the 'Select the audio device:' listbox and any other options you desire. Go to the general tab and 'Test Sound'. If you have clear sound, your good. If not, then recheck your work and make sure you have installed all the needed packages.
Finally, I would recommend logging out and logging back in to make sure your sound configuration has maintained its settings. A quick command line test of your sound is aply named:
speaker-test -c2 -l5 -twav
This is simply a two-speaker test of the left/right speakers to confirm all is well. speaker-test is quite good at testing as many channels as your sound system may have and can test it with a number of different test sounds. See, man speaker-test for all the options.
Note: I had to do the yast/kde control center configuration twice for some reason. The first time I configured yast and kde, I had sound with the tests in both yast and kde, but after logging out and back in, the sound was gone. I reconfigured the sound in exactly the same way the second time and now all is well. Gremlins?
For more in-depth discussion about the Alsa update, visit the links above in the More References section. Good Luck!