Bug 216383 - www/firefox: Pulseaudio compiled in by default
Summary: www/firefox: Pulseaudio compiled in by default
Status: Closed Not Accepted
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: freebsd-gecko mailing list
Depends on:
Reported: 2017-01-22 22:03 UTC by vermaden
Modified: 2018-11-20 19:35 UTC (History)
0 users

See Also:
jbeich: maintainer-feedback+


Note You need to log in before you can comment on or make changes to this bug.
Description vermaden 2017-01-22 22:03:38 UTC
Same reasons as mentioned here:

Please remove pulseaudio as DEFAULT option for firefox package. Even ALSA is more then enought, firefox should 'talk' directrly to OSS at FreeBSD, but as Mozilla in their 'wisdom' removed OSS [1] support from firefox, then ALSA is the less 'bad' option then pulseshit.

[1] https://support.mozilla.org/en-US/questions/963045

Comment 1 Jan Beich freebsd_committer 2017-01-22 23:31:37 UTC
PulseAudio defaults partially come from upstream[1]. It also better integrates with common desktop environments (GNOME, KDE, etc.). To not blow up the dependencies for package-only users by default pulseaudio is only required during build. If you don't like this just uncheck the option when building locally or add OPTIONS_UNSET += PULSEAUDIO to /etc/make.conf.

ALSA on FreeBSD state: OSS plugin is unmaintained upstream, lacks devices enumeration, no MIDI, many -utils are broken, high CPU usage in Firefox with BUFSZ_P2 hack disabled. What else can you expect from non-native audio system? PulseAudio isn't as bad but has issues of its own e.g., bug 211684.

OSS in libcubeb exists as files/patch-bug1021761. It's always enabled but cannot be exclusive due to lack of WebRTC backend. Building WebRTC without audio backend is currently broken. Before libcubeb came to be there was libsydneyaudio which had OSS support but suffered from very poor latency and sometimes crashed.

In short, what are you trying to solve by disabling PULSEAUDIO option by default?

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=837563
Comment 2 vermaden 2017-01-22 23:40:30 UTC
As FreeBSD base system 'tries' to keep away from GPL FreeBSD users try to keep as far as possible from #Linuxisms and #Poetterings. One of them is systemd, the other is pulseaudio.

As You say that ALSA and OSS are now broken/unmaintained we are probably doomed with pulseaudio. Pity.
Comment 3 Andriy Gapon freebsd_committer 2017-01-23 08:46:30 UTC
pulseaudio doesn't work for me...
I understand that that's a different issue, but just want to point out that pulseaudio is "plug-and-play" like e.g. OSS is (it just works on FreeBSD).

pulseaudio[33517]: [(null)] oss-util.c: '/dev/dsp0' doesn't support full duplex
pulseaudio[33517]: [(null)] oss-util.c: '/dev/dsp3' doesn't support full duplex
pulseaudio[33517]: [(null)] oss-util.c: '/dev/dsp4' doesn't support full duplex
pulseaudio[33517]: [(null)] authkey.c: Failed to open cookie file '/home/avg/.config/pulse/cookie': No such file or directory
pulseaudio[33517]: [(null)] authkey.c: Failed to load authentication key '/home/avg/.config/pulse/cookie': No such file or directory
pulseaudio[33517]: [(null)] ltdl-bind-now.c: Failed to open module module-cork-music-on-phone.so: Shared object "module-cork-music-on-phone.so" not found, required by "pulseaudio"
pulseaudio[33517]: [(null)] module.c: Failed to open module "module-cork-music-on-phone".
pulseaudio[33517]: [(null)] main.c: Module load failed.
pulseaudio[33517]: [(null)] main.c: Failed to initialize daemon.
pulseaudio[33515]: [(null)] main.c: Daemon startup failed.
Comment 4 vermaden 2017-01-25 18:02:30 UTC
Some input from from FreeBSD Forums:
And sideeffects is here, as I suspected - after I installed pulseaudio (and updated recently to the version 10) - as dependency by Chrome, sound is crippled/choppy completely from chromium, from firefox too, because firefox starts using pulseaudio dynamicaly (maybe pulse is interfering with OSS in some way). When I need to switch sound output, I need to switch it in OSS (for some apps) and also in pulse (for other apps). I also need to read extra long wiki pages (+ Arch linux wiki pages) about PulseProblem 10.0, google like a maniac and hope, that my sound will be OK and properly configured somewhere in the future.
Or, of course, I can recompile chrome port every 14 days with bare OSS/ALSA support only. Or recompile everything other once a month with PulseProblem. Or throw away PulseProblem + Chrome from my drive. It's good, so many options.

I knew it! 

Comment 5 Jan Beich freebsd_committer 2017-03-24 23:42:39 UTC
Firefox 54 is going to support multi-channel audio but only with PulseAuido.

Comment 6 vermaden 2017-03-24 23:53:03 UTC
(In reply to Jan Beich (mail not working) from comment #5)
Great ... more Poettering shit compiled in by default ...
Comment 7 Jan Beich freebsd_committer 2017-03-27 12:20:04 UTC
Maybe start contributing upstream. No one is paid to support Firefox on FreeBSD. In fact, the build is busted at least twice per week as there's no CI in place (Solaris RIP). Many features available on Tier1 platforms are simply not implemented: Sandbox, GeckoProfiler, CrashReporter, network link state detection, GamePad API, EME, PPAPI. OSS audio is one of those. I've tried to help but no luck - the contributor ran away. The patch is now a source of rebase churn and maybe dropped in future.

Or make PulseAudio suck less on FreeBSD, or implement missing features in sndio, or triage user stories into actionable bugs. Words are cheap, of course.
Comment 8 vermaden 2017-03-27 13:30:01 UTC
(In reply to Jan Beich (mail not working) from comment #7)

My comment was not against/about You or anyone in FreeBSD community.

It was about ignorance and blindness in Linux/Mozilla community.
Comment 9 Jan Beich freebsd_committer 2018-11-20 19:35:21 UTC
FWIW, I've dropped OSS from www/firefox in ports r485458.