Live data from Hacker News

PulseAudio requirement breaks Firefox on ALSA-only systems

bugzilla.mozilla.org

71–80 of 89 posts

Re: PulseAudio requirement breaks Firefox on ALSA-only systems

#71
post #38

Earlier quoted context omitted.

It's not for everyone, but try a BSD. When PulseAudio first started showing up everywhere, I thought it was an anomaly, but it was really a harbinger. Since then Linux has been getting more like Windows every year (unpredictable behaviour, resource-hungry, lots of churn, tons of complexity for little benefit). The FreeBSD audio driver is in the kernel, it's tiny, and I never think about because it's never once caused…

I've been thinking about BSDs. I used to run a FreeBSD server a long time ago and I tend to like copies of the ports system that I've used on other OSes. How hard is it to upgrade major versions? I seem to remember that this was a pain at some point, but this was so long ago that my memory is fuzzy. Also, have you had any problems with hardware support? The machine I'm thinking of putting this on doesn't exist yet, s…

It's gotten much easier to both upgrade and to install software. Example:

To apply security patches:

  freebsd-update fetch  

  freebsd-update install
To upgrade to a new version of the operating system:

  freebsd-update -r 11.0-RELEASE upgrade
To install software:

  pkg install chromium
You can still use the ports system if you want to, but pkg is so much easier.

Re: PulseAudio requirement breaks Firefox on ALSA-only systems

#72
post #47

Earlier quoted context omitted.

One major factor is security, everything that isn't being actively maintained is passively accumulating exploits. For example, debian switched from ffmpeg to libav and eventually back to ffmpeg again because the libav maintainers have consistently slow to act on bugs and security holes whereas ffmpeg was anything but despite having a much smaller team looking after it. Debian's own security team called the switch bec…

ALSA itself is better maintained than PulseAudio actually. If they cannot find a developer to maintain ALSA backend, they must really be out of money and skill. Yes, pure ALSA is harder, but not that much harder.

> they must really be out of money and skill

A browser dropping below 8% (except for Germany, which is the only country where Firefox is still leading at 43%) surely has different problems than catering to the 1% pure ALSA users of their Linux users, when the Linux users are already 1% of their overall user share.

Especially when funding is dependent on market share...

Re: PulseAudio requirement breaks Firefox on ALSA-only systems

#73

On top of the ideological issues I see with things like PulseAudio, it has always given me headaches in practice. I've never had issues with ALSA, but now I need to install an audio server so it can talk to ALSA? These are strange, unfortunate times. I feel linux will eventually succeed at becoming Windows and it makes me sad.

> I've never had issues with ALSA

You haven't been acquainted with asoundrc/dmix/alsamixer. ALSA is to Pulse as XFree86 is to Xorg, I feel no nostalgia for it at all.

Re: PulseAudio requirement breaks Firefox on ALSA-only systems

#74
post #38

Earlier quoted context omitted.

It's not for everyone, but try a BSD. When PulseAudio first started showing up everywhere, I thought it was an anomaly, but it was really a harbinger. Since then Linux has been getting more like Windows every year (unpredictable behaviour, resource-hungry, lots of churn, tons of complexity for little benefit). The FreeBSD audio driver is in the kernel, it's tiny, and I never think about because it's never once caused…

I've been thinking about BSDs. I used to run a FreeBSD server a long time ago and I tend to like copies of the ports system that I've used on other OSes. How hard is it to upgrade major versions? I seem to remember that this was a pain at some point, but this was so long ago that my memory is fuzzy. Also, have you had any problems with hardware support? The machine I'm thinking of putting this on doesn't exist yet, s…

I agree with pppp - it's quite easy in the most common case. I've run into little problems, but rarely, and certainly no more than what I used to have with Linux.

Hardware support is like Linux a few years ago. That, and a few (esoteric or proprietary) packages that I've found missing are about the only downsides IMO.

FreeBSD has run fine with little to no configuration on all the desktops and servers I've tried, but laptops are a different story. OpenBSD has a better reputation there. My guess (and understand this is based on just my limited perspective) is that the biggest thing to be aware of is video cards (in particular the Intel integrated graphics are one or two generations behind).

Here's the offical word on drivers in general: https://www.freebsd.org/relnotes/CURRENT/hardware/support.ht...

Re: PulseAudio requirement breaks Firefox on ALSA-only systems

#75
post #14

Earlier quoted context omitted.

You could volunteer to rewrite Firefox’s entire ALSA backend to add multiprocess support. That’s what caused this, because Mozilla doesn’t have the manpower to rewrite two backends, and so had to choose one (with the pulse backend being preferred, as the pulse maintainers help mozilla and fix bugs on their side, while mozilla reports getting no assistance or anything from the ALSA maintainers).

I would but they'd have to hire me full time. (Yes, I'd be happy to work on other parts of the browser as well.) Sad reality is that they are trying to not hire competent people while having features implemented well. Mozilla is vastly understaffed for the magnitude of the project.

While I would agree that we are vastly understaffed, we just don't have the resources to pay people to fix everything. We hire lots of extremely talented developers, but like all software projects everything is a tradeoff. We could pay someone to maintain ALSA support, but that would mean other things would not get fixed. Linux users are already a small fraction of the Firefox userbase (despite most Firefox developers using Linux as their main development environment), so how do we justify spending the resources to maintain an alternate audio backend that's only used by a small fraction of our Linux users? It's not very compelling.

Re: PulseAudio requirement breaks Firefox on ALSA-only systems

#76
The comments on the bug are exemplary of the kind of crap we deal with when supporting Linux users, and really go a long way towards making people not want to spend any time on these issues.

If you actually read the details you'd note that the code to support ALSA wasn't removed, it was simply put behind a configure option (--enable-alsa). Most of the people complaining in the bug are running builds from a distro that provides Firefox builds, doesn't ship PulseAudio, but didn't bother building Firefox with that option. Their distro shipped them a broken build so of course they come to complain in Bugzilla.

Re: PulseAudio requirement breaks Firefox on ALSA-only systems

#77
post #71

Earlier quoted context omitted.

I've been thinking about BSDs. I used to run a FreeBSD server a long time ago and I tend to like copies of the ports system that I've used on other OSes. How hard is it to upgrade major versions? I seem to remember that this was a pain at some point, but this was so long ago that my memory is fuzzy. Also, have you had any problems with hardware support? The machine I'm thinking of putting this on doesn't exist yet, s…

It's gotten much easier to both upgrade and to install software. Example: To apply security patches: freebsd-update fetch freebsd-update install To upgrade to a new version of the operating system: freebsd-update -r 11.0-RELEASE upgrade To install software: pkg install chromium You can still use the ports system if you want to, but pkg is so much easier.

FYI, we're a long time Linux shop (mostly Ubuntu server) and are slowing moving away from it because I don't like the direction it is going (systemd, etc). I've got more than half of our systems on FreeBSD/OpenBSD now.

Re: PulseAudio requirement breaks Firefox on ALSA-only systems

#78

Earlier quoted context omitted.

Wrong. ALSA is the main Linux audio backend. PulseAudio cannot output to sound devices without it. (only to network) So not supporting it is akin to not supporting audio output on Linux. Dropping PulseAudio is fine if they want to reduce maintenance load, as it is optional, unlike ALSA.

Have you looked at the actual APIs? After last week's announcement, I talked to a friend who has, and apparently the PulseAudio API is much more straight-forward than the ALSA one. He voiced understanding for Firefox supporting PulseAudio instead of ALSA. EDIT: Also, arguing that Firefox needs to support ALSA instead of PulseAudio because "PulseAudio cannot output to sound devices to ALSA" is similar to saying Firefo…

No, VFS is a valid kernel interface, as is ALSA. Your analogy is wrong and pointless.

This is more similar to removing all support for files and requiring everyone to install MySQL.

Re: PulseAudio requirement breaks Firefox on ALSA-only systems

#79

Earlier quoted context omitted.

I would but they'd have to hire me full time. (Yes, I'd be happy to work on other parts of the browser as well.) Sad reality is that they are trying to not hire competent people while having features implemented well. Mozilla is vastly understaffed for the magnitude of the project.

While I would agree that we are vastly understaffed, we just don't have the resources to pay people to fix everything. We hire lots of extremely talented developers, but like all software projects everything is a tradeoff. We could pay someone to maintain ALSA support, but that would mean other things would not get fixed. Linux users are already a small fraction of the Firefox userbase (despite most Firefox developer…

If it is such a problem, why not hide the backend behind a nice library instead of a sound server? Say, off the top of my head, libao (after getting Xiph to fix the license), PortAudio, libsoundio, OpenAL and OpenSL come to mind. There are probably more.

Re: PulseAudio requirement breaks Firefox on ALSA-only systems

#80

Honestly, as a developer, these sorts of vitriolic comments only make me want to fix these kinds of bugs less. There is real cost to supporting features, and very often, the decision basically amounts to having to choose which feature scarce resources is used for. So you have to be prepared to defend having to divert resources for pet features--keeping in mind that sometimes the other feature is "making sure it build…

In this case it's just behind a use flag, but regardless it seems to me like this could be fixed with a relatively simple wrapping library.

SDL for example supports outputting to OSS, ALSA, PulseAudio, ESD and with a patch, JACK. What you want to output to can be easily configured at runtime. You as a developer write the least code possible and only have to do the job once, your users get the benefit of picking any output system they please.

I believe Gstreamer offers a similar system too which Mozilla already uses for video decoding on Linux.

Additionally the same code can be used across other platforms entirely, not just Linux.

Post reply on HN