NixOS on ARM/Raspberry Pi 4: Difference between revisions

RobH (talk | contribs)
Configuration: Soften recommendation to use hardware channel. Modern kernel can work as well or better for audio.
RobH (talk | contribs)
Audio: Update instructions for enabling audio. The old ones were broken.
Line 136: Line 136:


{{file|/etc/nixos/configuration.nix|nix|<nowiki>
{{file|/etc/nixos/configuration.nix|nix|<nowiki>
   sound.enable = true;
{
  hardware.pulseaudio.enable = true;
  # Enable audio devices
   hardware.raspberry-pi."4".audio.enable = true;
   boot.kernelParams = [ "snd_bcm2835.enable_hdmi=1" "snd_bcm2835.enable_headphones=1" ];
   boot.loader.raspberryPi.firmwareConfig = ''
    dtparam=audio=on
  '';
}
</nowiki>}}
</nowiki>}}


For audio through hdmi:
If you're running headless, you can also disable HDMI audio and force use of the headphones jack by adding <code>hdmi_ignore_edid_audio=1</code> on a line below <code>dtparam=audio=on</code>.
 
{{file|/etc/nixos/configuration.nix|nix|<nowiki>
  sound.enable = true;
  hardware.pulseaudio.enable = true;
  boot.kernelParams = [
"snd_bcm2835.enable_hdmi=1"];
</nowiki>}}


=== Using GPIO pins as non-root ===
=== Using GPIO pins as non-root ===