-
-
Notifications
You must be signed in to change notification settings - Fork 15.5k
installer: Enable pulseaudio in all graphical iso's #56167
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Could you also add it to virtualbox-image: https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/virtualisation/virtualbox-image.nix I think it is useful there as well. |
Or actually you might be able to put it in https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/profiles/graphical.nix |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, I also found this to be strange.
The problem is not the lack of PulseAudio daemon (it adds more problems IMO, see https://github.com/oxij/libcardiacarrest), but the fact that ALSA is broken on master since 18.03.
The simplest solution:
git revert e349ccc a43e33d
(Or at least #46490, so that you would notice the breakage).
|
@oxij Disabling But you seem to question that choice, but that's up to you. But for now I'd rather see working audio in the next stable iso's, and branch-off is on Monday. So if you want to change that as well, I'd suggest taking it up for the next stable. |
Disabling `sound.enable` seems to have been a very conscious decision made in #35355 which I'm not about to question.
There I'm not questioning the decision (I'm fine with making the default system smaller), I'm questioning the implementation that broke ALSA for _all_ users who didn't have an explicit `sound.enable = true;` line in their configs.
Here I'm questioning the leap from "let's have sound in graphical installer ISOs" (I agree, let's) to "let's run PulseAudio daemon in installer ISOs".
|
Well, since the graphical installer is not just an installer, it's also a showcase for NixOS for many that want to try it out. And pulseaudio is pretty much default on many distros, not all, but many. And most users do expect pulseaudio to be there. So why not show that off in the showcase? I mean, it's not likely to break the graphical environment and it's something that people expect to be there. Which makes it a good idea for the showcase that happens to be the first impression that many new users will meet. And iirc, there's things that depend on pulseaudio that I guess don't work with alsa nowadays, so not having pulseaudio would break that showcase a bit. For example: https://bugzilla.mozilla.org/show_bug.cgi?id=1345661 Firefox doesn't seem to work that well without pulseaudio. One of the first applications that people find on the ISO is firefox since it contains the manual once the graphical environment is started. It's not uncommon for people to go to youtube and play music from there while doing other things. And with an ALSA only system I'd suspect that that wouldn't work. Which would break the impression of a nice graphical environment a fair bit. |
And pulseaudio is pretty much default on many distros, not all, but many. And most users do expect pulseaudio to be there.
IMHO most users expect audio to be working, not some specific daemon to be running.
And iirc, there's things that depend on pulseaudio that I guess don't work with alsa nowadays, so not having pulseaudio would break that showcase a bit.
For example: https://bugzilla.mozilla.org/show_bug.cgi?id=1345661
Firefox doesn't seem to work that well without pulseaudio. ...
The bug in question is an issue with the official build of Firefox where they just hard-disable ALSA backend for "reasons". In nixpkgs we build Firefox with both ALSA and PulseAudio by default. AFAIK both work. Some people reported "choppy WebRTC audio" with ALSA backend before, but others reported the same with PA, so I'm not convinced only one of them should be preferred.
In any case, if Firefox ever completely drops ALSA backend all we would need to do is wrap it with `apulse` in `wrapFirefox` to get the ALSA playback back.
And with an ALSA only system I'd suspect that that wouldn't work.
Did you actually test it? Personally, I'm running with libpulse overriden with libcardiacarrest (so that I won't ever run any PulseAudio code even by accident), i.e. I'm pretty certain I don't have a single bit of PA on my machine, yet I have no issues with sound in Firefox over ALSA.
|
Surprisingly, no large increase in output sides from this: https://hydra.nixos.org/job/nixos/trunk-combined/nixos.iso_graphical.x86_64-linux#tabs-charts pulseaudio must have been getting pulled in some other way. |
We just had a user on IRC thinking that they wanted to enable system-wide pulseaudio based on the contents of this file. |
It's not needed since NixOS#66338 and should have been done earlier. This is based on a follow-up on NixOS#56167.
It's not needed since NixOS#66338 and should have been done earlier. This is based on a follow-up on NixOS#56167. (cherry picked from commit 4403cd1)
It's not needed since NixOS#66338 and should have been done earlier. This is based on a follow-up on NixOS#56167. (cherry picked from commit 4403cd1)
Motivation for this change
I think this would help for a good first impression for people trying out the ISO. I've never reflected over this myself. But someone I chatted with (that has never heard of NixOS before) tried it pointed this out to me.
And I agree, it's weird to ship a graphical environment without audio enabled.
Things done
I've built the ISO like this:
And then I've wrote the image to an USB-stick and tried it on my thinkpad. And it works there at least.