Fixing Broken Sound in Fedora

(If you find this page useful, and wish to post a link to it somewhere, feel free. A brief email to scottro11 [at] gmail[dot]com is appreciated but not necessary.)

Please Note
If you have a solution not mentioned here, please feel free to send it. If you do, PLEASE let me know if I should give your name, give first name and last name letter, e.g., Scott R. or just say, "a reader." If you don't mention the subject, I'm just going to say, "Someone who saw this page...".

Recent updates, especially from Fedora 7 to Fedora 8, have broken sound for many people. This little page will only stay up for awhile and not be listed on my index page, as it's simply easier to post this URL than (once again) look for the various threads on fedoraforums.org.

There are two different issues, one having to do with console permissions and the other having to do with pulseaudio. Although it might turn out to be the next Great Thing(TM) in its early stages, it is giving some people problems. In general, if only root can play sound, or if the GUI system-config-soundcard (which is run as root) works and nothing else does, then start with the console permissions. If some things work and others don't, all as normal user, start with the pulseaudio stuff. That's no guarantee, it's just that as more and more people post to fedoraforums with their sound problems, the root only thing seems to usually (but not always) be console permission related and the some things working but not others seem to be usually (but again, not always) pulseaudio issues.

The console permissions issue thing was possibly more of a kernel upgrade issue than a Fedora upgrade issue, as I've seen mention of it by someone who was using Fedora 6. While system-config-soundcard will produce sound, only root will be able to play sounds.

There is a bug report on it. Although it's been closed as not a bug, some folks would disagree. Some of the solutions given might work for some people.

Possible solutions. Enable ConsoleKit as a service if it's disabled. Enable avahi-daemon if it's disabled. (Thanks to Mihai Limbasan for the information about avahi-daemon.)

Both of these can be checked by
/sbin/chkconfig --list ConsoleKit
/sbin/chkconfig --list avahi-daemon

Look at the entries for levels 3 and 5 and see if they are on. If not (You'll need to be root or have root privilege for this)
/sbin/chkconfig avahi-daemon on
/sbin/chkconfig ConsoleKit on

To start them immediately
/etc/init.d/ConsoleKit start
/etc/init.d/avahi-daemon on

(In practice, sometimes it's necessary to reboot to get it working.)

If this doesn't work, then you can also edit /etc/security/console.perms.d/50-default.perms. Towards the top, where various things are defined, I add the line
<sound>=/dev/dsp* /dev/snd/*

At the bottom, where permissions are defined, I add
<console> 0666 <sound>       0600 root

Sometimes only editing that file and reboooting will fix it. Sometimes, just adding ConsoleKit and avahi-daemon have worked. Sometimes, you need to do both, and rerun system-config-soundcard. My results have not been consistent. When running system-config-soundcard, one usually runs it as user and types the root password when requested. Once or twice, when this failed, I logged out, logged back in again as root, then, as root, ran system-config-soundcard and it fixed the issue.

(For an excellent description of most of the startup services see the the mjmwired article.)

The other issue is pulseaudio. Some people have had success using these instructions. Others, like myself found the easiest solution was to leave most of the pulseaudio programs intact, but just do
yum remove alsa-plugins-pulseaudio

This thread on fedoraforums.org discusses the issue. One of the posts on the second page has a nice summary of the issues and fixes. (It's post number 60 in the thread.)

Strikeforce from the forums has put up an unofficial guide that includes a section on the recent audio troubles. Another thread on Fedora forums had someone find the following solution. He couldn't get sound working in mplayer and did the following. He changed his $HOME/.mplayer/gui.conf. It had the line
ao="pulseaudio"

He changed it to read
ao="sdl"

Which solved his issues.

I see too, that there's another bug that was closed as not a bug, which can be viewed here. As the non-bug above mentions, sometimes, the sound problems can sometimes be fixed by adding the following, all on one line, to modprobe.conf.
 install snd-intel8x0m { /sbin/modprobe snd-intel8x0; } ; /sbin/modprobe
--first-time --ignore-install snd-intel8x0m

The author of the mjmwired pages, after seeing this page, was kind enough to email me and tell me that by experimenting, he has found that on the default DVD installation, the standard PulseAudio setup may not include the config tools for running the PA-server options. Two applications, padevchooser and paprefs are necessary. They *might* get installed in a yum upgrade installation. (Neither he nor I have checked this, but he has heard from others that it might be the case.) Running those apps gives a warning about Avahi. He found padevchooser which requires zeroconf, which is another term for avahi. At this point, that's the only connection he's seen (yet) between needing avahi running for sound to work.

Christopher A. LaFond had a somewhat different fix. He had the same issue, but in his case he fixed it this way.

He modified /etc/modprobe.conf. There was a line
options snd-hda-intel index=0

He changed it to
options snd-hda-intel model=3stack

He also went into volume control settngs. Under the option on what switches to make visible, he found that if you select channel mode in the other window that's up, an options tab becomes visible. It has a dropdown menu with two choices, 2ch or 6ch. His was set on 2ch and when he switched it to 6ch his sound improved from scratchy to crystal clear. (He thinks, but isn't sure, that he rebooted after making the change.)

Leo Canale was kind enough to send an email mentioning a similar issue that he's having, with a different fix. His bug report can be found here. He called my attention to the shell script attached (in comment #30) by Hans Otten as a fix that worked for him.

Leo wrote again to say that the latest development kernel (for those running rawhide) seems to have fixed all problems for him, so hopefully, they'll get it right by Fedora 9.

Keep in mind that if sound works, then doesn't work after a reboot, it's posssible that you did an update. When you update the kernel, the new kernel won't take effect until after a reboot. Therefore, it's possible that whatever new updates were made to the kernel broke sound for you once again. the update might have also made some new changes to pulseaudio or various configuration files.

I had one additional issue with an Acer 4720z laptop. To get sound to work I created a file, /etc/modprobe.d/alsa-base. It reads
options snd-hda-intel model=acer

After that, I rebooted, ran system-config-soundcard and everything was fine.

Hopefully, this page will be of use to some people--at least it gives useful links if nothing else. We'll see what the next update does. Leo emailed me to say that the latest kernel updates (which I haven't done yet) have fixed his sound issues.

Paul W. was kind enough to send me some information about a related problem. It's worth putting here for those who google for fedora sound, especially as his issues got worse with upgrades to Fedora 8.

He has a Cx88 DVB-T card (TV tuner) with a sound capture input which was conflicting with his onboard sound card. He stumbled across this page on linuxtv.org which gave him the solution.

He updated /etc/modprobe.conf with the following
options cx88_alsa index=1
alias snd-card-1 cx88_alsa
alias sound-slot-1 cx88_alsa

This pushed his capture device to the second device index (1) which allowed his onboard card to use slot 0.

On 64 bit Fedora, I've found that sound in flash videos was only working for me if I had Gnome as my desktop. If I ran KDE or fluxbox, there would be no sound, and only an error message that no soundwrapper could be found.

Eventually, I solved this by installing alsa-oss-libs. I started by doing yum install alsa-oss. This installed the 64 bit alsa-oss rpm and pulled in the alsa-oss-libs as a dependency. The problem continued.

I then installed alsa-oss-devel.i386 and alsa-oss-libs.i386. After that, sound worked properly in flash, regardless of desktop. I don't know if Gnome configured pulseaudio and nothing else does, or if it's something else that Gnome magically does, but regardless, if you run into that problem, it seems that installing the alsa-oss 32 bit libs will fix it.