Skip to content
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

snd_pcm_oss module not found #54074

Closed
jabranham opened this issue Jan 16, 2019 · 5 comments
Closed

snd_pcm_oss module not found #54074

jabranham opened this issue Jan 16, 2019 · 5 comments

Comments

@jabranham
Copy link
Contributor

Issue description

The snd_pcm_oss module is not found, resulting in this error on boot:

$ journalctl -b -p err
[...] systemd-modules-load[532]: Failed to find module 'snd_pcm_oss'

I think this is because sound.enableOSSEmulation defaults to True but the corresponding kernel modules don't seem to be compiled anywhere. Or at least not anywhere I could find.

Steps to reproduce

On nixos, set sound.enableOSSEmulation to True (the default), nixos-rebuild switch, reboot, then run journalctl -b -p err

Technical details

$ nix-shell -p nix-info --run "nix-info -m"`
 - system: `"x86_64-linux"`
 - host os: `Linux 4.14.93, NixOS, 18.09.1922.97e0d53d669 (Jellyfish)`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.1.3`
 - channels(root): `"nixos-18.09.1922.97e0d53d669"`
 - channels(alex): `"nixos-19.03pre166308.626233eee6e"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`
@ChengCat
Copy link
Contributor

ChengCat commented Feb 6, 2019

I run into this same issue.

@fpletz fpletz added this to the 19.03 milestone Feb 12, 2019
@lheckemann lheckemann self-assigned this Feb 18, 2019
lheckemann added a commit to mayflower/nixpkgs that referenced this issue Feb 18, 2019
@lheckemann
Copy link
Member

I've made a change that should hopefully fix this (be38a70) but I have yet to test it.

@callahad
Copy link
Member

Are we sure this is a complete fix?

I don't know much about sound daemons on Linux, but I did run across this statement in the Arch wiki (emphasis added):

To prevent applications from using ALSA's OSS emulation and bypassing PulseAudio (thereby preventing other applications from playing sound), make sure the module snd_pcm_oss is not being loaded

Perhaps we also need to check hardware.pulseaudio.enable before inserting snd_pcm_oss into boot.kernelModules at https://github.com/NixOS/nixpkgs/blob/release-18.09/nixos/modules/services/audio/alsa.nix#L100?

I don't know if this is necessary, or really how to test it, but if the Arch wiki is correct, it seems like inserting this module risks breaking pulseaudio.

@callahad
Copy link
Member

(FWIW, snd_pcm_oss was added to boot.kernelModules six years ago in 0262475)

@lheckemann
Copy link
Member

Good point. I'd say enableOSSEmulation should probably default to false regardless of pulseaudio — the OSS emulation hasn't actually been working for a while, and it can be done in a more versatile (e.g. not blocking other sound) way in user space using aoss.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants