Closed Bug 1345661 Opened 7 years ago Closed 7 years ago

PulseAudio requirement breaks Firefox on ALSA-only systems

Categories

(Core :: Audio/Video: Playback, defect)

52 Branch
All
Linux
defect
Not set
major

Tracking

()

RESOLVED WONTFIX

People

(Reporter: mozilla, Unassigned)

References

Details

(Keywords: regression)

User Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0
Build ID: 20170303012224

Steps to reproduce:

I upgraded Firefox to version 52 on an ALSA-only linux system.


Actual results:

All sites that play audio are now broken.


Expected results:

Audio playback should have continued to work.

This new PulseAudio requirement renders Firefox useless to me as a general-purpose browser. PulseAudio is not viable on some systems, and due to its design, that is extremely unlikely to ever change. By making Firefox depend on it, you have just forced me to spend my time preparing a migration to another browser on the systems I maintain or support.

Please return ALSA support to the standard build so that we can once again use Firefox.
Blocks: 1247056
Severity: normal → major
Component: Untriaged → Audio/Video: cubeb
OS: Unspecified → Linux
Product: Firefox → Core
Hardware: Unspecified → All
Status: UNCONFIRMED → NEW
Has Regression Range: --- → yes
Has STR: --- → yes
Ever confirmed: true
Flags: needinfo?(gsquelart)
Keywords: regression
Component: Audio/Video: cubeb → Audio/Video: Playback
Flags: needinfo?(gsquelart) → needinfo?(ajones)
(In reply to Forest from comment #0)

> Please return ALSA support to the standard build so that we can once again
> use Firefox.

I definitely agree. I do have installed "libpulse0" but not the full pulseaudio package, which I don't need at all, and now I've lost audio at all. 

I wonder how hard could be making the linux sound system backend a user's decision (e.g., by using "about:config" settings) instead a hard-coded dependency (compile time option) that breaks html5 video/audio and thus encouraging linux users back to FlashPlayer plugin to get some kind of bypass to hear videos.
Depends on: 1345117
(In reply to Forest from comment #0)
> I upgraded Firefox to version 52 on an ALSA-only linux system.

What is preventing you from installing Pulse Audio?


(In reply to Camaleon from comment #5)
> I definitely agree. I do have installed "libpulse0" but not the full
> pulseaudio package, which I don't need at all, and now I've lost audio at
> all. 

You need to install the pulse audio sound server but it doesn't need to be on the local system because Pulse Audio supports remote audio.

> I wonder how hard could be making the linux sound system backend a user's
> decision (e.g., by using "about:config" settings) instead a hard-coded
> dependency (compile time option) that breaks html5 video/audio and thus
> encouraging linux users back to FlashPlayer plugin to get some kind of
> bypass to hear videos.

The issue is that people may forget that they're using ALSA and not know why their audio doesn't work. Also given that the ALSA backend is no longer maintained, we aren't adding content sandboxing support.


(In reply to Artem S. Tashkinov from comment #6)
> If you're affected by this bug but still want to use the latest and greatest
> version of Firefox without running PA, please run Firefox via apulse (
> https://github.com/i-rinat/apulse ) - it works beautifully.

It says "Project is in stale state since its proclamation" so your mileage may vary.

(In reply to burmartke from comment #7)
> Just got hit with this after the latest Ubuntu 16.10 update and strongly
> echo the first two commentators.

It looks like Ubuntu doesn't have libpulse0 as a dependency. Unfortunately even having this dependency doesn't guarantee the server being installed somewhere. You can fix it with:

# apt-get install libpulse0 pulseaudio


(In reply to 13ilya from comment #9)
> > exec /usr/local/bin/apulse /opt/firefox/firefox "$@"
> 
> Lorem ipsum dolor sit amet, consectetur adipiscing elit?

It seems like an odd approach given that Pulse Audio already maps Pulse Audio to ALSA.


(In reply to github from comment #10)
> This issue is fairly regressive, at least my setup with multiple external
> sound cards is broken.

If there are issues with Pulse Audio then please file them with steps to reproduce in a separate bug.
Flags: needinfo?(ajones)
(In reply to Anthony Jones (:kentuckyfriedtakahe, :k17e) from comment #11)
> (In reply to Forest from comment #0)
> > I upgraded Firefox to version 52 on an ALSA-only linux system.
> 
> What is preventing you from installing Pulse Audio?

I don't think that's the main question here because is just personal decision. Of course nothing prevents users from installing Pulse Audio (and dealing with it afterwards) in the same way nothing prevents them from installing  Chrome/Chromium/Vivaldi, etc.

> (In reply to Camaleon from comment #5)
> > I definitely agree. I do have installed "libpulse0" but not the full
> > pulseaudio package, which I don't need at all, and now I've lost audio at
> > all. 
> 
> You need to install the pulse audio sound server but it doesn't need to be
> on the local system because Pulse Audio supports remote audio.

Again, that approach (running Pulse Audio remotely) does not solve the main issue here (the need for specific sound server software in order to be able to play html5 sounds).

> > I wonder how hard could be making the linux sound system backend a user's
> > decision (e.g., by using "about:config" settings) instead a hard-coded
> > dependency (compile time option) that breaks html5 video/audio and thus
> > encouraging linux users back to FlashPlayer plugin to get some kind of
> > bypass to hear videos.
> 
> The issue is that people may forget that they're using ALSA and not know why
> their audio doesn't work. Also given that the ALSA backend is no longer
> maintained, we aren't adding content sandboxing support.

Given that ALSA code is still present in the new build (Firefox 52), I think a more suitable path would have been making the sound backend selectable by users and defaulting to Pulse Audio if desired but letting the users to change that setting on their own by just tweaking "about:config" as usual.
(In reply to Anthony Jones (:kentuckyfriedtakahe, :k17e) from comment #11)
> It says "Project is in stale state since its proclamation" so your mileage may vary.

Works for me perfectly. I don't understand why you even made this remark. It's derogatory at the very least.

> It seems like an odd approach given that Pulse Audio already maps Pulse Audio to ALSA.

Running PA server is undesirable in far too may situations. I cannot understand why you're trying to remove something that worked perfectly with something which is known to cause a lot of problems and which many people are trying to avoid like a plague.

If you so hell-bent on using PA, make the ALSA audio backend available as a config:about option. That's all we're asking. You dlopen() audio backends anyways, so it's no big deal for you.
Does ESR 52 also require PulseAudio?

Or is even the ESR version affected?

Has someone tried it with the ESR version of 52?
ESR 52 release almost completely matches the usual non ESR release, i.e. PA is enabled.

Their only difference is a file which specifies the update channel.
(In reply to Anthony Jones (:kentuckyfriedtakahe, :k17e) from comment #11)
>
> Also given that the ALSA backend is no longer maintained, we aren't adding
> content sandboxing support.
>

Is that a final decision? If so, when sandboxing (level 2 and above) is
expected to appear in Firefox stable?
(In reply to Anthony Jones (:kentuckyfriedtakahe, :k17e) from comment #11)

> You can fix it with:
> 
> # apt-get install libpulse0 pulseaudio

Can we keep this conversation civil please? "Smart" replies help no one. Apart from which, it doesn't fix it. I have it installed - I have to, I'm using Ubuntu - I just don't run it.

> The issue is that people may forget that they're using ALSA and not know why their audio doesn't work.

People who go to the trouble of disabling PulseAudio on their systems and then enabling ALSA in Firefox via some obscure option in the "about:config" are hardly likely to forget it or wonder why their audio doesn't work.

Plus "hear, hear!" to the comments by 13ilya, Artem S. Tashkinov and Camaleon.

Anyway I compiled the release with --enable-alsa and --disable-pulseaudio and it seems to be working fine. For those new to this with the same issue, you create a file called "mozconfig" in the source directory containing:

ac_add_options --enable-alsa
ac_add_options --disable-pulseaudio
(In reply to Anthony Jones (:kentuckyfriedtakahe, :k17e) from comment #11)

> What is preventing you from installing Pulse Audio?

The same thing that is preventing me from putting my hand in a fire, or wearing shoes that are half my correct size.

Anthony, you should know that your question is exactly the kind of question that trollish PulseAudio advocates ask in web forums, just before attempting to discredit anyone who criticizes their favorite sound server.  The question is irrelevant to this issue, as are the answers.  The relevant fact is that PulseAudio is not viable on some systems and workflows, for a variety of different reasons that vary among users, organizations, hardware, applications, and workflows.  Some of the people who know this first-hand have done you the favor of spending their time here, making you aware that the problem exists.  Responding by asking them to justify themselves comes off as quite arrogant and rude.  Behaving as if you are more qualified than they are to judge what works and what doesn't in their environments, when you have zero experience in their environments, is more than a little foolish and very likely to trigger frustration and anger from the people who came here to help you understand the situation.  So, rather than starting a flame war, how about we try to solve the issue?

I'll give you the benefit of the doubt, and assume for now that you are not a PulseAudio troll, and that your question comes from a genuine desire to learn about something you don't understand.  To indulge you, here are a few of the reasons why PulseAudio is not viable on various systems for which I am responsible:  (I expect other people will have different reasons, of course.)

- It introduces unacceptable latency in the audio pipeline.
- Its resampling system has undesirable side effects.
- Every time I have tried it, even in the most recent year or so, it has consistently created a higher rate of support cases among my users, which means higher support costs over time.

Meanwhile, ALSA just works.  This is a no-brainer.  Either Firefox brings back ALSA support, or Firefox gets replaced.

> The issue is that people may forget that they're using ALSA and not know why
> their audio doesn't work. 

As a justification for this system-breaking change, that claim is absurd.  If there are any actual users for whom PulseAudio works while ALSA doesn't, then the sensible way for Firefox to help would be to make PulseAudio a configurable option, and *maybe* even make it the default option for new profiles.  Breaking working systems is, to put it as kindly as I can, incredibly short-sighted.

> Also given that the ALSA backend is no longer
> maintained, we aren't adding content sandboxing support.

If you are having trouble with your ALSA back end, then you have plenty of options.  You could find yourselves a new maintainer.  You could rewrite your troublesome code.  You could use an abstraction that makes it easier; perhaps OpenAL.  You could adopt the ALSA back end from another project, such as chromium (which already does sandboxing).  Disabling support for the single most widely-used sound API that's available across all linux distributions is a rash non-solution.

> The issue is that people may forget that they're using ALSA and not know why
> their audio doesn't work. 

No.  The issue here is that Mozilla just released an update that broke people's working systems.  We know why our audio doesn't work:  It's because Firefox developers broke it.  We are now asking you to fix the damage you've caused, please.
Just found this thread when trying to figure out why Firefox was indicating I might have to install Pulse Audio on my Gentoo system. I just upgraded to 52.0.

I have over a dozen apps on my system that use the sound card. None of them require me to install Pulse Audio or any other 'sound daemon'. Why does Firefox?

I really don't want to be stuck with just Chrome based browsers, but if I can't (re)enable audio in Firefox on my system(s) without installing Pulse Audio, I'll have no choice. Or I guess I can roll back to 51.0.1 and forgo any security updates.
@bclaskey

Firefox 45 ESR will be supported for at least quite some time. Please use it instead of vulnerabilities ridden 51.0.1.

How do people use the reply button here in Bugzilla? It totally doesn't work for me in both Firefox 52 and Chrome 57.
> Anyway I compiled the release with --enable-alsa and --disable-pulseaudio and it seems to be working fine. For those new to this with the same issue, you create a file called "mozconfig" in the source directory containing:
>ac_add_options --enable-alsa
>ac_add_options --disable-pulseaudio

I'm know for it, and yet compiled myself https://build.opensuse.org/package/show/home:13ilya:GTK2/MozillaFirefox

But this options may be removed in next realise.
(In reply to Vladimir from comment #24)
> Can you say out who did this? I want to know the name of this pest who broke
> my browser.

According to https://bugzilla.mozilla.org/show_bug.cgi?id=1247056 this change has been asked by Anthony Jones (:kentuckyfriedtakahe)
I'm curious:

"Make Pulse Audio a hard dependency on Linux so that we reduce the problems and maintenance associated with maintaining multiple audio backends."

Firefox on Linux has had ALSA as the only audio backend for the past 10+ years. So what was all the fuss about?
I figure this may be helpful to some users: I'm now starting Firefox with a wrapper script which temporarily launches PulseAudio and immediately makes it unavailable, so that in effect, only Firefox gets to use it.  I used this for Skype which also dropped ALSA support, and today confirmed it also works well with Firefox now.

#!/bin/sh

umask 0
cd

# 1. Start PulseAudio in advance
mkdir .pulse 2> /dev/null
echo 'autospawn = yes' > .pulse/client.conf

# 2. Motivate PulseAudio to run by playing a sound
aplay -q -D unwantedpulse /usr/share/skype/sounds/ChatOutgoing.wav

# 3. Start Firefox, which will discover ~/.pulse/
firefox &
ffpid=$!

# 4. Remove ~/.pulse/ so no other application knows PA is running
sleep 9
rm -rf .pulse

# 5. Kill PulseAudio after Firefox exits
wait $ffpid
pactl exit
# 5.b Sometimes a second attempt is necessary
sleep 4
pactl exit
exit 0
As comments on the original bug report are restricted, I'm posting here.

What's the rationale behind this ? The original bug report mentions problems and maintenance, is there any information on those problems and extra required maintenance ?

I'm not sure the gain is worth alienating users among the core supporters of Firefox.

is there a recommended browser to switch to for those for whom Pulseaudio is not an option ? (No chromium based browsers, support for ad blocker such as ublock origin mandatory).

I maintain and provide support for a dozen or so Linux computers by myself and to limit the time consumed by support request those computers are set up in a very similar way. I understand that I have to replace Firefox before v54 is released on all those computers but I'm at loss at finding one in such a little time frame. 
Pinning Firefox to v51 is a temporary workaround for now but this is not a viable solution.

I read on lwn that mozilla measured that only 1.2% of linux users were using alsa, is it true and if so what was the method used to measure this ? As suggested in the lwn thread, this figure is probably skewed as people who do not use pulseaudio may overlap those who disable firefox's telemetry i.e. tweakers / power users.
What I absolutely don't understand is that 100% distros out there run ALSA only applications via the PulseAudio server when it's installed, because the server installs an ALSA plugin which routes all direct ALSA calls to PA.

E.g. in Fedora that is:

-rwxr-xr-x    1 root    root           6188 Mar 31  2016 /usr/lib/alsa-lib/libasound_module_conf_pulse.so
-rwxr-xr-x    1 root    root          22852 Mar 31  2016 /usr/lib/alsa-lib/libasound_module_ctl_pulse.so
-rwxr-xr-x    1 root    root          27076 Mar 31  2016 /usr/lib/alsa-lib/libasound_module_pcm_pulse.so
-rw-r--r--    1 root    root            216 Mar 31  2016 /usr/share/alsa/alsa.conf.d/50-pulseaudio.conf
-rw-r--r--    1 root    root            201 Mar 31  2016 /usr/share/alsa/alsa.conf.d/99-pulseaudio-default.conf

$ cat /usr/share/alsa/alsa.conf.d/99-pulseaudio-default.conf

# Default to PulseAudio

pcm.!default {
    type pulse
    hint {
        show on
        description "Default ALSA Output (currently PulseAudio Sound Server)"
    }
}

ctl.!default {
    type pulse
}

In short, there's no need to implement PA support/output, because on PA enabled systems, ALSA only applications work just fine without any extra options.
(In reply to Artem S. Tashkinov from comment #21)
> @bclaskey
> 
> Firefox 45 ESR will be supported for at least quite some time. Please use it
> instead of vulnerabilities ridden 51.0.1.
> 
> How do people use the reply button here in Bugzilla? It totally doesn't work
> for me in both Firefox 52 and Chrome 57.

Artem,
Thanks for the heads up! Looks like Gentoo portage (Gentoo's package manager) has both firefox-45.8.0 (build from source) and firefox-bin-45.8.0. Going to switch to that.
I tried apulse, and it didn't work. I kept getting this error:  "do_connect_pcm, snd_pcm_hw_params_set_format, Invalid argument". I assume this is a Pulseaudio feature that was not implemented in apulse, due to not being used in Skype, the target application. As apulse is not in active development, this will not be fixed.

I tried installing pulseaudio through my package manager. I just get the same error about Pulseaudio not being installed, with that button that takes me to https://support.mozilla.org/1/firefox/52.0/Linux/en-US/fix-common-audio-and-video-issues - a page which does not exist, despite this being in the works for nearly a year.

I try editing the config file for pulseaudio, pointing it to hw:0,0 and it fails to even load, despite that being my device from aplay -l. I try the script detailed above--I get nothing. 

I agree that the superior audio experience is ALSA. ALSA just works, even on Pulseaudio-based systems, due to the ALSA wrapper built in. There is no inferior audio experience using ALSA--only for PulseAudio. 

I do not understand where the developers' head space is. If you include a breaking change like this, the correct way to handle it in a Rapid Release Cycle is to hide it behind a pref, and use telemetry to find out how often people disable it, and how often people run into errors. And, if you have any long supported versions, you make the changes after that version is released. 

This is what was done with NPAPI support. But I guess that matters more because it affects Windows and Mac users, too. 

I honestly don't know what my solution is. I can't compile Firefox on this system. So I either find a Firefox 52 compiled properly with ALSA support, or I go back to Firefox 51, since I have addons that don't work on the Firefox 45 ESR.
Tahrpup 6+ ; Updated to Fx52, so far all attempts to get Pulseaudio working have failed.

With one update Firefox has become useless, nice work Mozilla.
@Terrell Kelley

apulse absolutely must work. Please create a bug report here: https://github.com/i-rinat/apulse/issues
Again make sure you're using the master release vs. anything that your distro provides: https://github.com/i-rinat/apulse/archive/master.zip
(In reply to Terrell Kelley from comment #32)
> I tried apulse, and it didn't work. I kept getting this error: 
> "do_connect_pcm, snd_pcm_hw_params_set_format, Invalid argument". I assume
> this is a Pulseaudio feature that was not implemented in apulse, due to not
> being used in Skype, the target application. As apulse is not in active
> development, this will not be fixed.

That error indicates the audio device didn't like the requested format, you will need the "plug" plugin.

Try:
	APULSE_PLAYBACK_DEVICE=plug:dmix firefox

If that works, modify your .asoundrc accordingly.
What is worst about Pulseaudio is that I notice it consumes more memory when viewing videos. And Firefox seems to stall sometimes. This didn't happen when using ALSA. It was a huge mistake to drop ALSA support, since so many people hate Pulseaudio.
(In reply to Artem S. Tashkinov from comment #16)
> ESR 52 release almost completely matches the usual non ESR release, i.e. PA
> is enabled.
> 
> Their only difference is a file which specifies the update channel.

Wrong. ESR 52 still supports NPAPI for example, whereas the standard 52 release does not: https://bugzilla.mozilla.org/show_bug.cgi?id=1269807

Hence why I asked if anyone tried if ESR 52 maybe doesn't require PulseAudio.
Aha! I got apulse working!

(In reply to Artem S. Tashkinov from comment #35)
> @Terrell Kelley
> 
> apulse absolutely must work. Please create a bug report here:
> https://github.com/i-rinat/apulse/issues

Ah. I guess the maintainer hasn't updated the front page, as it explicitly says that development is no longer active. They seem to actively be working on bugs again. 

(In reply to Artem S. Tashkinov from comment #36)
> Again make sure you're using the master release vs. anything that your
> distro provides: https://github.com/i-rinat/apulse/archive/master.zip

I had assumed that I couldn't easily do that, as my system is not set up for compiling. But, it seems, I did successfully compile it. (Literally the first thing I've ever successfully compiled on Linux!) That is, once I realized that I couldn't run make on a vfat filesystem. 

(In reply to Ismael Luceno from comment #37)
> Try:
> 	APULSE_PLAYBACK_DEVICE=plug:dmix firefox
> 
> If that works, modify your .asoundrc accordingly.

I actually didn't have to do this. It seems my .asoundrc was already set up correctly. I had apparently been trying to override it as an attempt to get apulse to work.
This CAN't be the solution: That all the people have to compile or configure something, just to get sound in famous firefox!

And like somebody wrote above: a lot of Linux-distros prefer ALSA without Pulseaudio and took Firefox as default browser - now they all have to rebuild or give a workaround because of this (bad) decision?!?

C'mon dear FF-developer: Please make it optional to choose pulse or ALSA!

It was working sooo many years good together.

Many users will switch to another browser

and/or put Firefox out of their distros ..

So WHY this new "feature" that shut off the sound in ALSA-based systems????

I hope that this BUG will solved the next days.

Personal i used Firefox all the last years as my favourite browser.

It's really the first time that i have to think about using another..

But i DONT want.
(In reply to whathemoz from comment #29)
> people who do not use pulseaudio may overlap those who disable firefox's telemetry

In support of that hypothesis, we disable telemetry on our installations.
Where are the technical facts or reasons for this ugly decicion?????

I can't understand...
PulseAudio should NEVER be a requirement, it's an optional add-on to ALSA !

Linux is perfectly capable of playing audio without PulseAudio, and so should Firefox.
Who is responsible for this ill though out debacle ?..name please.
Which Linux distros were tested with fx52 ?
This is a terrible idea. I have tried PulseAudio on numerous Linux systems over the years and have had nothing but trouble. Something is very wrong at the core of how PA schedules audio, and I've experienced everything from pops, clicks and glitches to loss of audio/video sync to complete loss of audio. To add insult to injury PA consistently uses way more CPU than should be necessary for audio playback. I really have tried to get along with it but always end up throwing it out in disgust. If Firefox can only support one audio framework please let it be ALSA, which always works, and works well. 

P.S. Not that I believe it should make any difference, but I am an enthusiastic Firefox fan and advocate, having put my money where my mouth is with repeated donations to the Mozilla Foundation. Insisting on PA would be a major turn-off for me.
Hello,

Can someone explain why Mozilla chose to implement the pulseaudio backend instead of the ALSA backend on Linux?

"Make Pulse Audio a hard dependency on Linux so that we reduce the problems and maintenance associated with maintaining multiple audio backends."

Reminder:
 - pulseaudio is available on Linux ONLY (at the cost of installing extra software)
 - ALSA is available on Linux ONLY (at no cost, it's in the Linux kernel)


In light of this, I only see it as *replacing* the audio back-end for Linux, which DOES NOT reduce the number of audio back-ends to maintain in Firefox.

Where am I wrong in this?
Thank you
Was it really so hard to predict that dropping non-pulseaudio support would turn out to be a controversial change?
I have this problem too, using puppy linux, no way to get "pulseaudio" to work because it's documentation is s**t.
Workaround: get apulse and run firefox thru it...
Yes, our little A/V-distro: http://mayastudio.tumblr.com/64bit has broken sound in FF 52 now too.

So it was a really bad decision to took FF as the default Browser in it. :(

Lubuntu-users are affected too: https://ubuntuforums.org/showthread.php?t=2355092

apulse has to be recompile and this is just for advanced users and not so good to practise for a lot of desktop-users! Also there are problems if you try to compile it with gcc 4.8 (e.g. Ubuntu 14.04/ 17.3).

I tried to recompile Firefox from sources with alsa-enabled - but i failed as an advanced user too.

This is all really **** and i am not willing to do something more keep it running than maybe just to switch to another browser (Midori, Palemoon, Chromium, Opera, Epiphany,.. could be great too and they support ALSA-Sound!!!)

No comment from Mozilla Devs to this decision just a note to do so, will not make it better.

So hey, dear Firefox: It was a really great time with you over more than 10 years and I REALY LOVED YOU!

But i think, there is no coming back for me to you - since you put away the ALSA-support.

As i choosed a pulseaudio-free system -basing on ALSA and JACK to produce music - i will NOT install this PA on my machine - just because you (or Microsofts Skype) are the only apps, that needs this.

"For serious audio work, it is better to avoid pulseaudio. 
The main raison is because pulseaudio make no gvaranty about the latency. 
The latency of pulseaudio will increase in case of xruns, and the only possibility to decrease it, 
is to stop and restart pulseaudio."

https://proaudio.tuxfamily.org/wiki/index.php?title=DAW_Digital_Audio_Workstation#PulseAudio

Maybe there are just some thousand people that use Linux without PA - but hey: these are some thousands!

The decision to break all the ALSA-based systems sound in Firefox with just an update - and ignoring the communitys feedback, while not asking them before this big step- tells more than hundred words.

I don't want imagine all the work, distributors now have to give support to their users because of this "new design"!

And please don't tell me something about "sandboxing" (Chromium does it well) and commercial DRM!

Read your own profile and think about what FREE SOFTWARE really has to be: FREE in any way - and not dictorial...

Hope you will change this BUG fast as you can...
Just for the sake of a test I've installed pulseaudio. Even after all these years of supposed development, it still stutters.
You've just made a hard dependency on a piece of bloatware that does not work properly and most likely never will.  But you've also dropped a backend that up until this moment moment was working flawlessly. Great job.
I volunteer for maintaining the ALSA back-end, as a fork if required, and can help others to get their Firefox packages building with ALSA support, just email me if you need help.
I recompiled the Debian firefox-esr package locally with --enable-alsa --disable-pulseaudio and, 5 hours and 12GB later, I have working sound again. I hope I won't have to do that again.
Oh yea @Ismael: An ALSA-based FF-fork would be great!

With PPA for all Ubuntu-versions please! ;)

@Brad: yes- i tried this last night too - but it was ending everytime in compiler-problems because my Linux Mint 17.3 64bit MATE (basing on Ubuntu 14.04) comes with gcc 4.8 - but the building of Firefox from sources needs gcc 4.9!

I was switching to gcc and g++ 4.9 with success (what is a story for its own)- but no success in building a new firefox with Alsa-enabled! 

Also it was something more than 5 hours ..so i gave up! 

And yes - you have to do this procedure EVERYTIME a new Firefox is coming out - if you want to get all security-fixes and "improvements".

Unless there is an official or unofficial PPA for an Alsa-based-FF which could helps us to be up to date!

So for my person i will give the Mozilla-dev just some days and will watch if they

a) rollback to the old and ALSA-compatible design
b) Offer an ALSA-based FF-version

For the reason they will not do this, i have found out a really clear, stable and fast "bug-fix":


PALEMOON is basing on Firefox-code and is an independent fork which works great with ALSA-based Linux!

A lot of themes, plugins, addons from FF are compatible:

https://www.palemoon.org/ 


For Ubuntu 14.04/LM 17.3 run the following:

sudo sh -c "echo 'deb http://download.opensuse.org/repositories/home:/stevenpusser/xUbuntu_14.04/ /' > /etc/apt/sources.list.d/palemoon.list"

You can add the untrusted repository key to apt:

wget -nv http://download.opensuse.org/repositories/home:stevenpusser/xUbuntu_14.04/Release.key -O Release.key
sudo apt-key add - < Release.key
sudo apt-get update

INSTALL:

sudo apt-get install palemoon


https://software.opensuse.org/download.html?project=home%3Astevenpusser&package=palemoon



VIVALDI 

(Chrome-based, Netflix compatible)

https://vivaldi.com/




MIDORI 

http://midori-browser.org/ 

Install from PPA

By adding the repository ppa:midori/ppa, you will be kept up to date with the latest and greatest versions of Midori:

sudo apt-add-repository ppa:midori/ppa && sudo apt-get update -qq && sudo apt-get install midori
(In reply to Dâniel Fraga from comment #38)
> What is worst about Pulseaudio is that I notice it consumes more memory when
> viewing videos. And Firefox seems to stall sometimes. This didn't happen
> when using ALSA. It was a huge mistake to drop ALSA support, since so many
> people hate Pulseaudio.

Do you mean that you experience video stalling in Firefox when using PulseAudio?
Flags: needinfo?(fragabr)
(In reply to 6lobe from comment #55)

> Do you mean that you experience video stalling in Firefox when using
> PulseAudio?

Hi! Thanks for the interest. Not exactly. I mean: when using Firefox with Pulseaudio, several operations take a bit more time to complete. It's as like Firefox is waiting for some Pulseaudio operation to complete before resuming. The overal experience is degraded. And no, I'm not using yet Multiprocess. 

If you want to test it, I'm using Linux with 8GB RAM and a 1TB HD. Maybe the developers have much more memory and they don't notice the issue, but if they could test with just 8GB RAM, after viewing many videos over Youtube, it's clear that Pulseaudio is consuming more memory (or maybe it's the combination of Firefox and Pulseaudio since with ALSA it doesn't happen).

Maybe someone could test 2 setups: ALSA and Pulseaudio. And leave the computer playing random videos over Youtube for several hours. You'll see the difference on memory consuption when using Pulseaudio (by the way I tried with Pulseaudio 10).

Anyway, I don't need Pulseaudio. I just tried it because I thought the ALSA support was removed completely. Thanks --enable-alsa is still there, so I could go back to a pure ALSA setup which is way smoother than Pulseaudio (in fact I'm not interested in anything Pulseaudio offers. For those using a 2.1 sound setup, ALSA is perfectly fine).

Ps: developers would avoid this bug and a save a lot of time and energy if they thought about the consequences of removing ALSA support.
Flags: needinfo?(fragabr)
And the problem with Pulseaudio doesn't end here. When someone is *forced* to use Pulseaudio because of only 1 software, the user must adapt ALSA to the new Pulseaudio configuration. For example, with ALSA I don't need a ~/.asoundrc file, but with Pulseaudio, I must install the ALSA pulseaudio plugin and adapt current ALSA applications to use Pulseaudio instead (or recompile everything to use Pulseaudio directly). It's a complete mess. I don't have words to describe how I hate Pulseaudio, just a layer above ALSA which gives me nothing but headache.
Don't forget to vote for this bug if you are affected.
Same problem with the no ALSA, already had to compile V52 with the --enable-alsa for quite a few friends who use light/De-fatted/customised Distros for their netbooks: i.e. Lubuntu, Debian+LXDE, etc, Not bothered for myself as "got a stale bit of chrome" around for youtube etc. 

PulseAudio makes most of said netbooks unusable due to high CPU usage.
Sometimes for no reason PulseAudio goes in 20% steps of CPU usage on a couple machines, lasts about three hours before the two netbooks are usable (Debian installs, removed PulseAudio after it finally gave back CPU).

PulseAudio breaks my custom-wired laptop 2.1 speaker system where I use the headphone detect pin to switch the sub on/off and the codec happily clones to both Line-out1 and Line-out2 (speaker+headphone jack respectively)

When I got PA to stop disabling Line-out2 when the headphones were removed, the latency between the speakers and the sub would make any music off-beat and out of phase with itself. Alsa causes none of these effects and thus is stable.

I call PulseAudio: FalseAudio.

Whom reports this bug/feature-cut issues there is likely another handful or so of people affected as well whom wouldn't know how or where to complain or what else to do for that matter.

For now I'm stuck to using some outdated chrome for audio based websites, most of the netbook users are happy, one off to go mountain climbing and doesn't want a massive MS-machine with them.
Apart from the hatred, which I can't help you resolve (especially since a lot of it relates to early versions of PulseAudio where there were issues in ALSA drivers etc. that needed fixing, and we haven't had major issues on modern distributions for a long time now), but ...

If any of you are facing issues with recent versions and would like to see them resolved, please file a report at http://bugs.freedesktop.org/enter_bug.cgi?product=PulseAudio and we're happy to help you.

You can also head on over to the mailing list https://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss or IRC channel (#pulseaudio @ Freenode) if you have questions.
I am just here to post a link about the rational for dropping alsa because I found lots of people questioning the decision. I am just a spectator and have no power whatsoever. Moreover, I do not care about the alsa backend. 

https://groups.google.com/forum/#!topic/mozilla.dev.platform/jRAqSTri66I
(In reply to monkeyboyted from comment #62)
> I am just here to post a link about the rational for dropping alsa because I
> found lots of people questioning the decision. I am just a spectator and
> have no power whatsoever. Moreover, I do not care about the alsa backend. 
> 
> https://groups.google.com/forum/#!topic/mozilla.dev.platform/jRAqSTri66I

Thanks! This is relevant to my question.

Taken from the above link:
>The most problematic backend across all platforms is ALSA. It is also missing full duplex support. We are intending to add multichannel (5.1) support across all platforms and the ones that don’t make the cut will be the ALSA backend and the WinMM backend used on Windows XP.


So the 2 (two) alleged reasons why pulse is preferred are:

1 - "It is missing full duplex support"

Quick googling seems to indicate the opposite, there's even a tutorial for beginners to do full duplex with ALSA:
http://www.saunalahti.fi/~s7l/blog/2005/08/21/Full%20Duplex%20ALSA

2 - It doesn't "make the cut" for 5.1

I do not understand this claim, as ALSA supports 5.1 audio perfectly well; I'm using it daily.


Does anybody have more info?
Meanwhile distros return to ALSA:

Fedora wrote a patch to make ALSA/PA an about:config option: http://pkgs.fedoraproject.org/cgit/rpms/firefox.git/commit/?id=f1fec4a731f489ae988e4dbe3e7cff04457e3f26

Arch Linux ships with ALSA: https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/firefox

Slackware http://slackware.osuosl.org/slackware64-current/ChangeLog.txt : recompiled with --enable-alsa option.  Without this, there is no fallback support for ALSA if PulseAudio is not present.

I wonder how difficult is for Firefox on Linux to detect the presence of a running PA server and use ALSA directly if it's not found? Looks like an easy fix.

if (s->state != PA_STREAM_READY)
    use_alsa();

Also I've read https://groups.google.com/forum/#!topic/mozilla.dev.platform/jRAqSTri66I

and I understand that PA works better with 5.1 systems. Great. Now how many people have such a speakers configuration? 1%? 2%? Why would you make such a drastic change in/for the ESR (!) release? Why wasn't PA support, like E10S before that, enabled as a test for a small number of Linux users to gather their response/reaction first?

It all looks like a major "f*ck you" to Linux users: "We have decided for you - now eat it or go away", e.g. use another web browser.
(In reply to Artem S. Tashkinov from comment #64)
> Meanwhile distros return to ALSA:
> 
> Fedora wrote a patch to make ALSA/PA an about:config option:
> http://pkgs.fedoraproject.org/cgit/rpms/firefox.git/commit/

Just for the record, Fedora will not be shipping with ALSA support -- https://bugzilla.redhat.com/show_bug.cgi?id=1431371
Seems this bug is a Hardware support bug with PulseAudio and/or Distro specific tweaks/configs.

In the meantime, could alsa support be cordened off in it's own library/.h/??? and be called() as a fall back until PulseAudio refines some of their performance issues? (Could be a combo of slow-FSB+Codec+something-minor problem with some: IMHO: Peasant grade system designs, especially Netbooks! needing workarounds/quirks)

Experiment results below (Non-scientific):

See my comment earlier:
Using a modern Distro (LXDE based live)

At work with my AIO core i5 2400-sandy running a clone of the live environment next to my C2D laptop running the same setup.

The i5-2400 runs pulse audio and firefox so smooth with minimal stutter (Probably a WiFi latency, but maybe PulseAudio)

The C2D laptop with GM45 chipset is sitting there with a white/light-grey window that used to be Firefox and the lxtask window says Pulseaudio is consuming 100% (But lxtask seems to have stalled also).

My laptop is plenty powerful with using PaleMoon for HTML5 Video. Moving to that for laptop/net-top use for now and will suggest so to the netbook users if they are willing.

If I really need a genuine Vanilla Firefox build for any reason when biking anywhere long distance, It looks like bringing my 600VA UPS and my i5-2400 based AIO as a super-phat tablet PC.


Hopefully what I found above helps someone whom could pass this info to the PulseAudio bug team (When others reproduce the same situations with further info) to help PulseAudio become much better on older HW (I personally like the PulseAudio in the sense as a Proof-of-concept for now and wish it'll improve in every way necessary)
I've had trouble with PA breaking games in the past...  So i don't use it, and "trying it out" is a painful and time consuming exercise.  ALSA just works, and it is still maintained.  So i see no need for PA.

So a couple questions and a comment:

1) If a party is willing to maintain the ALSA code in ff, is it on the table to remove the PA requirement?  Or is this a "we're going this direction, trust us you'll like it" type move?  See #52 above.

2) What are the specific issues with the ALSA backend that require this change?  Bug/issue links?

3) In the event that the maintainers refuse to let someone maintain ALSA support, how can i keep getting updates but have sound using ALSA, short of compiling every release?

4) The suddenness of this and the tone of some of the comments reminds me of Ubuntu's move to the weird touch interface a few years ago.  Not sure whether GNOME people were behind that or Ubuntu people.  And in roughly the time since, ubuntu has dropped from #1 to #4 on distrowatch, while mint has risen to #1.  The difference is that mint caught the people that didn't like the change but liked everything else about the distro.  Mint is based on ubuntu but lets you choose the interface.  FF devs please take that to heart.  I like everything else about ff, and i've been using it since IIRC version .4 (maybe in 2002?).  Just let me choose.  Saying "choose to do it our way, trust us it's good" does not persuade anyone.  Skype for linux required me to update to a version that required pulse audio, so i quit using skype.
1) Pulse Audio _isn't_ Linux audio support, contrary to popular delusions to the contrary.
2) Pulse Audio doesn't work as well as many would lead you to believe as indicative of the commentary in this bug.
3) ALSA support works with Pulse so long as you're doing the right things.
4) If it mattered overmuch, you could target the largest audience by using OSS support- OSS is supported under ALSA and Pulse, CORRECTLY, by the CUSE driver for compatibility.

Sorry, guys, this isn't technical excellence.  This is someone making ill-advised choices that don't mesh with the largest base of potential users (Hint: You have to support these other things I mention just to support *BSD...this was a dumb thing to do, to be blunt...)
I'm a Puppy Linux user. I run the latest Firefox from mozilla.org in order to be able to use up-to-date addons, which I install from a script every time I turn the system on.

This is awful. I'm using Puppy (been exclusively using it since like '12) for stability, lightness and to avoid killing my SSD, as it runs its temp folders from RAM. So of course Pulse is out of the question, stability/lightness-wise.

I don't know who had the brilliant idea, but I'm now checking out the Chrome and Vivaldi addon pages to see if there's alternatives to the ones I use, because you've just rendered Firefox unusable for me.
@Arun: Thanks for your offer!

On my side there is no hate - just anger! And i recognized that Pulseaudio was getting really stable and easy to use on e.g. Ubuntu, Linux Mint,..! 

And it's a really great tool - FOR NORMAL DESKTOP USERS, that maybe hear a little music and surfing, writing..!

For people who want to produce music, recording and mastering or djing is ALSA and JACk the first choice and PA would makes it more difficult, getting in some situations maybe an unstable system...

Also Pulseaudio is resampling the raw-audio-signal- and has less good sound than with ALSA and JACk alone!

Ok, everybody can use another format for output in PA - but than there is really more cpu-usage and latency!

I don't have problems to run a pure ALSA-system - and others use PA on ALSA!

This is free and everybody can decide and choose!

I love this "modular"-options and freedom in Linux.

But i don't like that Mozilla is pushing this freedom (like MICROSOFTS Skype in the past) with this new "design" - just because of 5.1-sound and full-duplex, which are all features implemented in ALSA the last years too!?

And i don't like the way some COMPANIES like Mozilla and Microsoft are compromitating the fact and STANDARD that ALSA is the Linux sounddriver and soundsystem and nothing else!

While binding the people on their products (because they like) they have much power to do this - but it's like a "backdoor" that pushing something like PA to a new Linux-standard, that is not:

PA is NOTHING without ALSA!

In one sentence: ALSA is the main sounddriver/system in EVERY Linux and every app should work with this!

BASTA!

And i don't think that 5.1 and full-duplex are the main reasons: i think it's just because of DRM, AmazonPrime, Netflix and others.

Maybe a deal with NSA too, that are really lucky if EVERY Linux-System gots PA as standard - because it's sooo easy for them to get every mic on with it!

I think ALSA and JACk was something more difficult to hijack over network!?

;-)

But these are just paranoid theories that i don 't care (for this moment!)

The fact is: SOUND IS BROKEN NOW IN ALL FF-BROWSERS ON ALSA-BASED LINUX-SYSTEMS!

What a mess,---sorry- no hate! But fact!
So hey, Mozilla devs: Yea: Make a support for 5.1 and Pulseaudio - but please give the freedom back and an option for ALL users, that hey can choose ALSA too!

I think it's NOT difficult for all of you.

Tip: And if you don't want to loose hundreds -maybe thousands- of true Linux-Firefox-fans the next days and weeks BECAUSE of FF52 and your decision - than maybe you give a big note out that everybody is getting the information!

What i just recognized (and promoting too) the last days, is a lot of people running away to an ALSA-compatible-browser!

And hey: they don't do this because they are evil or stupid:

They just do this - because you force them to do this!

So holding back the ALSA-support, please!

__________________________________________

http://mayastudio.tumblr.com/firefox52

__________________________________________
And BTW, as an Linux-experienced and advanced user: Just to making PA as a dependency for Firefox is a "project" that will give you (sometimes) a lot of work and sleepless nights too!

I can see it in my mind: If bugzilla is getting full with coming bug-reports from users that will have problems with sound in firefox! ;-) 

I think ALSA is more compatible.

But who don't want believe  - just has to learn his/her lessons...

I know, this sounds crazy...

But i have more than 10 years to do with ALSA and with PA.

And with Firefox!

Better believe me.

Sound in Linux is much complex.

Just to supporting ALSA (as the main driver!!!) could be solve this....


Wait,,,and see!

Remember (all) my words..

cheers!

And bye.

Also it was a great 10 years with FF! Thank you really much!!!
Snaut suggested to vote for this bug in https://bugzilla.mozilla.org/show_bug.cgi?id=1345661#c58 .
I just created an account to do this very thing and guess what? It seems this bug is not open for voting (according to https://bugzilla.mozilla.org/page.cgi?id=voting.html there would be a (vote) link right of the "Importance" fields).

****!

Yes, we all have very good reasons for not wanting PulseAudio on our systems!

Thanks in advance for providing a solution to us, happy ALSA users.
Sorry: the bug *is* open for voting, but one has to unroll Details to find the "Vote" button, contrary to what is said in the document I linked to.
READ: http://alsa.opensrc.org/

"1.3 What are the goals for ALSA?

ALSA has the following goals:

     -Create a fully GPL and LGPL'ed sound driver system for Linux.
     -Create a fully modularized sound driver.
     -Maintain backwards compatibility with most OSS applications. 
     -Create the ALSA Manager, an interactive configuration program for the
      driver.       
     -Create the ALSA Library (C, C++), which simplifies ALSA application
      development. 

In addition, ALSA will also feature:

     -Full Duplex playback/recording, for all hardware that supports it.
     -Hardware mixing of multiple audio streams, for hardware that supports it.
     -Professional quality MIDI sequencing subsystem.
     -Extensive mixer capabilities, to support advanced features of new 
      soundcards.
     -Patch handling system, for wavetable soundcards.
     -Able to support ISA PnP soundcards without external PnP config program.
     -Support for multiple soundcards in same system.
     -All included drivers are open source in the ALSA package, although 
      vendors may provide binary only drivers."



1.5.: Full Duplex				Working			Finished



it's from 1999: ;) http://www.alsa-project.org/~jfulmer/alsa-faq.html


A Tutorial on Using the ALSA Audio API: http://equalarea.com/paul/alsa-audio.html


5.1. with asoundrc: https://ubuntuforums.org/showthread.php?t=783222&page=2&s=e529be61a1b12d4f1f2d823b7b466a51

An introduction to linux-audio: http://www.linuxdevcenter.com/pub/a/linux/2007/08/02/an-introduction-to-linux-audio.html?page=2

"Even higher level than ALSA+JACK is the idea of using the Python bindings for Gstreamer, or the PyAudio bindings for PortAudio, a cross-platform audio library." !!!! http://www.linuxdevcenter.com/pub/a/linux/2007/08/02/an-introduction-to-linux-audio.html?page=4
In the google-group i found some facts and understand, that it's maybe more EASY just to support Pulseaudio- discontinuing supporting ALSA!

On the other way: Hey, you are the devs of one of the famoust browsers in the world!!! Where is the problem to have ressources for alsa-support!?? 

Just loosing hundreds- thousands of ALSA-system-users - to win some hundreds or thousands people who love surround-sound!??

"Just to be clear, I’m proposing we stop spending time on ALSA so we can spend that time on adding 5.1 audio support to our PulseAudio backend. " (Mozilla dev) from: https://groups.google.com/forum/#!topic/mozilla.dev.platform/jRAqSTri66I

YOU ARE A WEB BROWSER - AND NOT A VIDEO-PLAYER!

Also it's possible to have 5.1 and full duplex on ALSA too (s.a.)!


At the end i want to explain: There is no problem for me to respect your new decision - and if i don 't like, i can use another browser!

What makes me really angry is, that this change/cut was not communicated with the Linux community early!

For example (and i think everybody gots his own example for this): IF you would communicate this coming change just e.g. 6 month before- so that everybody could read it in forums and Linux-news-websites, our little project don't need to rebuild the distro again, JUST because the sound in firefox-browser is now broken for all our users.

So we had to inform our users and have to build a new release with a new (ALSA-based) browser!

If we had known this some month before, we could react much easier.

Is there a count of how many ALSA-based-distros use FF as default browser and are affected?

Doesn't matter. It is at it is.

You made your decision - and i do mine.

I think: a browser is a browser!

Not a cinema-dvd-multimedia-5.1-player...

the power of Firefox was stability, speed and minimalism with great feautures too!

Now you just have great feautures.

"Great".

(you see: the pain sits deep, but i will deal with it...;)

Good luck!
TL;DR We're trying to do what is best for Linux and Firefox, so please file bugs if you have Pulse Audio issues.

(In reply to Rinat from comment #17)
> (In reply to Anthony Jones (:kentuckyfriedtakahe, :k17e) from comment #11)
> > Also given that the ALSA backend is no longer maintained, we aren't adding
> > content sandboxing support.
> 
> Is that a final decision? If so, when sandboxing (level 2 and above) is
> expected to appear in Firefox stable?

We're working on the new Pulse Audio backend in bug 1346665. It needs to pass the audio over IPC. I don't know all the details of the sandboxing but we're aiming to have the audio backend work complete ahead of mid year. That would be 

You can still build Firefox with ALSA and we're still accepting patches. We're not adding new features to it or trying to keep it working. There were too many bugs in the ALSA backend and too few people using it. Pulse Audio does a good job of isolating us from ALSA idiosyncracies and we don't want to duplicate their ASLA debugging effort.

(In reply to burmartke from comment #18)
> > The issue is that people may forget that they're using ALSA and not know why their audio doesn't work.
> 
> People who go to the trouble of disabling PulseAudio on their systems and
> then enabling ALSA in Firefox via some obscure option in the "about:config"
> are hardly likely to forget it or wonder why their audio doesn't work.

This kind of issue happens all the time.

> Anyway I compiled the release with --enable-alsa and --disable-pulseaudio
> and it seems to be working fine. For those new to this with the same issue,
> you create a file called "mozconfig" in the source directory containing:
> 
> ac_add_options --enable-alsa
> ac_add_options --disable-pulseaudio

(In reply to Forest from comment #19)
> (In reply to Anthony Jones (:kentuckyfriedtakahe, :k17e) from comment #11)
> 
> > What is preventing you from installing Pulse Audio?
> 
> So, rather than starting a flame war, how about we try to solve the issue?

I'm trying to understand the issue so I can bring it up with the Pulse Audio developers.

> - It introduces unacceptable latency in the audio pipeline.
> - Its resampling system has undesirable side effects.
> - Every time I have tried it, even in the most recent year or so, it has
> consistently created a higher rate of support cases among my users, which
> means higher support costs over time.

We found the opposite. No bugs against Pulse Audio and many against ALSA. Do you have bug numbers?

> > The issue is that people may forget that they're using ALSA and not know why
> > their audio doesn't work. 
> 
> Breaking working systems is, to put it as kindly as I can, incredibly short-sighted.

Interesting that you describe a plan to consolidate effort short-sighted.

I care about the long term health of Linux. Having Pulse Audio work for some people and ALSA work for others is a terrible situation for both Firefox and Linux.

> Disabling support for the single most widely-used sound API that's available across all linux
> distributions is a rash non-solution.

You must be looking at different numbers to me. At the time of making the decision, only 3% of Linux users were mising Pulse Audio.

> No.  The issue here is that Mozilla just released an update that broke
> people's working systems.  We know why our audio doesn't work:  It's because
> Firefox developers broke it.  We are now asking you to fix the damage you've
> caused, please.

The same thing happened when our float support started requiring SSE2 hardware. The same for moving to GTK3 where we required people install that too.

(In reply to whathemoz from comment #29)
> I read on lwn that mozilla measured that only 1.2% of linux users were using
> alsa, is it true and if so what was the method used to measure this ?

Telemetry.

(In reply to Dâniel Fraga from comment #38)
> It was a huge mistake to drop ALSA support, since so many people hate Pulseaudio.

The decision was a logical one, not an emotional one.

(In reply to chalee from comment #43)
> Where are the technical facts or reasons for this ugly decicion?????

It was based on the large number of bugs in bugzilla and the small number of users.

(In reply to Dario Niedermann from comment #44)
> PulseAudio should NEVER be a requirement, it's an optional add-on to ALSA !

PulseAudio is only required to play audio. It is not required to run the browser.

(In reply to Bud from comment #45)
> Who is responsible for this ill though out debacle ?

Me. I have been using Linux since 1999. I am based in Auckland, New Zealand and I manage the Platform Media Playback team. I am also responsible for bringing Widevine DRM to Linux, Windows and Mac OSX in order to help free the Internet from Flash and Silverlight.

(In reply to Snaut from comment #46)
> I really have tried to get along with it but always end up throwing it out
> in disgust. If Firefox can only support one audio framework please let it
> be ALSA, which always works, and works well.

Please take a step back and think about filing bugs when you experience issues with Pulse Audio. Then we can get them fixed. Putting the claims in this thread together, there may be a number of cases where one of the two backends are broken. Having one recommended configuration and making sure it works is better for Linux.

(In reply to Brad Jorsch from comment #48)
> Was it really so hard to predict that dropping non-pulseaudio support would
> turn out to be a controversial change?

I knew it would be an unpopular decision. However I'm a big believer in focusing our efforts. Pulse Audio and ALSA are a duplication of effort because they run on the same hardware and operating system. ALSA was costly to maintain and the time we save can be better spent elsewhere. If people file bugs against Pulse Audio then we could fix them.

(In reply to vladimir-csp from comment #51)
> Just for the sake of a test I've installed pulseaudio. Even after all these
> years of supposed development, it still stutters.

Please file a bug.

(In reply to Ismael Luceno from comment #52)
> I volunteer for maintaining the ALSA back-end, as a fork if required, and
> can help others to get their Firefox packages building with ALSA support,
> just email me if you need help.

Thanks. We will continue to review and accept patches. It will help if you subscribe to the Cubeb component in bugzilla.

> (In reply to 6lobe from comment #55)
> If you want to test it, I'm using Linux with 8GB RAM and a 1TB HD. Maybe the
> developers have much more memory and they don't notice the issue, but if
> they could test with just 8GB RAM, after viewing many videos over Youtube,
> it's clear that Pulseaudio is consuming more memory (or maybe it's the
> combination of Firefox and Pulseaudio since with ALSA it doesn't happen).

I have a 5 year old Intel Atom based machine running Ubuntu that has only 2GB of RAM due to it's 32 bit architecture. I don't have any audio issues with it. I spend a lot of time watching video on low end machines without issue.

(In reply to Snaut from comment #58)
> Don't forget to vote for this bug if you are affected.

Your time would be better spent filing bugs against Pulse Audio with clear steps to reproduce.

(In reply to Arun Raghavan from comment #61)
> Apart from the hatred, which I can't help you resolve (especially since a
> lot of it relates to early versions of PulseAudio where there were issues in
> ALSA drivers etc. that needed fixing, and we haven't had major issues on
> modern distributions for a long time now), but ...

Thanks for your support. As I Linux user, I'm proud to say that Pulse Audio is the easiest to maintain backend of all the platforms.

(In reply to calimeroteknik from comment #63)
> 1 - "It is missing full duplex support"
> 2 - It doesn't "make the cut" for 5.1
> 
> Does anybody have more info?

There relate to the ALSA backend in cubeb being behind and becoming further behind in functionality.

(In reply to darin.avery from comment #67)
> 1) If a party is willing to maintain the ALSA code in ff, is it on the table
> to remove the PA requirement?  Or is this a "we're going this direction,
> trust us you'll like it" type move?

We are willing to accept patches at this point in time. If a developer or set of developers demonstrate a sustained effort of triaging and fixing bugs then we may consider re-enabling it. 

> 2) What are the specific issues with the ALSA backend that require this
> change?  Bug/issue links?

* Full duplex
* 5.1 surround sound
* Sandboxing

There are bugs filed in the cubeb component but I'm going to leave rounding those up as an exercise for the reader.
Week without sound in browser. Thank you.
(In reply to Anthony Jones (:kentuckyfriedtakahe, :k17e) from comment #83)
> (In reply to Forest from comment #19)
> > (In reply to Anthony Jones (:kentuckyfriedtakahe, :k17e) from comment #11)
> > 
> > > What is preventing you from installing Pulse Audio?
> > 
> > - It introduces unacceptable latency in the audio pipeline.
> > - Its resampling system has undesirable side effects.
> > - Every time I have tried it, even in the most recent year or so, it has
> > consistently created a higher rate of support cases among my users, which
> > means higher support costs over time.
> 
> We found the opposite. No bugs against Pulse Audio and many against ALSA. Do
> you have bug numbers?

More on this below; non-powerusers often just cope with the bugs, hoping/waiting for them to go away.
Oftentimes they switch to chromium. (remember that firefox has 14% of the browser market)
And firefox builds in distros I could try often disable telemetry, so you wouldn't know about it.

> 
> I care about the long term health of Linux. Having Pulse Audio work for some
> people and ALSA work for others is a terrible situation for both Firefox and
> Linux.
That is a totally fair concern.
Using the ALSA protocol to speak to pulse audio would solve that concern, though.

> 
> > Disabling support for the single most widely-used sound API that's available across all linux
> > distributions is a rash non-solution.
> 
> You must be looking at different numbers to me. At the time of making the
> decision, only 3% of Linux users were mising Pulse Audio.
> 
> 
> (In reply to whathemoz from comment #29)
> > I read on lwn that mozilla measured that only 1.2% of linux users were using
> > alsa, is it true and if so what was the method used to measure this ?
> 
> Telemetry.
I believe that there is an issue with this method.

My theory here is that people who use minimalistic distros, which do not ship pulseaudio by default and do not start it at boot even if you install it, also disable telemetry.

Therefore, I believe that there is strong correlation between no telemetry and using ALSA, which dwarves the ALSA user base in the telemetry results.


> > No.  The issue here is that Mozilla just released an update that broke
> > people's working systems.  We know why our audio doesn't work:  It's because
> > Firefox developers broke it.  We are now asking you to fix the damage you've
> > caused, please.
> 
> The same thing happened when our float support started requiring SSE2
> hardware. The same for moving to GTK3 where we required people install that
> too.

From a technical standpoint (not people's reactions) only GTK3 could have been technically comparable here, since firefox requires too much CPU power to even be usable on CPUs without SSE2.

However:
The switch to GTK3 was in essence bumping the major version of a dependency. (plus, GTK version 2 is EOL)
Requiring additional system daemons is adding dependencies.

> (In reply to chalee from comment #43)
> > Where are the technical facts or reasons for this ugly decicion?????
> 
> It was based on the large number of bugs in bugzilla and the small number of
> users.

Was the number of users determined through telemetry (which powerusers mostly disable)?

Powerusers are also the ones to not install pulseaudio, so they're using ALSA, therefore it's normal to get many bugs for it. (powerusers are likely to report bugs)


> (In reply to Snaut from comment #46)
> > I really have tried to get along with it but always end up throwing it out
> > in disgust. If Firefox can only support one audio framework please let it
> > be ALSA, which always works, and works well.
> 
> Please take a step back and think about filing bugs when you experience
> issues with Pulse Audio. Then we can get them fixed. Putting the claims in
> this thread together, there may be a number of cases where one of the two
> backends are broken. Having one recommended configuration and making sure it
> works is better for Linux.
Many people are thinking: why fix pulseaudio, when ALSA apparently works?
And doesn't mess with their audio, as well.

> (In reply to Brad Jorsch from comment #48)
> > Was it really so hard to predict that dropping non-pulseaudio support would
> > turn out to be a controversial change?
> 
> I knew it would be an unpopular decision. However I'm a big believer in
> focusing our efforts. Pulse Audio and ALSA are a duplication of effort
> because they run on the same hardware and operating system. ALSA was costly
> to maintain and the time we save can be better spent elsewhere. If people
> file bugs against Pulse Audio then we could fix them.
Would OSS be nicer to maintain?

We have interesting insights here on this topic:
https://bugzilla.mozilla.org/show_bug.cgi?id=503691

> 
> (In reply to vladimir-csp from comment #51)
> > Just for the sake of a test I've installed pulseaudio. Even after all these
> > years of supposed development, it still stutters.
> 
> Please file a bug.
When users decide to make the compromise of using middleware to convert pulseaudio to ALSA (with apulse, or pulseaudio itself as an unobtrusive dumb pipe to ALSA), you'll get more of these.
From the ones who haven't switched to palemoon, of course.

But as long as the ALSA backend is available, its users have no reason to even try to get pulseaudio & its firefox backend fixed, so: no bug reports there.

In my experience "lambda" users (who also often have a distro that ships pulseaudio by default) don't bug report and switch to chromium or cope with the bugs.
The overwhelming majority just cope with it if it's sound quality, latency, or random unstability.

> 
> (In reply to Arun Raghavan from comment #61)
> > Apart from the hatred, which I can't help you resolve (especially since a
> > lot of it relates to early versions of PulseAudio where there were issues in
> > ALSA drivers etc. that needed fixing, and we haven't had major issues on
> > modern distributions for a long time now), but ...
> 
> Thanks for your support. As I Linux user, I'm proud to say that Pulse Audio
> is the easiest to maintain backend of all the platforms.
Out of curiosity, with which other sound APIs are you comparing it?

Disclaimer: I have not developed with anything else than OpenAL, so I don't know how it is to work directly with ALSA/OSS/etc.

> 
> (In reply to calimeroteknik from comment #63)
> > 1 - "It is missing full duplex support"
> > 2 - It doesn't "make the cut" for 5.1
> > 
> > Does anybody have more info?
> 
> There relate to the ALSA backend in cubeb being behind and becoming further
> behind in functionality.
Oh, so it was not about ALSA itself, but about the firefox ALSA backend.
Nice! Volunteering was offered as wlel, so sure, it's not final, but deprecation is always scary…

Thinking long term, I wonder why not use the ALSA (or OSS) protocol to talk to pulseaudio?
It supports these out of the box.
And, well, more standards? https://xkcd.com/927/

I mean, an application that speaks ALSA or OSS to the system is compatible with every Linux (and BSD) system out there (whether it uses OSS4 or ALSA), without any middleware.


Eventually, it is indeed possible for people to install middleware to cope with firefox speaking only the pulseaudio protocol if that's what it comes to (thinking long term), but unless the middleware is shipped ready-to-use in firefox packages in distributions, tech-savvy users will often opt for another browser if they need sound.
(In reply to John Denker from comment #80)

> As the OP says:
> > Please return ALSA support to the standard build so that we can once again use Firefox.

More importantly, please return it to the ESR build *immediately*, out of cycle!
(In reply to Anthony Jones (:kentuckyfriedtakahe, :k17e) from comment #83)

> We're not adding new features to it or trying to keep it working. There were
> too many bugs in the ALSA backend and too few people using it. Pulse Audio

I highly doubt that, more below.

> (In reply to whathemoz from comment #29)
> > I read on lwn that mozilla measured that only 1.2% of linux users were using
> > alsa, is it true and if so what was the method used to measure this ?
> 
> Telemetry.

Which is disabled by default in *every* sensible distribution *and* by almost
all organisations, so it cannot be used for such statistics for Linux users.

Windows® users, who download directly from your site, may give you better
statistics, but not (packaged) Linux users, or enterprise site

> (In reply to chalee from comment #43)
> > Where are the technical facts or reasons for this ugly decicion?????
> 
> It was based on the large number of bugs in bugzilla and the small number of
> users.

And I question the “small number of users” *especially* in the face of the
amount of bugreports.

I’d rather say not many people used PA which is why there are few bugreports.

Furthermore, bugreports tend to come from technical people more, which matches
people who’d run without telemetry…

> (In reply to Dario Niedermann from comment #44)
> > PulseAudio should NEVER be a requirement, it's an optional add-on to ALSA !
> 
> PulseAudio is only required to play audio. It is not required to run the
> browser.

Well, in my eyes, playing audio in a browser was stupid in the first place
(as opposed to running mplayer from lynx), but people got used to it…

> (In reply to Bud from comment #45)
> > Who is responsible for this ill though out debacle ?
> 
> Me. I have been using Linux since 1999. I am based in Auckland, New Zealand
> and I manage the Platform Media Playback team. I am also responsible for
> bringing Widevine DRM to Linux, Windows and Mac OSX in order to help free
> the Internet from Flash and Silverlight.

You do know that advertising yourself with Digital Restrictions Management
may backfire spectacularily, right?

Just as throwing yourself in with Poettering’s crowd may…

> (In reply to Snaut from comment #46)
> > I really have tried to get along with it but always end up throwing it out
> > in disgust. If Firefox can only support one audio framework please let it
> > be ALSA, which always works, and works well.
> 
> Please take a step back and think about filing bugs when you experience
> issues with Pulse Audio. Then we can get them fixed. Putting the claims in

“No audio at all because I cannot install PA.”

That’s what an non-neglible amount of people will say. Reasons vary; besides
the obvious “no Poetteringware on my system”, professional musicians absolutely
cannot let it near their systems even if they didn’t have any concerns against
it otherwise, and PA is so bad that even people who DO follow hypes and Google
and stuff complain about it:

https://twitter.com/bentsukun/status/839784517833486336 followed by
https://twitter.com/bentsukun/status/839784771895062528 for example.

> this thread together, there may be a number of cases where one of the two
> backends are broken. Having one recommended configuration and making sure it
> works is better for Linux.

Yes, and since the Linux kernel ships with ALSA (and the OSS emulation, which
will also work on the BSDs for free) that’s the obvious choice.

Not something a halfwit cooked up on top of that, which is not likely to see
its second century because his software has a history of being abandoned in
favour of the new latest best thing of his eventually.

> I have a 5 year old Intel Atom based machine running Ubuntu that has only
> 2GB of RAM due to it's 32 bit architecture. I don't have any audio issues
> with it. I spend a lot of time watching video on low end machines without
> issue.

Maybe you’re an exception there…
Assumption based on telemetry almost all users would use pulseaudio, raises some interesting rhetorical questions.

How many users with telemetry off use pulse audio?

How many users would use telemetry at all if it would be opt in and not opt out?

How many users would use pulseaudio if it would not be installed by default or as dependency of software unwilling to provide or maintain alsa backend? 

How many users would use systemd... just kidding.
(In reply to Anthony Jones (:kentuckyfriedtakahe, :k17e) from comment #83)
> TL;DR We're trying to do what is best for Linux and Firefox, so please file
> bugs if you have Pulse Audio issues.

Not necessary, ALSA already works...




> (In reply to burmartke from comment #18)
> > > The issue is that people may forget that they're using ALSA and not know why their audio doesn't work.
> > 
> > People who go to the trouble of disabling PulseAudio on their systems and
> > then enabling ALSA in Firefox via some obscure option in the "about:config"
> > are hardly likely to forget it or wonder why their audio doesn't work.
> 
> This kind of issue happens all the time.


Is that a logical statement, based on some metric?  How often?


> We found the opposite. No bugs against Pulse Audio and many against ALSA.
 Do
> you have bug numbers?
^^^^^^^^^^^^^^^^^^^^^^^^


Your words!


> > > The issue is that people may forget that they're using ALSA and not know why
> > > their audio doesn't work. 
> > 
> > Breaking working systems is, to put it as kindly as I can, incredibly short-sighted.
> 
> Interesting that you describe a plan to consolidate effort short-sighted.


By adding cruft?  Look at the leading linux distros.  3 of the top 4 on distrowatch are debian or debian derivatives.  Debian as far as i can tell has been slow to adopt change.  And it has turned out to be a good thing for linux.


> (In reply to Dâniel Fraga from comment #38)
> > It was a huge mistake to drop ALSA support, since so many people hate Pulseaudio.
> 
> The decision was a logical one, not an emotional one.
> 
> (In reply to chalee from comment #43)
> > Where are the technical facts or reasons for this ugly decicion?????
> 
> It was based on the large number of bugs in bugzilla and the small number of
> users.

...


> (In reply to Dario Niedermann from comment #44)
> > PulseAudio should NEVER be a requirement, it's an optional add-on to ALSA !
> 
> PulseAudio is only required to play audio. It is not required to run the
> browser.


I believe his point is that if a user has one, he necessarily has the other.  Hence the user base for the latter is necessarily larger.



> (In reply to Bud from comment #45)
> > Who is responsible for this ill though out debacle ?
> 
> Me. I have been using Linux since 1999.
... 
> Please take a step back


I encourage you to do the same.  Which is most likely to survive the next 1, 2, 5, 10 years?  Would you make this decision if you were in the position where firefox was when it began?


> and think about filing bugs when you experience
> issues with Pulse Audio.


I have no need, because ALSA already works.  And from experience i know that performance bugs are notoriously difficult to reproduce and fix.


> I knew it would be an unpopular decision. However I'm a big believer in
> focusing our efforts. Pulse Audio and ALSA are a duplication of effort
> because they run on the same hardware and operating system. ALSA was costly
> to maintain and the time we save can be better spent elsewhere. If people
> file bugs against Pulse Audio then we could fix them.


Costly to maintain?  It already worked!  Simply leave the functionality in place = less effort than removing it!


> (In reply to Ismael Luceno from comment #52)
> > I volunteer for maintaining the ALSA back-end, as a fork if required, and
> > can help others to get their Firefox packages building with ALSA support,
> > just email me if you need help.
> 
> Thanks. We will continue to review and accept patches. It will help if you
> subscribe to the Cubeb component in bugzilla.


Ok, i know next to nothing about the FF codebase.  Does this mean that the cubeb component has the relevant code, and if we want a working browser, i fork, use everything else after 52, but maintain a separate line of cubeb?


> (In reply to Snaut from comment #58)
> > Don't forget to vote for this bug if you are affected.
> 
> Your time would be better spent filing bugs against Pulse Audio with clear
> steps to reproduce.


See above.  This is difficult.  I have a working sound system already.


> (In reply to darin.avery from comment #67)
> > 1) If a party is willing to maintain the ALSA code in ff, is it on the table
> > to remove the PA requirement?  Or is this a "we're going this direction,
> > trust us you'll like it" type move?
> 
> We are willing to accept patches at this point in time. If a developer or
> set of developers demonstrate a sustained effort of triaging and fixing bugs
> then we may consider re-enabling it. 


"may consider"...  IOW efforts are better spent forking?  Please be clear so that others can do what they think is best for linux.



> > 2) What are the specific issues with the ALSA backend that require this
> > change?  Bug/issue links?
> 
> * Full duplex
> * 5.1 surround sound
> * Sandboxing 
> There are bugs filed in the cubeb component but I'm going to leave rounding
> those up as an exercise for the reader.

I'm using the metric of counting...  bugzilla.mozilla.org, i search "cubeb ALSA" and get 7 hits, 2 unconfirmed.  I search "cubeb pulse" and get 10, only one unconfirmed, and one reopened.
> PulseAudio is only required to play audio. It is not required to run the browser.

That's a bit like saying that a monitor is not required to run the browser, only to see the webpages. I'll just say this: after reading that pearl of wisdom, I'm much less surprised by your decision.

For the record: I removed PulseAudio *and* I disabled telemetry, because I'm exactly the kind of user who won't run superfluous stuff on his system. Firefox has just joined the category.
Quote:
> I have a 5 year old Intel Atom based machine running Ubuntu that has only
> 2GB of RAM due to it's 32 bit architecture. I don't have any audio issues
> with it. I spend a lot of time watching video on low end machines without
> issue.

What is the Model+Make of the machine, be it a motherboard or whole machine/portable?
Then again someone online found Win-Vista to run smoothly on a generic 1GHz AMD Duron PCB with 512MB Ram and an AGP graphics compared to terribly on a 2.8Ghz C2D with 4GB RAM and a PCIe GPU. Sometimes that is how nature gives us the middle finger!



Also, is all this data-mining that the big-bro's of every participating country/corp/etc and all that telemetry data actually accurate or only portrays an on-line habit when said data can be collected?



Just discovered the CTRL+TAB in palemoon, also layered the layout like I could on old firefox (What Ver was it?) where the address bar can be moved next to the menus (File-Edit-View-ETC)

A temporary minimal ALSA fallback that could be forgotten about with only a function/class interface between firefox main audio rendering and the output:

//Pseudo-code:

if(__NO_PULSE__) //check if we have to fall back...
{
alsa(); //legacy fallback
}
else
{
pulse;
}


Ok, I am aware it is a tonne more complex than that but... Just split ALSA support and forget maintaining it, Like a library of re-usable ALSA support for firefox that gets called if PulseAudio fails to... Work? Connect? open? for want of better words.
(In reply to Anthony Jones (:kentuckyfriedtakahe, :k17e) from comment #83)
> TL;DR We're trying to do what is best for Linux and Firefox, so please file
> bugs if you have Pulse Audio issues.
Seriously? Can you patronize any harder?

I guess by "do what is best for Linux and Firefox" you mean "kick out any user that refuses to use the audio backend I like and have been pushing for years".

In the meantime, after reinstalling 51.0.1, I've spent a day trying to find a good replacement that offers something similar to Classic Theme Restorer, settingsanity (both of which I 've been forced to use since the last time you decided to "do what is best for Linux and Firefox"), cliget and Kitsune. Time I could have spent programming or destressing - time I'll have to keep on wasting, because I haven't found a solution other than roll back.

And let me reference my previous comment (comment #70), and a comment by someone else who uses the same distro (comment #33) as a reply to this:
(In reply to Anthony Jones (:kentuckyfriedtakahe, :k17e) from comment #11)
>What is preventing you from installing Pulse Audio?
The fact that we're using a light liveCD with no Pulse Audio support. And even if we weren't Puppy users, Pulse Audio itself is a reason not to install Pulse Audio.

And to think all of this comes from dev laziness... your original bug report (https://bugzilla.mozilla.org/show_bug.cgi?id=1247056) just screams "please make my work easier and push my agenda". It was a bug report that didn't reference any bug:
(In reply to Anthony Jones (:kentuckyfriedtakahe, :k17e))
>Make Pulse Audio a hard dependency on Linux so that we reduce the problems and maintenance associated with maintaining multiple audio backends.

I hope you're proud of yourself. Who am I kidding? Of course you are. You clearly always are.
I am just wondering if you are aware that Firefox telemetry is turned off by default in the version of Firefox supplied to Lubuntu users? Lubuntu does not provide PulseAudio by default, but relies on ALSA. Since Firefox is the default Lubuntu browser, this decision broke the default browser for all Lubuntu users, a significant number of users, globally. Since the decision to cease support for ALSA was based on very incomplete telemetry data that did not count Lubuntu users, the initial assumptions about how many people this would impact were obviously incorrect. 

From reading the community discussions about this issue, most Lubuntu users are opting to use a different browser rather than try to install PulseAudio, as it has caused stability and performance issues, which is why it is not included by default in Lubuntu in the first place.
(In reply to Anthony Jones (:kentuckyfriedtakahe, :k17e) from comment #83)
> TL;DR We're trying to do what is best for Linux and Firefox, so please file
> bugs if you have Pulse Audio issues.

I'd better say "what is best for you". Ignoring these complaints makes no favor to Mozilla nor Linux community. And no, I'm not going to install Pulse Audio unless it can fully replace ALSA. My system plays sounds with ALSA and does not need Pulse Audio at all. I don't need a sound server running on my system and no sane browser would even need a sound server to play html5 media sounds. That's simply crazy.

> (In reply to Bud from comment #45)
> > Who is responsible for this ill though out debacle ?
> 
> Me. I have been using Linux since 1999. I am based in Auckland, New Zealand
> and I manage the Platform Media Playback team. I am also responsible for
> bringing Widevine DRM to Linux, Windows and Mac OSX in order to help free
> the Internet from Flash and Silverlight.

If just "one" person can decide such things you (Mozilla) really need to read your own Manifesto:

https://www.mozilla.org/en-US/about/manifesto/#principle-08

"Transparent community-based processes promote participation, accountability and trust."

This step of removing ALSA support is neither "transparent" nor "community-based". Changes like this need to be done slowly and the best path for doing it in this stage is by allowing users to choose their desired audio backend. You can ignore/wontfix ALSA based bugs from now on (should you want to fully drop ALSA in the future) but this radical way of doing things is completely undesired.
(In reply to Camaleon from comment #94)
> (In reply to Anthony Jones (:kentuckyfriedtakahe, :k17e) from comment #83)
> "Transparent community-based processes promote participation, accountability
> and trust."

In light of this Mozilla organizational commitment to transparency, I found it particularly odd that the release notes for this release at https://www.mozilla.org/en-US/firefox/52.0/releasenotes/ made no mention of this major change.
(In reply to Anthony Jones (:kentuckyfriedtakahe, :k17e) from comment #83)
> TL;DR We're trying to do what is best for Linux and Firefox,

You failed. You appear to have based your decision on faulty data, i.e. telemetry that is disabled in packages from major distributions and seemingly inaccurate bug counts.

> We found the opposite. No bugs against Pulse Audio and many against ALSA. Do you have bug numbers?

A search of this bug tracker for "alsa"[1] currently shows 10 bugs while "pulse audio"[2] currently shows 23.

[1]: https://bugzilla.mozilla.org/buglist.cgi?quicksearch=alsa&list_id=13490051
[2]: https://bugzilla.mozilla.org/buglist.cgi?quicksearch=pulse%20audio&list_id=13490055

> (In reply to Brad Jorsch from comment #48)
> > Was it really so hard to predict that dropping non-pulseaudio support would
> > turn out to be a controversial change?
> 
> I knew it would be an unpopular decision.

Ah, so you just care more about what you want to do than about supporting how your users use your software. That's very disappointing, but sadly common (I too often find myself arguing against that viewpoint at work too).
(In reply to Adam Hunt from comment #93)
> I am just wondering if you are aware that Firefox telemetry is turned off by
> default in the version of Firefox supplied to Lubuntu users? Lubuntu does
> not provide PulseAudio by default, but relies on ALSA. Since Firefox is the
> default Lubuntu browser, this decision broke the default browser for all
> Lubuntu users, 

I think you're describing a basic problem with the Lubuntu QA process, which should probably be reported to Lubuntu. They can probably "fix" it by changing their compile flags, but obviously maintaining ALSA support would mean that someone actually has to fix any bugs with ALSA that pop up and contribute patches.

Maybe Lubuntu's problem is the same as ours (as you see in this bug), i.e. very few people test beta/alpha versions and then there's no prior warning before release that something broke.

>Since the decision to cease support for ALSA was based on very incomplete telemetry data

If your distro changes the default settings in order to make it harder for us to properly support it and detect problems its users are having, don't be surprised if....it's not properly supported and you have problems. Note that the decision to deprecate ALSA was made 11 months ago and the code that dropped support landed 6 months ago.

>1 - "It is missing full duplex support"

This refers to the ALSA backend in Firefox itself. Someone has to write an additional full duplex backend for ALSA, next to one for PulseAudio (full duplex is wanted inside Firefox to reduce audio latency).
Hi, everyone - Mike Hoye here, Mozilla's engineering community manager.

This is a reminder that Bugzilla is our professional working environment, not a place to vent your displeasure. Mozilla's engineers have a great deal of discretion about how and where to best spend their time, and long, vitriolic comment threads will not get bugs fixed faster, or at all.

If you have a contribution to make that can move this conversation forward - reliable metrics, patches or helpfully-framed alternatives, for example - please feel free to do so. Otherwise, I encourage you not to; if this escalates my next step will be locking this bug to privileged contributors only.

Feel free to email me directly if you'd like to discuss this directly.

Thank you.
(In reply to Anthony Jones (:kentuckyfriedtakahe, :k17e) from comment #83)

Thank you for taking time to answer all these in a cordial manner.

> TL;DR We're trying to do what is best for Linux and Firefox, so please file
> bugs if you have Pulse Audio issues.

In an ideal world this may happen, in the real world people just notice sound that used to work is not working anymore and either downgrade or switch to another browser. Of which it seems all but firefox support alsa.

> (In reply to whathemoz from comment #29)
> > I read on lwn that mozilla measured that only 1.2% of linux users were using
> > alsa, is it true and if so what was the method used to measure this ?
> 
> Telemetry.

I'd like to chime in on that. I'm sysadmin for about a dozen linux computers for other people who lack computer literacy but care about their privacy. Telemetry being surveillance and fingerprinting, it is among the first things to be disabled after installation (they don't appear in analytics because ublock origin and noscript, they don't appear as using firefox due to user agent spoofing, and so on). Out of this dozen of computers only one has pulseaudio, which gives 8% using pulseaudio and 92% pure alsa. So it could very well be that the users uninstalling pulseaudio overlap those who disable telemetry, skewing the numbers.

I do understand that privacy concerned users are a minority anyway, but I think we can agree that answering the customer phone line 1% of the time by saying "go <expletive> yourself you piece of <slur>" and hanging up is not a sound business practice with a focus on the long term health of the company. 

Those users are usually advocating linux and firefox around them, now you risk alienating them and once the trust bond has been broken they are never coming back (happened already with ubuntu, then gnome) and may become vocal in advocating against firefox.

 
> (In reply to Dâniel Fraga from comment #38)
> > It was a huge mistake to drop ALSA support, since so many people hate Pulseaudio.
> 
> The decision was a logical one, not an emotional one.

It is not about logical vs emotional based decision. It is a matter of not alienating users away and turn loyal supporters into fervent opponents (see above). Humans are both emotional and logical, and emotional usually speaks louder than logical, this should be carefully weighed in before making a polarizing decision. 

> I knew it would be an unpopular decision. However I'm a big believer in
> focusing our efforts. Pulse Audio and ALSA are a duplication of effort
> because they run on the same hardware and operating system. ALSA was costly
> to maintain and the time we save can be better spent elsewhere. If people
> file bugs against Pulse Audio then we could fix them.

People don't want to be filling bugs, they want things to just work. As in uninstalling pulseaudio and now audio works again or as switching from firefox to another browser and now they have sound on youtube.

Those who report bugs are a little tiny subset of knowledgeable users who know that such a thing exists, have free time to invest and care enough to go through the hoops and hassle of crafting a bug report. Then your bug report is ignored for a while, sometimes years and nothing changes and you don't report bugs ever again because it seems pointless. 
Factor in the emotional part against pulseaudio making knowledgeable people unwilling to contribute something they are strongly opinionated against, top that with the easier path of least resistance of switching to a working alternative instead and that's how pulseaudio bugs are not reported.

I have encountered my fair share of pulseaudio bugs over the years, never reported a single one for a variety of reasons mostly because getting rid of pulseaudio has been enough to instantly fix the issue.

I'd like to give some advice on how this could be handled differently without alienating people: 
1. Expose the situation clearly with source on claims
for example:"we are considering dropping ALSA support because the technical debt is too high and lack of people willing to maintain it, refer to sourceA sourceB for details"
2. Run a public bounty on the feature
You want support for alsa to stay, we need such and such resources (dev time, money, whatever).

Then if the requirements are not met, you would have a better way than telemetry to tell that people do not care about this issue, and when complaints starts to emerge you can direct them to the bounty for both a constructive way of dealing with it and a strong argument that mozilla devs are not "making far-reaching and very short-sighted decisions in a vacuum."[1]
[1]: http://forums-test.mozillazine.org/viewtopic.php?p=14736466&sid=6bb4472f503b4ba09e4e1352ae99632a#p14736466

> I have a 5 year old Intel Atom based machine running Ubuntu that has only
> 2GB of RAM due to it's 32 bit architecture. I don't have any audio issues
> with it. I spend a lot of time watching video on low end machines without
> issue.

Isn't that a typical case of "works on my machine" ?
https://blog.codinghorror.com/the-works-on-my-machine-certification-program/
(In reply to Mike Hoye [:mhoye] from comment #98)
> If you have a contribution to make that can move this conversation forward -
> reliable metrics, patches or helpfully-framed alternatives, for example -
> please feel free to do so.
We're obviously requesting a very simple thing: release a 52.0.1 build with ALSA support restored, and never again take it away. Please.

When Australis happened, Classic Theme Restorer was the solution. When you removed the javascript annoyance options from about:preferences, we could still fix that in about:config; and when you removed them from about:config, settingsanity restored them.

This, however, has no fix other than compiling. This is like when you removed speed throttling over a decade ago - sure, there's cliget to redirect to wget in most cases, but when you did that, you made Firefox less functional. And while I guess one can always download html5 videos and play them elsewhere, that still doesn't support skipping video/audio, so the only solution is migration or rolling back.

And while bugzilla might be your professional working environment, when we (long-time) Firefox users face a bug willingly injected by the developers, it becomes a place to vent our displeasure with said bug and developers. Because bugzilla is a bug reporting tool that covers Firefox.
(In reply to whathemoz from comment #99)


> 
> People don't want to be filling bugs, they want things to just work. As in
> uninstalling pulseaudio and now audio works again or as switching from
> firefox to another browser and now they have sound on youtube.
> 
> Those who report bugs are a little tiny subset of knowledgeable users who
> know that such a thing exists, have free time to invest and care enough to
> go through the hoops and hassle of crafting a bug report. Then your bug
> report is ignored for a while, sometimes years and nothing changes and you
> don't report bugs ever again because it seems pointless. 
> Factor in the emotional part against pulseaudio making knowledgeable people
> unwilling to contribute something they are strongly opinionated against, top
> that with the easier path of least resistance of switching to a working
> alternative instead and that's how pulseaudio bugs are not reported.
> 
> I have encountered my fair share of pulseaudio bugs over the years, never
> reported a single one for a variety of reasons mostly because getting rid of
> pulseaudio has been enough to instantly fix the issue.

Can you elaborate on Pulseaudio issues? I kinda want to know because I use
pulseaudio and I might hit that issue in the future. As a pulseaudio user, 
I only know of two common issues with Pulseaudio which are fixable.

Popping issues - Glitch-free audio breaks many sound cards because those alsa drivers are just
broken as described in this link. I know many 
creative cards have this issue.

https://www.freedesktop.org/wiki/Software/PulseAudio/Backends/ALSA/BrokenDrivers/

High cpu usage - On default, pulseaudio uses a pretty expensive resampling
algorithm speex-float-1. I heard the comparable alsa software dmix algorithm
is src-sinc-fastest. I can't verify whatever alsa is using because documentation
stinks. Like Hannu, creator of OSS, said, "Luke use the source."

https://wiki.gentoo.org/wiki/PulseAudio#Re-sampling_using_up_a_lot_of_CPU_time

https://web.archive.org/web/20110707064309/http://4front-tech.com/hannublog/?p=5


> 
> Isn't that a typical case of "works on my machine" ?
> https://blog.codinghorror.com/the-works-on-my-machine-certification-program/

I am wondering if there is a similar badge for "terrible on my machine"

I keep reading about pulseaudio issues from alsa users but I rarely find any 
information about said issues.
(In reply to Mike Hoye [:mhoye] from comment #98)
> Hi, everyone - Mike Hoye here, Mozilla's engineering community manager.
> 
> This is a reminder that Bugzilla is our professional working environment,
> not a place to vent your displeasure. 

> long, vitriolic comment threads will not get bugs fixed faster, or at all.

As a displeased user who opposes many of Mozilla's technical choices, I want to second this.

I want this bug fixed, everybody wants ALSA support back.
Please respond with ways to fix the issue only and keep the discussion TECHNICAL.


Mike Hoye forgot to say something important as well:
Mozilla is not entitled to make Firefox work for you. They can do whatever they want.
The only thing that's guaranteed is that anybody can modify firefox freely, it's free software.

You need to be nice if you want to get what you want from Mozilla.
Again, they're free to publish whatever software they want and have the right to alienate all of their users.
They won't get any more money, though.

But, people who have posted before with an acid tone, do you donate to Mozilla?



Back on track, I would be very pleased to have an answer on my proposal:
How about firefox drops pulseaudio support, and uses pulseaudio through the ALSA library?

It would work for everybody.
Forgot to add: alternatively, since I read complaints about ALSA documentation, how about the OSS4 library?

ALSA was made because OSS was not free software anymore at some point, but that's solved now, and ALSA remains.
With OSS compatibility.
(In reply to Miguel Hernandez from comment #100)
> We're obviously requesting a very simple thing: release a 52.0.1 build with
> ALSA support restored, and never again take it away. Please.

The "never take it away" part needs an ongoing committal to maintain ALSA, e.g. this is going to need a fix for Bug 1221579, (eventually) an ALSA version of Bug 1346665 (ALSA right now pokes a massive hole in the sandbox to work at all), see comment 83, and fixes for any potential breakage that has crept in for the 6 months that ALSA has been disabled. That's the ones I'm aware of, I don't work on the audio stack so there's probably more :-/

This bug isn't going to go anywhere unless someone actually does that work. The core engineers who do most of the work on audio already gave their opinion on the way forward. If you don't like it that's fine, but someone still has to do the work.

(The above also applies to any PulseAudio replacement, like ALSA-to-PA, OSS, or Jack support. Someone needs to write the code, or nothing will happen.)
Using that "apulse" tool seems to work for now, but I really hope we can revert this madness and just have some configuration option instead.

Like many others have voiced I really do not want to use pulseaudio. alsa has worked just fine for over a decade. Whatever the audio-devs decided on does not actually fix any bugs, but it does create a huge nuisance for many users.
Who exactly is the 5.1 audio support for?  Don't get me wrong, I have surround and I do want it, but to date as far as I know, all of the well known HTML5 streaming services that have DRM (such as Netflix, Amazon) only present users with stereo sound through the browser interface (and not even in HD, at that).  

I'd like to put my dollar or possibly time toward an effort to make ALSA backend support 5.1 channels and full duplex.  I don't use PulseAudio and don't plan to for the foreseeable future.
(In reply to Gian-Carlo Pascutto [:gcp] from comment #104)
> (In reply to Miguel Hernandez from comment #100)
> > We're obviously requesting a very simple thing: release a 52.0.1 build with
> > ALSA support restored, and never again take it away. Please.
> 
> The "never take it away" part needs an ongoing committal to maintain ALSA,
> e.g. this is going to need a fix for Bug 1221579, (eventually) an ALSA
> version of Bug 1346665 (ALSA right now pokes a massive hole in the sandbox
> to work at all), see comment 83, and fixes for any potential breakage that
> has crept in for the 6 months that ALSA has been disabled. That's the ones
> I'm aware of, I don't work on the audio stack so there's probably more :-/
> 
> This bug isn't going to go anywhere unless someone actually does that work.
> The core engineers who do most of the work on audio already gave their
> opinion on the way forward. If you don't like it that's fine, but someone
> still has to do the work.
> 
> (The above also applies to any PulseAudio replacement, like ALSA-to-PA, OSS,
> or Jack support. Someone needs to write the code, or nothing will happen.)

At least one option for that has been suggested here:

(In reply to whathemoz from comment #99)
> I'd like to give some advice on how this could be handled differently
> without alienating people: 
> 1. Expose the situation clearly with source on claims
> for example:"we are considering dropping ALSA support because the technical
> debt is too high and lack of people willing to maintain it, refer to sourceA
> sourceB for details"
> 2. Run a public bounty on the feature
> You want support for alsa to stay, we need such and such resources (dev
> time, money, whatever).

Just dropping ALSA support out of the blue doesn't fix anything, Gian-Carlo, and it can be added back for now with absolutely no overhead. Sure, explain that there's ALSA bugs that need to be worked on and nobody wants to do the job. Try and find audio devs who use FF with ALSA and are willing to maintain ALSA support. Threaten to take it away eventually (by which I mean at least over a year down the line) if you don't find anyone to support ALSA. But please don't just willingly break it for users who can't (like those who use the same distro I'm using) or don't want to use Pulse for their own reasons.
(In reply to Miguel Hernandez from comment #108)

> Just dropping ALSA support out of the blue doesn't fix anything, Gian-Carlo,
> and it can be added back for now with absolutely no overhead. Sure, explain
> that there's ALSA bugs that need to be worked on and nobody wants to do the
> job. Try and find audio devs who use FF with ALSA and are willing to
> maintain ALSA support. Threaten to take it away eventually (by which I mean
> at least over a year down the line) if you don't find anyone to support
> ALSA. But please don't just willingly break it for users who can't (like
> those who use the same distro I'm using) or don't want to use Pulse for
> their own reasons.

Indeed.  The problem I have is that the "technical debt" argument is bogus out of box.  Someone had to roll a Pulse interface.  An interface that the framework has to be tuned by the user per instance.  Worse, for some audio uses (Professional Musicians, etc.) Pulse is a NO-GO.  It can't be on their machine.  They're going to tell me that now they HAVE to use another browser or use another machine with Pulse on it?  Seriously?

If you rolled a new interface there, it's a simple thing (hint...if you're rolling a Pulse interface, you can very definitely make an ALSA and/or OSS one.  They're not hard to drive.) to fix it or re-work it so that you remove the debts.  Don't have time and "need" to support 5.1 Audio?  Okay...deal with the iasues in that case because it's a small subset, to be sure, but don't tell me it's technical debt and can't add 5.1 audio- which is supported properly on the API and has been for a long while.  If Pulse already does it, so can the ALSA support, which is **NATIVE** for the OS in question

This is rubbish.  It's lame.  It's being intellectually and otherwise DISHONEST about the whole here.
(In reply to Miguel Hernandez from comment #108)
> <...> Try and find audio devs who use FF with ALSA and are willing to
> maintain ALSA support. Threaten to take it away eventually (by which I mean
> at least over a year down the line) if you don't find anyone to support
> ALSA. <...>

But they did exactly the same! It was announced and discussed almost a year
ago! Nobody cared then. The only way to make people notice is to actually
make the changes.

(In reply to calimeroteknik from comment #102)
> Back on track, I would be very pleased to have an answer on my proposal:
> How about firefox drops pulseaudio support, and uses pulseaudio through the
> ALSA library?
> 
> It would work for everybody.

Nope.

When I was developing an app which besides other things played audio, only
ALSA was supported initially. My thought was the same: "I can get PulseAudio
and JACK support for free by relying on converter plugins". It turned out,
those don't always work. And one can't do anything about it. Even if I invest
my time to fix issues of converter plugins, there are still previous versions
in various distros in the wild.

They only way to make audio work for ALSA, PulseAudio, and JACK is to
implement dedicated ALSA, PulseAudio, and JACK backends. I did those three,
and must admit that PulseAudio was easiest to implement. Its code size
is also the smallest amongst those three. So I understand why such decision
in Firefox was made.
(In reply to Rinat from comment #111)
 
> When I was developing an app which besides other things played audio, only
> ALSA was supported initially. My thought was the same: "I can get PulseAudio
> and JACK support for free by relying on converter plugins". It turned out,
> those don't always work. And one can't do anything about it. Even if I invest
> my time to fix issues of converter plugins, there are still previous versions
> in various distros in the wild.
> 
> They only way to make audio work for ALSA, PulseAudio, and JACK is to
> implement dedicated ALSA, PulseAudio, and JACK backends. I did those three,
> and must admit that PulseAudio was easiest to implement. Its code size
> is also the smallest amongst those three. So I understand why such decision
> in Firefox was made.

As an observation, you *DO* know that Pulse and Jack both lay on top of ALSA, right?

As such, unless you get it right out of box (Jack appears to, Pulse, however...) you're injecting latencies and other potential problems by using IT instead of the Native OS setup.  If the Pulse adapter doesn't work, that's the PULSE Project's problem, not the users, OR the Mozilla's or YOUR project.

Many of my game sound problems (as an aside, I've professionally ported several games to Linux) went AWAY when I was using the ALSA layer and killed off Pulse, or used OSS compatibility through the CUSE driver.  The other stuff?  Even Jack?  Heh...

It's not the right answer, to be brutally blunt here.  It's being dishonest about it.  So what if it's "easy" to use, it doesn't work right at least a third of the time for people out of box.  There's a reason this became an issue- people RIP the program OUT of their distribution or the distro dev doesn't use Pulse out of box.
From a user's perspective, its disconcerting that none of this is noted in the Release Notes. Dropping an audio backend from the production/release binaries seems like something that should have been noted as an upcoming change. At a minimum, it should have been detailed in the v52 release notes. I dont remember reading about it and try as I might, I couldnt find any mention of it :

https://www.google.com/search?q=site%3Ahttps%3A%2F%2Fwww.mozilla.org%2Fen-US%2Ffirefox%2F+alsa&ie=utf-8&oe=utf-8

Regrettably, I have almost a dozen machines all with ALSA-only audio backends and all of them with Telemetry turned off. I have no plans to ever add Pulse Audio either.

Is Bug 1221579 the only thing that is holding ALSA back from being included in the near term (ignoring 1346665 for the moment) ?
(In reply to Rinat from comment #111)
> (In reply to Miguel Hernandez from comment #108)
> > <...> Try and find audio devs who use FF with ALSA and are willing to
> > maintain ALSA support. Threaten to take it away eventually (by which I mean
> > at least over a year down the line) if you don't find anyone to support
> > ALSA. <...>
> 
> But they did exactly the same! It was announced and discussed almost a year
> ago! Nobody cared then. The only way to make people notice is to actually
> make the changes.
It might surprise you to know not every Linux+ALSA Firefox user is subscribed to bugzilla and follows closely bugs with 0 votes like Bug 1247056.

If instead of getting no audio and a message saying
>To play audio, you may need to install the required PulseAudio software.
yesterday we had gotten something along the lines of
>It appears you're using ALSA as audio backend. Support for ALSA on Linux will be dropped and replaced with PulseAudio in March 2017 unless we can find a dedicated ALSA developer. Apply [here].
or so a year ago, and continued to get it 'til someone took over or March 2017 came, we wouldn't be here.
(In reply to Frank Earl from comment #112)
> As an observation, you *DO* know that Pulse and Jack both lay on top of
> ALSA, right?

Yep.

> As such, unless you get it right out of box (Jack appears to, Pulse,
> however...) you're injecting latencies and other potential problems by using
> IT instead of the Native OS setup.  If the Pulse adapter doesn't work,
> that's the PULSE Project's problem, not the users, OR the Mozilla's or YOUR
> project.

Eh... This is what I was talking about, replying to comment #102. Using only
ALSA won't work (sometimes, and that's the worst part: you can't debug it
since you can't reproduce it). And users will blame Firefox for being unable
to play audio, while it's not their fault, and they can't fix it.

> Many of my game sound problems (as an aside, I've professionally ported
> several games to Linux) went AWAY when I was using the ALSA layer and killed
> off Pulse, or used OSS compatibility through the CUSE driver.  The other
> stuff?  Even Jack?  Heh...

So, you are doing the same — forcing users to use a specific sound system.
Say, some user decided to use PulseAudio on their machine. If your application
supports only ALSA, you are doing:
  
  App -> ALSA:default -> ALSA-to-PA-adapter -> PA client -> PA daemon -> ALSA:hw

instead of:

  App -> PA client -> PA daemon -> ALSA:hw
(In reply to swifty from comment #113)
> From a user's perspective, its disconcerting that none of this is noted in
> the Release Notes. Dropping an audio backend from the production/release
> binaries seems like something that should have been noted as an upcoming
> change. At a minimum, it should have been detailed in the v52 release notes.
> I dont remember reading about it and try as I might, I couldnt find any
> mention of it :
> 
> https://www.google.com/search?q=site%3Ahttps%3A%2F%2Fwww.mozilla.org%2Fen-
> US%2Ffirefox%2F+alsa&ie=utf-8&oe=utf-8

This is a really good point.  We should have added it to the Firefox 52 release notes:

https://www.mozilla.org/en-US/firefox/52.0/releasenotes/

> Is Bug 1221579 the only thing that is holding ALSA back from being included
> in the near term (ignoring 1346665 for the moment) ?

gcp said there are probably other things: ALSA causes issues for sandboxing, for instance.  (gcp said bug 1346665 was for sandboxing, but I think he got the wrong bug number).  Anthony might be able to provide a fuller list, albeit out of date, since six months of disuse tends to breed bugs.

Discussions about which audio backend you have found easy-to-use in your personal or professional projects are not appropriate for this bug.
(In reply to Miguel Hernandez from comment #114)
> If instead of getting no audio and a message saying
> >To play audio, you may need to install the required PulseAudio software.
> yesterday we had gotten something along the lines of
> >It appears you're using ALSA as audio backend. Support for ALSA on Linux will be dropped and replaced with PulseAudio in March 2017 unless we can find a dedicated ALSA developer. Apply [here].
> or so a year ago, and continued to get it 'til someone took over or March
> 2017 came, we wouldn't be here.

Such message would be more informative, indeed. But it's a questionable
decision, as it would annoy users who usually don't care.

And I think it wouldn't change anything. People would ignore it till
the point where they have no audio, as it's today. I expect that after
a year from today everything will be the same, with ALSA backend
abandoned and unmaintained. Prove me wrong, invest time and effort
into it making it as capable, as other backends.
It seems that one option has not been considered when it comes to backends.

SDL_mixer[1] supports ALSA, OSS and pulseaudio and abstracts them with a friendly API.
Other cross-platform audio libraries exist such as OpenAL[2], with many backends in one go as well.

Doesn't that sound like a plan?
It was mentioned in comment #19.

[1] https://wiki.libsdl.org/FAQUsingSDL#Linux-1
[2] https://openal.org/platforms/
(In reply to Rinat from comment #117)
> Such message would be more informative, indeed. But it's a questionable
> decision, as it would annoy users who usually don't care.
Better than breaking it for everyone who'd have received such a message for a year.

And there's always "Don't show again". Yeah, maybe 1 year down the line every single person who received it pressed "Don't show again" and ignored it, but then we would've been warned, and you could say "every Linux+ALSA Firefox user knew this would happen for a year", and be sure we did, telemetry or not (protip: if you refuse to use Pulse, you most likely also turn telemetry off. PRISM is a thing). And there's always the chance someone versed in audio programming with ALSA, maybe even a number, would've taken on the challenge.
> Discussions about which audio backend you have found easy-to-use in your
> personal or professional projects are not appropriate for this bug.

Can you suggest where a public discussion of the topic can be held that would involve or reach the relevant Mozilla team members?

The bug is no sound on alsa only system.  The solution is install pulseaudio.  Where else can I express that installing a sound server on top of my perfectly functioning audio to use a web browser is unacceptable to me?

Regarding telemetry, I'm among those who have it disabled and have never made use of pulseaudio (non-Lubuntu).  I think there are more people in that situation than are currently being accounted for.  But I guess we'll only find out if you see a spike in PA-related bug reports.
Again, if you have a contribution to make that can move this conversation forward - reliable metrics, patches or helpfully-framed alternatives, for example - please feel free to suggest it to me, and I will be happy to add it to this bug.

For the time being, however, I've elected to restricted comments on this bug to Bugzilla users with "editbugs" access.
Restrict Comments: true
(In reply to calimeroteknik from comment #85)
> > Telemetry.
> I believe that there is an issue with this method.
> 
> My theory here is that people who use minimalistic distros, which do not
> ship pulseaudio by default and do not start it at boot even if you install
> it, also disable telemetry.

Telemetry is a low barrier to entry way to provide feedback. Nobody in my team has telepathy.

> From a technical standpoint (not people's reactions) only GTK3 could have
> been technically comparable here, since firefox requires too much CPU power
> to even be usable on CPUs without SSE2.

There are a small number of Athlon CPUs which are still usable but according to telemetry the number is very, very small.

> Out of curiosity, with which other sound APIs are you comparing it?

You can look in here https://dxr.mozilla.org/mozilla-central/source/media/libcubeb

> Thinking long term, I wonder why not use the ALSA (or OSS) protocol to talk
> to pulseaudio?

Pulse Audio is one of the most reliable and well maintained libraries we use.

> Eventually, it is indeed possible for people to install middleware to cope
> with firefox speaking only the pulseaudio protocol if that's what it comes
> to (thinking long term), but unless the middleware is shipped ready-to-use
> in firefox packages in distributions, tech-savvy users will often opt for
> another browser if they need sound.

We show a message that tells people to install Pulse Audio for this reason.

(In reply to Thorsten Glaser from comment #87)
> Which is disabled by default in *every* sensible distribution *and* by almost
> all organisations, so it cannot be used for such statistics for Linux users.

Those distributions all ship Pulse Audio by deafult too. However I don't recommend disabling telemetry, see above.

> I’d rather say not many people used PA which is why there are few bugreports.

Citation needed.

> You do know that advertising yourself with Digital Restrictions Management
> may backfire spectacularily, right?

I personally find DRM objectionable but professionally I need to be pragmatic about it. This is yet another unpopular but necessary decision.

(In reply to Mostly Harmless from comment #88)
> Assumption based on telemetry almost all users would use pulseaudio, raises
> some interesting rhetorical questions.

Telmetry tells one story. The actions of major distros tells the same story.

(In reply to darin.avery from comment #89)
> Costly to maintain?  It already worked!  Simply leave the functionality in
> place = less effort than removing it!

It worked, except when it didn't. Unless your architecture is dead, all software needs ongoing maintenance. We're rearchitecting the audio backend.

> "may consider"...  IOW efforts are better spent forking?  Please be clear so
> that others can do what they think is best for linux.

My preference would be for people to use Pulse Audio. If people want to maintain ALSA then they can. We will make judgement calls as necessary in the future.

> I'm using the metric of counting...  bugzilla.mozilla.org, i search "cubeb
> ALSA" and get 7 hits, 2 unconfirmed.  I search "cubeb pulse" and get 10,
> only one unconfirmed, and one reopened.

I forgot that we separated out cubeb as a subcomponent relatively recently. The issues are most likely lost in "Media Playback".

(In reply to Adam Hunt from comment #93)
> I am just wondering if you are aware that Firefox telemetry is turned off by
> default in the version of Firefox supplied to Lubuntu users?

I was not aware of that. They will need to add a dependency on Pulse Audio.

(In reply to Camaleon from comment #94)
> I'd better say "what is best for you". Ignoring these complaints makes no
> favor to Mozilla nor Linux community. And no, I'm not going to install Pulse
> Audio unless it can fully replace ALSA. My system plays sounds with ALSA and
> does not need Pulse Audio at all. I don't need a sound server running on my
> system and no sane browser would even need a sound server to play html5
> media sounds. That's simply crazy.

Ignoring, no. I'm answering questions and looking for issues with Pulse Audio that can be fixed. Obviously "don't use Pulse Audio" doesn't help with the vision of having a unified Linux audio backend.
 
> "Transparent community-based processes promote participation, accountability
> and trust."

The discussion happened on the public forum here https://groups.google.com/forum/#!topic/mozilla.dev.platform/jRAqSTri66I

(In reply to Brad Jorsch from comment #96)
> Ah, so you just care more about what you want to do than about supporting
> how your users use your software. That's very disappointing, but sadly
> common (I too often find myself arguing against that viewpoint at work too).

Making trade offs is a necessary part of making a good product. Apple had the same issue with they removed the headphone jack from the iPhone.

(In reply to whathemoz from comment #99)
> I have encountered my fair share of pulseaudio bugs over the years, never
> reported a single one for a variety of reasons mostly because getting rid of
> pulseaudio has been enough to instantly fix the issue.

Lack of inclination to report bugs supports the idea of reducing scope and complexity.

> Isn't that a typical case of "works on my machine" ?
> https://blog.codinghorror.com/the-works-on-my-machine-certification-program/

It is not. What I was trying to get across is that I perfer to live in the real world of our users. The machine I use most often is a 3 year old $500 HP Pavillion i3 based machine running Windows 10 because it is typical and mid range. On an average week I watch video and work on 5 different machines.

(In reply to Miguel Hernandez from comment #100)
> We're obviously requesting a very simple thing: release a 52.0.1 build with
> ALSA support restored, and never again take it away. Please.

That isn't going to happen. Sorry.

> 
> When Australis happened, Classic Theme Restorer was the solution. When you
> removed the javascript annoyance options from about:preferences, we could
> still fix that in about:config; and when you removed them from about:config,
> settingsanity restored them.
> 
> This, however, has no fix other than compiling. This is like when you
> removed speed throttling over a decade ago - sure, there's cliget to
> redirect to wget in most cases, but when you did that, you made Firefox less
> functional. And while I guess one can always download html5 videos and play
> them elsewhere, that still doesn't support skipping video/audio, so the only
> solution is migration or rolling back.
> 
> And while bugzilla might be your professional working environment, when we
> (long-time) Firefox users face a bug willingly injected by the developers,
> it becomes a place to vent our displeasure with said bug and developers.
> Because bugzilla is a bug reporting tool that covers Firefox.

(In reply to monkeyboyted from comment #101)
> High cpu usage - On default, pulseaudio uses a pretty expensive resampling
> algorithm speex-float-1. I heard the comparable alsa software dmix algorithm
> is src-sinc-fastest. I can't verify whatever alsa is using because
> documentation stinks. Like Hannu, creator of OSS, said, "Luke use the source."

Firefox also has a resampler for both Web Audio and adaptive streaming. If there is an issue with the Pulse Audio resampler performance wise then it can obviously be fixed in either Firefox, Pulse Audio or both. Please file a bug with steps to reproduce if you have an perf issue here.

(In reply to calimeroteknik from comment #102)
> How about firefox drops pulseaudio support, and uses pulseaudio through the
> ALSA library?

That would be the worst of both worlds.

(In reply to Miguel Hernandez from comment #108)
> Just dropping ALSA support out of the blue doesn't fix anything, Gian-Carlo,
> and it can be added back for now with absolutely no overhead.

Installing Pulse Audio fixes all the known issues with the ALSA backend.

(In reply to Rinat from comment #111)
> They only way to make audio work for ALSA, PulseAudio, and JACK is to
> implement dedicated ALSA, PulseAudio, and JACK backends. I did those three,
> and must admit that PulseAudio was easiest to implement. Its code size
> is also the smallest amongst those three. So I understand why such decision
> in Firefox was made.

I'm pleased to hear that from you. Thanks.

(In reply to swifty from comment #113)
> From a user's perspective, its disconcerting that none of this is noted in
> the Release Notes.

I agree. That was an oversight.

> Regrettably, I have almost a dozen machines all with ALSA-only audio
> backends and all of them with Telemetry turned off.

Telemetry informs our decisions. Turning it off is not without disadvantage.

> Is Bug 1221579 the only thing that is holding ALSA back from being included
> in the near term (ignoring 1346665 for the moment) ?

It will take a while to establish a pattern of commitment to maintaining it. ALSA therefore won't be re-enabled soon.
(In reply to Chino from comment #120)
> > Discussions about which audio backend you have found easy-to-use in your
> > personal or professional projects are not appropriate for this bug.
> 
> Can you suggest where a public discussion of the topic can be held that
> would involve or reach the relevant Mozilla team members?

The dev-platform thread where the decision to drop the ALSA backend was originally communicated [1], is probably a better place.

FWIW, I just posted an email to that thread, summarizing (at a very high level) some of the feedback in this bug.

[1] https://groups.google.com/forum/#!topic/mozilla.dev.platform/jRAqSTri66I
(In reply to Botond Ballo [:botond] from comment #125)
> > Can you suggest where a public discussion of the topic can be held that
> > would involve or reach the relevant Mozilla team members?
> 
> The dev-platform thread where the decision to drop the ALSA backend was
> originally communicated [1], is probably a better place.

Since several people have emailed me about this, I'd like to clarify: participating in our mailing lists like dev-platform does *not* require a Google account.

You can subscribe with any email address here: https://lists.mozilla.org/listinfo/dev-platform
You can post to the list as instructed on that page.
You can view the list archives (without being logged into a Google account) here: http://groups.google.com/group/mozilla.dev.platform
See Also: → 1352812
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → WONTFIX
For the record, since the strings alpha and beta are missing among comments here other than in comment 97, this doesn't just shut out ordinary users whose systems or audio quality requirements are incompatible with having pulseaudio installed. It also shuts out those who were testing mozilla.org's alpha and beta builds, except for some subset who can live without audio when running alphas or betas, or who can and will take the trouble to build their own with the requirement disabled.
Duplicate of this bug: 1825923
You need to log in before you can comment on or make changes to this bug.