# Using sndio in place of pulseaudio



## tobiam (May 6, 2017)

Like me, you might be struggling a lot with sound, ever since pulseaudio came up. However, there actually is an alternative that sparked out of the OpenBSD community. It's a light weight and just works.

Sadly it isn't what applications use per default, so one is currently forced to use ports instead of binary packages.

In /etc/make.conf (or /usr/local/etc/poudriere.d/make.conf if you are using poudriere) add the following options:

```
OPTIONS_SET=SNDIO # ... and what you might already have
OPTIONS_SET+=PORTAUDIO # Portaudio supports sndio, so more software supports sndio (gqrx is an example)
OPTIONS_UNSET=  PULSEAUDIO PULSE ALSA # ... and what you might already have
```

Now recompile your packages and that's it.

While the package comes with sndiod (via `sysrc sndiod_enable=YES` and `service sndiod start`) this isn't necessary for most users and I personally don't ever start it. See sndiod(8)for more details.

One reason to use sndiod is to control volumes per application. For this this simply activate it as described in the previous paragraph (sysrc and start it) and install the `audio/aucatctl` port (or package).

The little command is straight forward to use:

Run without arguments to list applications and current volums: `aucatctl`

Run with one or more arguments to set the volume: `aucatctl master=85 mplayer0=100`

Please keep in mind that the applications need to be connected with sndiod. In other words: The need to be started after sndiod, so if you initially don't see some application either restart it or restart your system (with sndiod enabled in rc.conf).

EDIT: Mention PORTAUDIO
EDIT2: Mention aucatctl(1)


----------



## abishai (May 6, 2017)

tobiam said:


> struggling


Struggling? I always thought that sound servers exist to overcome limitations of ALSA on Linux. Why do we need sndio at all? OSS just works.


----------



## free-and-bsd (May 6, 2017)

abishai said:


> Why do we need sndio at all? OSS just works.


I wonder. I heard all the best about sndio from the OpenBSD community.
And for example, www/firefox only has 3 sound options: alsa, pulseaudio, sndio. Well, what I do currently is choose pulseaudio option and afterwards delete the port. Works fine! But this is kind of dirty...


----------



## Deleted member 48958 (May 6, 2017)

IMO too, all packages should be built with sndio instead of pulseaudio,
I'm too lazy (as most of other users, I think) to rebuild firefox, for example,
and other "huge" ports on my laptop, so I'm forced to use pulseaudio…


----------



## abishai (May 6, 2017)

free-and-bsd said:


> I heard all the best about sndio from the OpenBSD community.


They don't have ALSA emulation layer as we do.


free-and-bsd said:


> But this is kind of dirty...


I think that firefox should use 1 backend for sound. Probably, it should be ALSA.

Personally, I try to use something one. I mean, not to use alsa, pulseaudio and sndio at the same time. Common divisor for ports I have is alsa as java/openjdk8 doesn't have additional backend support (or at least option to disable sound at all, I don't need it). Until then, OPTIONS_UNSET=  PULSEAUDIO SNDIO

But I'm still curious how one can 'struggle' with pulseaudio. Can OP name at least 1 port that have pulseaudio and sndio support only ?


----------



## shepper (May 6, 2017)

abishai said:


> I think that firefox should use 1 backend for sound. Probably, it should be ALSA.



The latest versions of Firefox only support pulseaudio.


----------



## Deleted member 9563 (May 7, 2017)

shepper said:


> The latest versions of Firefox only support pulseaudio.



So either one has to not use Firefox, or set up another computer to run things that don't like pulseaudio. I took the lazy way and set up another box for audio like ALSA and playout software.


----------



## rigoletto@ (May 7, 2017)

I am running Firefox 53.0.2 with ALSA. I never used pulseaudio on FreeBSD (or Linux, but for a little testing time) and neither I have it installed, so unless it connects directly to OSS (IDK) it still need ALSA to work, since pulseaudio is just a proxy.

I didn't even need to configure asound.conf to have ALSA working, it was already configured to use OSS as output.

EDIT: my question would be why someone would use pulseaudio on FreeBSD, unless for eventual ports without a choices?

EDIT2: pulseaudio was created to* allow several programs to use the same audio output at same time, with separated volume controls.*

I do not know how ALSA would behave on FreeBSD, but on Linux if you install it and do not configure anything (assuming it was NOT configured already by distro), but eventually setting the default audio device output (if needed), ALSA will use the `dmix` plugin by default.

Dmix, a the ALSA built-in software mixer, *allow several programs to use the same audio output at the same time, with separated volume controls.*

You can ever use pulseaudio on something that force you to use it and still use ALSA for everything else without having any conflict. I do not remember ALSA configuration details, but NOT setting pulseaudio as default PCM should work.


----------



## laurentis (May 7, 2017)

ILUXA said:


> IMO too, all packages should be built with sndio instead of pulseaudio,
> I'm too lazy (as most of other users, I think) to rebuild firefox, for example,
> and other "huge" ports on my laptop, so I'm forced to use pulseaudio…



Firefox started requiring pulseaudio a few versions back for things like Webrtc support. Currently pulseaudio is needed at build time but is not required at runtime.

So for now the situation is that, if pulseaudio is not present at runtime, Firefox's sound output will just fallback on ALSA, which is what most users want.

However the bad news is that ALSA support is going away very soon (version 54). At that point you will need either pulseaudio or sndio, and I guess most people will want to switch to the later. I think the maintainer is aware that pulseaudio is not very popular here, so it's likely that the default sound option will be switched at some point.


----------



## abishai (May 7, 2017)

lebarondemerde said:


> I do not know how ALSA would behave on FreeBSD


Better than on linux. It's just a wrapper/proxy that redirects actual work to OSS. We have all nesessary mixing in kernel.


laurentis said:


> Firefox started requiring pulseaudio a few versions back for things like Webrtc support.


This is not true. Firefox doesn't need pulseaudio on build or runtime. Package options defaults to pulseaudio, but can be changed.
Officially, latest version of firefox use pulseaudio by default, but alsa code was not removed [yet]. Build option what backend to use exists as well.


----------



## tobiam (May 7, 2017)

laurentis said:


> Firefox started requiring pulseaudio a few versions back for things like Webrtc support. Currently pulseaudio is needed at build time but is not required at runtime.
> 
> So for now the situation is that, if pulseaudio is not present at runtime, Firefox's sound output will just fallback on ALSA, which is what most users want.
> 
> However the bad news is that ALSA support is going away very soon (version 54). At that point you will need either pulseaudio or sndio, and I guess most people will want to switch to the later. I think the maintainer is aware that pulseaudio is not very popular here, so it's likely that the default sound option will be switched at some point.



That is not correct. ALSA and PA are disabled here. I can even verify that sound is actually controlled via sndio by connecting it to sndiod. So it's certainly not bypassing sndio.

Also disabling pulseaudio and enabling sndio which is achieved by the conig above will disable the pulseaudio build/runtime dependency.

I don't build pulseaudio package at all on my poudriere. Sound works like a charm in Firefox. That's actually the reason why I wrote this mini-howto. Because it really *does* work and is actually really simple, even though a lot of people seem to think it doesn't.


----------



## Deleted member 9563 (May 7, 2017)

tobiam said:


> Because it really *does* work and is actually really simple, even though a lot of people seem to think it doesn't.



ALSA really does work? But you said that it's disabled for you? Now I'm really confused. Also, I think the question is whether Firefox actually will require pulseaudio.


----------



## tobiam (May 7, 2017)

Not ALSA, sndio.


----------



## Deleted member 48958 (May 7, 2017)

Yes, pulseaudio is not required now, to install firefox,
as it was some time ago, but even now firefox is built with pulseaudio support —
`% pkg info -f www/firefox`:

```
Options        :                                                                                                                                                                         
        [b]ALSA           : on[/b]                                                                                                                                                              
        BUNDLED_CAIRO  : on                                                                                                                                                              
        CANBERRA       : off                                                                                                                                                             
        DBUS           : on                                                                                                                                                              
        DEBUG          : off                                                                                                                                                             
        DTRACE         : on                                                                                                                                                              
        FFMPEG         : on                                                                                                                                                              
        GCONF          : off                                                                                                                                                             
        GNOMEUI        : off                                                                                                                                                             
        INTEGER_SAMPLES: off                                                                                                                                                             
        LIBPROXY       : off                                                                                                                                                             
        OPTIMIZED_CFLAGS: on                                                                                                                                                             
        PGO            : off                                                                                                                                                             
        PROFILE        : off                                                                                                                                                             
        [b]PULSEAUDIO     : on[/b]
        RUST           : on
        [b]SNDIO          : off[/b]
        TEST           : off
```
So the point was, that it is much better to use sound server from the BSD world, in BSD OS — FreeBSD (in my opinion, of course),
than to emulate GNU/Linux audio architecture (ALSA) and to use GNU/Linux sound server (PULSE) from the systemd developer,
Lennart Poettering, a Harry Potter from the *NIX world…


----------



## tobiam (May 7, 2017)

abishai said:


> Struggling? I always thought that sound servers exist to overcome limitations of ALSA on Linux. Why do we need sndio at all? OSS just works.


Yes, struggling. I end up having noises in the background, horrible performance, stuttering, bugs, etc. Yes, OSS is great, but doesn't work with all the software I use (firefox for example). Everyone/everything seems to want pulseaudio these days.

So I was really excited to see there is sndio support for every port I ever installed. No pulseaudio, just simply working sound. And since I feel compassion for others [1] and wanted to share that it's really just disabling pulseaudio and enabling sndio in make.conf for no more headaches.

Btw. this is not about ideology or "it's a Linux tool". It just choosing between something that doesn't work and something that does work. I would totally us a Linux distribution which can use sndio for everything instead of pulseaudio. However, while sndio is ported to Linux things don't just work. And yeah, compiling ports/using poudriere isn't for anyone, but I've always been doing that, so it's really just turning that switch.

I am really happy for that, so huge thanks to all the people that made that possible.

[1] Really, without any sarcasm. I know people spending days or weeks trying to get PA working without any issue and then they give up and going back to Windows or macOS, because basic stuff like sound is that huge issue on free systems.


----------



## laurentis (May 7, 2017)

tobiam said:


> That is not correct. ALSA and PA are disabled here. I can even verify that sound is actually controlled via sndio by connecting it to sndiod. So it's certainly not bypassing sndio.



When I mentioned the ALSA fallback it was for pulseaudio only, since sndio and pulseaudio/ALSA are mutually exclusive.


----------



## tobiam (May 7, 2017)

Ah, I completely misunderstood you then. Sorry!

I meant more that you can disable both, so you really don't have to compile them, neither as build nor as runtime dependency, if you switch over to pulseaudio.

I thought you meant that one cannot do that for Firefox. That's what the "not correct" is about. I've been running that setup for quite a bit now and thought that most people do that, but recently learned that most people didn't know you could replace it, even for big applications, like Firefox, but with that setup you will also have VLC, wine, etc. just working, without any configuration or manually setting things to OSS (not sure how well that works, in regards to blocking and so).


----------



## laurentis (May 7, 2017)

abishai said:


> This is not true. Firefox doesn't need pulseaudio on build or runtime. Package options defaults to pulseaudio, but can be changed.
> Officially, latest version of firefox use pulseaudio by default, but alsa code was not removed [yet]. Build option what backend to use exists as well.



I stand corrected, it looks it's possible to just use ALSA now.  My information was obsolete. I do remember that building without pulseaudio became broken at some point and that was the reason for the default. Anyway, soon the options will be either pulseaudio or sndio and no ALSA.


----------



## shepper (May 8, 2017)

From the OpenBSD Makefile for www/chromium and www/iridium:


> GN_ARGS=    enable_nacl=false \
> is_debug=false \
> enable_webrtc=false \
> enable_one_click_signin=true \
> ...



Google can be little nosey so the fork iridium is also worth looking at.  www/iridium has been ported to FreeBSD but it looks like the audio configuration options are Alsa or Pulseaudio.


----------



## tobik@ (May 8, 2017)

I have a patch for adding sndio support to www/iridium: https://github.com/t6/freebsd-ports-sndio/commit/c80978f8406691f0954ab12e7edbe9ba01b77d0c.patch

This is new and more testing is required, but it seems to work fine so far.


----------



## abishai (May 8, 2017)

BTW, how OpenBSD folks use openjdk ? It has hardcoded dependency on ALSA. Maybe we can use OpenBSD trick to avoid it ? It's the only port on my laptop without SNDIO option.


----------



## tobik@ (May 8, 2017)

abishai said:


> BTW, how OpenBSD folks use openjdk ? It has hardcoded dependency on ALSA. Maybe we can use OpenBSD trick to avoid it ?


AFAICT they simply don't build sound support.  The OpenJDK build system is hardcoded to disable it on OpenBSD and it is easy enough to disable on FreeBSD too.  See PR 219125.


----------



## free-and-bsd (May 12, 2017)

tobiam said:


> Like me, you might be struggling a lot with sound, ever since pulseaudio came up. However, there actually is an alternative that sparked out of the OpenBSD community. It's a light weight and just works.
> 
> Sadly it isn't what applications use per default, so one is currently forced to use ports instead of binary packages.
> 
> ...


So, finally, do you argue that using SNDIO has any advantages over NOT using neither SNDIO nor PULSE/ALSA?

Because I use none of these, except that www/firefox has PA _enabled_ (and therefore built with PA _support_) but I remove the pulseaudio package itself right after the installation, and everything works just fine with bare OSS. So do you argue that it will in some way work better with SNDIO? I'm about to try it, so if there are any advantages, I'd like to know.


----------



## free-and-bsd (May 12, 2017)

laurentis said:


> ...
> So for now the situation is that, if pulseaudio is not present at runtime, Firefox's sound output will just fallback on ALSA...


This seems to be a wrong assumption, it does pretty well without ALSA, which is not installed on my system at all.


----------



## tobiam (May 12, 2017)

free-and-bsd said:


> So, finally, do you argue that using SNDIO has any advantages over NOT using neither SNDIO nor PULSE/ALSA?


Yes, it has a couple of advantages:

- It works, even when software drops OSS-Support
- License
- It has network features
- It doesn't mess up with multiple audio outputs

I am confused about your audio working though, as in there being no "go without" option if that works. As far as I know that should have stopped working recently, but maybe I am mistaken.


----------



## abishai (May 12, 2017)

free-and-bsd said:


> This seems to be a wrong assumption, it does pretty well without ALSA which is not installed on my system at all.


Nope. Without PA firefox fallsback to audio/alsa-lib


----------



## free-and-bsd (May 12, 2017)

tobiam said:


> Yes, it has a couple of advantages:
> 
> - It works, even when software drops OSS-Support
> - License
> ...


Nobody has explained to me yet how this is possible, but the fact is: I have www/firefox compiled with PA support (no ALSA), but I have neither audio/pulseaudio nor alsa-libs, nor pulseaudio-libs installed. Cleaned them all up for the sake of experiment a year ago, because I had problems making it work WITH audio/pulseaudio installed. Which I have posted here, too...


----------



## abishai (May 12, 2017)

If you have no PA and no ALSA, firefox, lastly, fallback to OSS. Implementation is experimental and has no WEBRTC support (the first thing I disabled after FF installation  ).
Code taken from https://bugzilla.mozilla.org/show_bug.cgi?id=1021761 and implemented as local patch https://svnweb.freebsd.org/ports/head/www/firefox/files/patch-bug1021761?revision=438264&view=markup


----------



## free-and-bsd (May 12, 2017)

Well, it works in my case _without_ any patches. My firefox has only PA support enabled, neither PA nor ALSA in _any_ form installed, still sound in firefox works. The only problem I had was sound being out of sync with video... 

But I'm going to try the SNDIO approach anyway.


----------



## abishai (May 12, 2017)

Patch is supplied to the port, so package already has it. That's why Firefox can work with OSS directly.

As there is no WebRTC solution [yet], port doesn't have OSS option officially.


----------



## free-and-bsd (May 12, 2017)

abishai said:


> Patch is supplied to the port, so package already has it. That's why Firefox can work with OSS directly.
> 
> As there is no WebRTC solution [yet], port doesn't have OSS option officially.


So you mean it is in the ports anyway, right?


----------



## free-and-bsd (May 13, 2017)

tobiam OK, here is the news with newly built SNDIO:

```
[1/1] Installing sndio-1.2.0_2...
===> Creating groups.
Using existing group '_sndio'.
===> Creating users
Creating user '_sndio' with uid '702'.
pw: user '_sndio' disappeared during update
pkg: PRE-INSTALL script failed
```

EDIT: running vipw without changes to /etc/passwd helped.


----------



## free-and-bsd (May 13, 2017)

Well, here's another funny thing about www/firefox with SNDIO option enabled. When I open a YouTube video there appears a second instance of firefox:

```
PID USERNAME    THR PRI NICE   SIZE    RES STATE   C   TIME    WCPU COMMAND
55505 user       32  29    0  1733M   303M select  1   0:15   8.18% firefox
55477 user       51  20    0  1748M   270M select  0   0:07   3.15% firefox
58502 user        1  21    0 12442M 36840K select  1   0:17   1.86% Xorg
85679 user       13  52    0   574M 94324K sigwai  0   1:13   0.29% vlc
58522 user        1  20    0   115M 10816K select  0   0:04   0.09% urxvtd
```
I'm better satisfied with PA enabled version with only 1 instance running.


----------



## free-and-bsd (May 13, 2017)

OK, looks like this last version (just updated) runs 2 instances regardless of whether it's SNDIO or PA.

Is it because of this?


----------



## tobiam (May 14, 2017)

free-and-bsd said:


> OK, looks like this last version (just updated) runs 2 instances regardless of whether it's SNDIO or PA.
> 
> Is it because of this?


Yes, that's most likely it. Press A in top to see the whole command. It's usually giving you a hint on what it is used for. If you somehow use Flash instead of HTML5 or any kind of plugins, those usually are also in a separate process. Should be pretty independent of sound related stuff.


----------



## free-and-bsd (May 14, 2017)

tobiam said:


> Yes, that's most likely it. Press A in top to see the whole command. It's usually giving you a hint on what it is used for. If you somehow use Flash instead of HTML5 or any kind of plugins, those usually are also in a separate process. Should be pretty independent of sound related stuff.


Well I gave up on Flash plugin a while ago, and firefox does HTML5 quite well.

Is this here a good place to ask you a couple of questions about how you handle the sndiod? I mean, the man page is there, but I could find no HOTWO-like documentaion on sndio.

The reason why I'm asking is, for example, that I tried firefox with sndiod started, and the sound in a YouTube video was much lower than when sndiod was not started. Yet I could find no way to manipulate the output volume, aumix being no much help there.


----------



## tobiam (May 15, 2017)

Depending on what you want to achieve the -v flag might be your friend. 

Sorry, I don't really know of any bigger tutorials and just rely on the man page.


----------



## free-and-bsd (May 15, 2017)

tobiam said:


> Depending on what you want to achieve the -v flag might be your friend.
> 
> Sorry, I don't really know of any bigger tutorials and just rely on the man page.


Well, I don't quite get it from the man page how I can manipulate output volume for, say, HTML5 video in firefox. And there IS such need, because when I play it in firefox with sndiod started, the sound it certainly lower. Then there must be ways to adjust that, I figure.

Here is the OpenBSD manual. But it is based on the OpenBSD sound tools, which aren't ported to FreeBSD.


----------



## abishai (May 15, 2017)

If sndiod is not running, sndio is mapped directly to /dev/dsp


----------



## laurentis (May 16, 2017)

free-and-bsd said:


> Well, I don't quite get it from the man page how I can manipulate output volume for, say, HTML5 video in firefox. And there IS such need, because when I play it in firefox with sndiod started, the sound it certainly lower. Then there must be ways to adjust that, I figure.



There's a utility in ports to do just that: audio/aucatctl

In my case the master and per-application volume were already at maximum, so it didn't help.

However taking a hint from here, I figured that you could increase the volume by lowering the 0db relative level.

On my laptop, it's done with this sysctl:
`sysctl hw.snd.vpc_0db = [I]10[/I]`


----------



## antic (Sep 3, 2017)

abishai said:


> Why do we need sndio at all? OSS just works.



i assume the pkg firefox binary was complied with alsa and pulse set to "off"? i noticed the binary still uses them in the build but i don't seem to have any traces of alsa or pulse and OSS defaulted to handling firefox's sound output.


----------



## poorandunlucky (Nov 13, 2017)

what's wrong with pulseaudio?


----------



## vermaden (Nov 13, 2017)

poorandunlucky said:


> what's wrong with pulseaudio?


Everything.


----------



## poorandunlucky (Nov 13, 2017)

vermaden said:


> Everything.



That's... informative.  It shows me you know your stuff, and I feel compelled to ask: may I board the bandwagon of which you appear to be the driver, good sir?  You strike me as a gentleman, and a scholar, and I can hardly contain my burning desire to, myself, bicker about the shortcomings of PulseAudio... which are, again?  It's just The excitement, you understand... I'm not sure I would be able to phrase it just the same as you would!  = D  I wouldn't want to tarnish the graceful proverbial vehicle of our opinion, as it may, and so if you could help me put together the words so that I, too, may, perhaps, with time, a bit of luck, and your oversight, of course, milord, gain the favors and advantages of others support towards our blessed cause against the evils and shadows PulseAudio hast cast upon our kingdom!  My leash, I implore you to radiate upon us the warmth of your wisdom and knowledge  *bows*


----------



## vermaden (Nov 14, 2017)

@ poorandunlucky

I wanted to omit that as I probably stated that many times, and I consider it a waste of time, especially because its very 'negative'.

While FreeBSD has in kernel mixing of channels (up to 256 if I recall correctly) with OSS4, with low latency, in kernel space, Linux on the other hand some time ago BEFORE PulseAudio had ONE OSS channel (which often was blocked by WINE) and many ALSA channels. That worked until some app 'blocked' the OSS channel and then another app wanted to use OSS channel. In other words, a typical Linux mess.

Then PulseAudio from the great Lennart Poettering happened and it happened hard. I used Ubuntu for about a year because FreeBSD was not up to the task of supporting Intel G965 chipset with X3000 GMA Intel graphics adapter (only deadly slow vesa was possible), so I moved 'temporary' to Ubuntu to wait for its support in the FreeBSD land. Why Ubuntu and not CentOS? or why not Gentoo? I used Slackware and Gentoo in the past and these two bring me to the FreeBSD land, so I wanted to check a 'desktop' distro for the first time, and as Ubuntu was the most popular at the time, I decided to jump in.

This Ubuntu came with PulseAudio, not with the first version, PulseAudio was available for quite some time before that Ubuntu release. I did not used any 'strange' audio setup, just output to 2 speakers via typical mini jack output. As this was desktop I did not powered it off as I did not have such need, but PulseAudio forced me to periodic reboots. The whole audio on that Ubuntu Linux hanged hard after about a day of typical desktop usage, sometimes after two days, sometimes after half a day. No reload of services or even kernel modules (alsa) helped to gain the sound back, I was forced to hard reboot because of that PulseAudio shit. The strange thing is that the whole rest of the system just worked, I could do all other operations without a problem, but sound stopped with some jerky noice and thats it. As I used this Ubuntu for about a year I regularly applied updates with hope to fix this issue, but after more then a year it was not fixed. I came back to FreeBSD then and never looked back, but as I see more and more projects (Firefox/Chrome) force this shit (PulseAudio) into the FreeBSD ecosystem it drives mu nuts.

My opinion may be biased on 'this single system' but its not only my opinion. I am very disappointed that You did not seek for that yourself ... as everything that this moron Poettering does is just pure shit.

The PulseAudio basically did what Microsoft did with Windows Vista in audio subsystem, they moved it altogether into user space, which increases latency a lot and provides a lot of unneeded copying between kernel space and user space. Then as PulseAudio being merged into distros all the fault has been 'transferred' to 'buggy' ALSA drivers or other subsystems, it was NEVER the PulseAudio fault which is total bullshit because audio worked quite stable before PulseAudio and stopped working reliably after it has been merged.

How big the PulseAudio shit is is also visible on how big shit the other projects of Lennart are, like avahi or systemd. What is even more 'frustrating' that this moron without any sysadmin experience introduced this systemd shit because he wanted his laptop to boot faster (lack of words), here is a snipped from some old interview with him about that:

https://twitter.com/unixtippse/status/854740233077837824/photo/1







About the PulseAudio itself, just google for this: *pulseaudio shit *or *pulseaudio problem
*
You will find tons of information why I typed just one word '_Everything._' ... I will just put some of them here because I do not want to type all this stuff here by hand while its already available elsewhere.

https://www.reddit.com/r/linux/comments/4icp1a/pulseaudio_is_a_toilet_full_of_roses/
https://voat.co/v/Linux/2056902
https://bbs.archlinux.org/viewtopic.php?id=183816
https://eksith.wordpress.com/tag/pulseaudio/
https://www.ibm.com/developerworks/...t_the_f_up_on_official_mailing_list51?lang=en
https://wyldeplayground.net/pulseaudio-cracking-sound-problem/
https://groups.google.com/forum/#!topic/microsoft.public.windows.vista.general/Y-v7VyHyySs
http://judecnelson.blogspot.com/2014/09/systemd-biggest-fallacies.html
https://ewontfix.com/15/

I added some systemd link because of someone does not learn on earlier projects (avahi / pulseaudio) and still creates shit instead of software (systemd) then this shows best how great PulseAudio really is.

Regards,
vermaden


----------



## sidetone (Nov 14, 2017)

vermaden said:


> @ poorandunlucky
> 
> I wanted to omit that as I probably stated that many times, and I consider it a waste of time, especially because its very 'negative'.
> 
> ...


A lot of GNU and Linux does that. GCC forced every dependency not related to compiling for a port, so it takes 18 hours to compile it. When if you can switch over to Clang, it can take 2 minutes to 2 hours to compile that same port. It is as if Linux tries to reinstall a whole operating system around a port, and instead of fixing, they just keep adding duplications of the same types of software. They fixed much of that problem for GCC on FreeBSD, but still GNU/Linuxisms on FreeBSD add duplicate software for no reason except to use a couple of libraries. I used to compile a program on an old computer for a Linux distribution, and now I wonder how much time was needlessly wasted, waiting, and hoping I chose the correct options to make a standardized install for one program every time. What a waste of time and electricity. Port maintainers' tasks would be so much easier without that useless gunk.

Forcing unneeded junk into a compile or subsystem does not make a program faster in the longrun, it makes it slower and buggy.

GNU/Linuxisms are great for top-level/userland programs, but for subsystems/infrastructure they are terrible.


----------



## poorandunlucky (Nov 16, 2017)

vermaden said:


> @ poorandunlucky
> 
> I wanted to omit that as I probably stated that many times, and I consider it a waste of time, especially because its very 'negative'.
> 
> ...



Well, I can't see that it's any more or less quirky than everything else so far, or any less inclined to "just work" even if not properly or not in the best manner right out of the box (who's to say what's out of the box, or what the box is, really, though), but I'll keep an eye out...  Thanks...


----------



## free-and-bsd (Nov 18, 2017)

poorandunlucky said:


> Well, I can't see that it's any more or less quirky than everything else so far, or any less inclined to "just work" even if not properly or not in the best manner right out of the box (who's to say what's out of the box, or what the box is, really, though), but I'll keep an eye out...  Thanks...


Well, in Linux I personally didn't have any problems with pulseaudio. 
But under FreeBSD it just doesn't work for me, while OSS does work out of the box. I have to build Firefox with pulseaudio (SNDIO not very good), but it doesn't give sound until I force remove pulseaudio. I don't see any need for it on FreeBSD.


----------



## free-and-bsd (Nov 18, 2017)

vermaden said:


> @ poorandunlucky
> 
> I wanted to omit that as I probably stated that many times, and I consider it a waste of time, especially because its very 'negative'.
> 
> ...


Yea, it was systemd that finally made me jump ship, he-he. But I have hardly any reasons to complain, since I'm FAR better off with FreeBSD than I EVER was with Linux.

And, ironically, it was not even systemd or pulseaudio itself that made the last drop for me -- it was the fact, that with fresh Fedora kernel updates sound _just_ stopped working on my system completely. I filed a bug report -- it wasn't even accepted under the pretext that it was "a duplicate of some solved bug" etc. But since I changed NOTHING on my system and since there was no other link than recent kernel update, I knew better what caused it. Why, a simple reboot with the previous kernel version made sound work again! 

Nothing similar had EVER happend on my Linux systems before, in 10 years. This was the time I realized RedHat derived distros were not going to be useful for me any more. So... with that attitude in them it's hardly surprising that they let programmers into the project who break the system. The funny thing is, most distros accepted those changes. Given all this I can hardly blame that one programmer. Just let him enjoy his good luck as long as it lasts.


----------



## Deleted member 48958 (Nov 18, 2017)

I also stopped my experiments with CentOS, after one day I executed 'yum update' and,
after reboot, systemd just stopped working...  It showed some errors, that it cannot load bla-bla-bla
and the only one option was to boot server from bootable usb... And it was CentOS, one of the most "stable" GNU/Linux distros...
Thats why I like FreeBSD, because I'm 100% sure that my system will boot every time.


----------



## rigoletto@ (Nov 18, 2017)

Similar thing happened with me last week while I was updating my father's Kubuntu system¹. The keyboard didn't work anymore, in any way, due to SystemD something not working.

It is amazing how, after several years, they manage to it still have such retard breaks.


----------



## sidetone (Nov 18, 2017)

ILUXA said:


> Thats why I like FreeBSD, because I'm 100% sure that my system will boot every time.


Except when misconfiguring a kernel or world compile. That's no fault of them, that's learning. Very reliable startups.


----------



## forgiven_noob (Jan 15, 2020)

abishai said:


> Struggling? I always thought that sound servers exist to overcome limitations of ALSA on Linux. Why do we need sndio at all? OSS just works.


it works well but i can find no way to change the systemv shared memory on oss
sorry for replying to an old post


----------



## free-and-bsd (Feb 2, 2020)

free-and-bsd said:


> Well, in Linux I personally didn't have any problems with pulseaudio.
> But under FreeBSD it just doesn't work for me, while OSS does work out of the box. I have to build Firefox with pulseaudio (SNDIO not very good), but it doesn't give sound until I force remove pulseaudio. I don't see any need for it on FreeBSD.


Ok, right now with Firefox 71 the default port compilation doesn't work as it used to (pulseaudio=yes but without actual pulseaudio). On the other hand, now I have no complains over HOW WELL it works _with_ pulseaudio port installed. It used to hang my system badly, now it just silently works -- and it does NOT work without pulseaudio port any more. Just to report, since I've posted so much about this problem earlier...

I'll see now how well it works with sndio for comparison sake.
EDIT: Tested that, and it works fine. So I'll stick to sndio for all the reasons mentioned in this thread -- excepting personal dislikes for the author of pulseaudio, which I don't have. After all, it's not him but them who employed him to write those programs. Actually, I'll have to thank him because all that resulted in my switching over to FreeBSD, which I never regretted since.


----------

