diff --git a/nixos/modules/config/pulseaudio.nix b/nixos/modules/config/pulseaudio.nix index 01555d28b73fb..4cc6c4df74631 100644 --- a/nixos/modules/config/pulseaudio.nix +++ b/nixos/modules/config/pulseaudio.nix @@ -17,10 +17,6 @@ let binary = "${getBin overriddenPackage}/bin/pulseaudio"; binaryNoDaemon = "${binary} --daemonize=no"; - # Forces 32bit pulseaudio and alsa-plugins to be built/supported for apps - # using 32bit alsa on 64bit linux. - enable32BitAlsaPlugins = cfg.support32Bit && stdenv.isx86_64 && (pkgs.pkgsi686Linux.alsa-lib != null && pkgs.pkgsi686Linux.libpulseaudio != null); - myConfigFile = let @@ -60,26 +56,22 @@ let # Write an /etc/asound.conf that causes all ALSA applications to # be re-routed to the PulseAudio server through ALSA's Pulse # plugin. - alsaConf = writeText "asound.conf" ('' + alsaConf = writeText "asound.conf" '' pcm_type.pulse { - libs.native = ${pkgs.alsa-plugins}/lib/alsa-lib/libasound_module_pcm_pulse.so ; - ${lib.optionalString enable32BitAlsaPlugins - "libs.32Bit = ${pkgs.pkgsi686Linux.alsa-plugins}/lib/alsa-lib/libasound_module_pcm_pulse.so ;"} + lib ${pkgs.alsa-plugins}/lib/alsa-lib/libasound_module_pcm_pulse.so ; } pcm.!default { type pulse hint.description "Default Audio Device (via PulseAudio)" } ctl_type.pulse { - libs.native = ${pkgs.alsa-plugins}/lib/alsa-lib/libasound_module_ctl_pulse.so ; - ${lib.optionalString enable32BitAlsaPlugins - "libs.32Bit = ${pkgs.pkgsi686Linux.alsa-plugins}/lib/alsa-lib/libasound_module_ctl_pulse.so ;"} + lib ${pkgs.alsa-plugins}/lib/alsa-lib/libasound_module_ctl_pulse.so ; } ctl.!default { type pulse } ${alsaCfg.extraConfig} - ''); + ''; in { @@ -113,8 +105,7 @@ in { type = types.bool; default = false; description = '' - Whether to include the 32-bit pulseaudio libraries in the system or not. - This is only useful on 64-bit systems and currently limited to x86_64-linux. + This option is no longer supported, and will eventually be removed. ''; }; @@ -227,6 +218,11 @@ in { } (mkIf cfg.enable { + assertions = [{ + assertion = !cfg.support32Bit; + message = "`hardware.pulseaudio.support32Bit` is no longer supported."; + }]; + environment.systemPackages = [ overriddenPackage ]; sound.enable = true; diff --git a/nixos/modules/programs/steam.nix b/nixos/modules/programs/steam.nix index ff4deba2bf0ae..2bde9a0999277 100644 --- a/nixos/modules/programs/steam.nix +++ b/nixos/modules/programs/steam.nix @@ -39,9 +39,6 @@ in { driSupport32Bit = true; }; - # optionally enable 32bit pulseaudio support if pulseaudio is enabled - hardware.pulseaudio.support32Bit = config.hardware.pulseaudio.enable; - hardware.steam-hardware.enable = true; environment.systemPackages = [ steam steam.run ]; diff --git a/nixos/modules/services/audio/jack.nix b/nixos/modules/services/audio/jack.nix index 84fc9957b879f..f2ccd73ed382a 100644 --- a/nixos/modules/services/audio/jack.nix +++ b/nixos/modules/services/audio/jack.nix @@ -8,8 +8,6 @@ let pcmPlugin = cfg.jackd.enable && cfg.alsa.enable; loopback = cfg.jackd.enable && cfg.loopback.enable; - enable32BitAlsaPlugins = cfg.alsa.support32Bit && pkgs.stdenv.isx86_64 && pkgs.pkgsi686Linux.alsa-lib != null; - umaskNeeded = versionOlder cfg.jackd.package.version "1.9.12"; bridgeNeeded = versionAtLeast cfg.jackd.package.version "1.9.12"; in { @@ -67,7 +65,7 @@ in { type = types.bool; default = false; description = '' - Whether to support sound for 32-bit ALSA applications on 64-bit system. + This option is no longer supported, and will eventually be removed. ''; }; }; @@ -129,9 +127,7 @@ in { (mkIf pcmPlugin { sound.extraConfig = '' pcm_type.jack { - libs.native = ${pkgs.alsa-plugins}/lib/alsa-lib/libasound_module_pcm_jack.so ; - ${lib.optionalString enable32BitAlsaPlugins - "libs.32Bit = ${pkgs.pkgsi686Linux.alsa-plugins}/lib/alsa-lib/libasound_module_pcm_jack.so ;"} + lib ${pkgs.alsa-plugins}/lib/alsa-lib/libasound_module_pcm_jack.so ; } pcm.!default { @func getenv @@ -217,6 +213,10 @@ in { assertion = !(cfg.alsa.enable && cfg.loopback.enable); message = "For JACK both alsa and loopback options shouldn't be used at the same time."; } + { + assertion = !cfg.alsa.support32Bit; + message = "`services.jack.alsa.support32Bit` is no longer supported."; + } ]; users.users.jackaudio = { diff --git a/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix b/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix index f7a03a4a3eaf1..d7ead0464fd88 100644 --- a/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix +++ b/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix @@ -6,9 +6,6 @@ with lib; let json = pkgs.formats.json {}; cfg = config.services.pipewire.media-session; - enable32BitAlsaPlugins = cfg.alsa.support32Bit - && pkgs.stdenv.isx86_64 - && pkgs.pkgsi686Linux.pipewire != null; # Use upstream config files passed through spa-json-dump as the base # Patched here as necessary for them to work with this module diff --git a/nixos/modules/services/desktops/pipewire/pipewire.nix b/nixos/modules/services/desktops/pipewire/pipewire.nix index c3cfd46e61c21..1a3ef1e7954f4 100644 --- a/nixos/modules/services/desktops/pipewire/pipewire.nix +++ b/nixos/modules/services/desktops/pipewire/pipewire.nix @@ -6,9 +6,6 @@ with lib; let json = pkgs.formats.json {}; cfg = config.services.pipewire; - enable32BitAlsaPlugins = cfg.alsa.support32Bit - && pkgs.stdenv.isx86_64 - && pkgs.pkgsi686Linux.pipewire != null; # The package doesn't output to $out/lib/pipewire directly so that the # overlays can use the outputs to replace the originals in FHS environments. @@ -115,7 +112,7 @@ in { alsa = { enable = mkEnableOption "ALSA support"; - support32Bit = mkEnableOption "32-bit ALSA support on 64-bit systems"; + support32Bit = mkEnableOption "This option is no longer supported, and will eventually be removed"; }; jack = { @@ -156,6 +153,10 @@ in { assertion = cfg.jack.enable -> !config.services.jack.jackd.enable; message = "PipeWire based JACK emulation doesn't use the JACK service. This option requires `services.jack.jackd.enable` to be set to false"; } + { + assertion = !cfg.alsa.support32Bit; + message = "`services.pipewire.alsa.support32Bit` is no longer supported."; + } ]; environment.systemPackages = [ cfg.package ] @@ -186,14 +187,10 @@ in { environment.etc."alsa/conf.d/49-pipewire-modules.conf" = mkIf cfg.alsa.enable { text = '' pcm_type.pipewire { - libs.native = ${cfg.package.lib}/lib/alsa-lib/libasound_module_pcm_pipewire.so ; - ${optionalString enable32BitAlsaPlugins - "libs.32Bit = ${pkgs.pkgsi686Linux.pipewire.lib}/lib/alsa-lib/libasound_module_pcm_pipewire.so ;"} + lib ${cfg.package.lib}/lib/alsa-lib/libasound_module_pcm_pipewire.so ; } ctl_type.pipewire { - libs.native = ${cfg.package.lib}/lib/alsa-lib/libasound_module_ctl_pipewire.so ; - ${optionalString enable32BitAlsaPlugins - "libs.32Bit = ${pkgs.pkgsi686Linux.pipewire.lib}/lib/alsa-lib/libasound_module_ctl_pipewire.so ;"} + lib ${cfg.package.lib}/lib/alsa-lib/libasound_module_ctl_pipewire.so ; } ''; }; diff --git a/nixos/tests/installed-tests/pipewire.nix b/nixos/tests/installed-tests/pipewire.nix index b04265658fcf4..b92bd8283ee06 100644 --- a/nixos/tests/installed-tests/pipewire.nix +++ b/nixos/tests/installed-tests/pipewire.nix @@ -9,7 +9,6 @@ makeInstalledTest { pulse.enable = true; jack.enable = true; alsa.enable = true; - alsa.support32Bit = true; }; }; } diff --git a/nixos/tests/pulseaudio.nix b/nixos/tests/pulseaudio.nix index 4e2ce679acd71..155b1115eb514 100644 --- a/nixos/tests/pulseaudio.nix +++ b/nixos/tests/pulseaudio.nix @@ -33,7 +33,6 @@ let imports = [ ./common/wayland-cage.nix ]; hardware.pulseaudio = { enable = true; - support32Bit = true; inherit systemWide; }; diff --git a/pkgs/games/steam/fhsenv.nix b/pkgs/games/steam/fhsenv.nix index 8c379959ad8b0..a8d49938b8f27 100644 --- a/pkgs/games/steam/fhsenv.nix +++ b/pkgs/games/steam/fhsenv.nix @@ -299,7 +299,6 @@ in buildFHSUserEnv rec { and then run \`sudo nixos-rebuild switch\`: { hardware.opengl.driSupport32Bit = true; - hardware.pulseaudio.support32Bit = true; } ** EOF