pipewire: use strictly upstream defaults
This commit is contained in:
parent
0fd29f6ce0
commit
b9b9fff6d6
@ -56,8 +56,8 @@ in {
|
|||||||
properties = {
|
properties = {
|
||||||
# Properties to configure the session and some
|
# Properties to configure the session and some
|
||||||
# modules
|
# modules
|
||||||
#mem.mlock-all = false
|
#mem.mlock-all = false;
|
||||||
#context.profile.modules = default,rtkit
|
#context.profile.modules = "default,rtkit";
|
||||||
};
|
};
|
||||||
|
|
||||||
spa-libs = {
|
spa-libs = {
|
||||||
@ -141,14 +141,14 @@ in {
|
|||||||
# actions can update properties on the matched object.
|
# actions can update properties on the matched object.
|
||||||
update-props = {
|
update-props = {
|
||||||
api.alsa.use-acp = true;
|
api.alsa.use-acp = true;
|
||||||
#api.alsa.use-ucm = true
|
#api.alsa.use-ucm = true;
|
||||||
#api.alsa.soft-mixer = false
|
#api.alsa.soft-mixer = false;
|
||||||
#api.alsa.ignore-dB = false
|
#api.alsa.ignore-dB = false;
|
||||||
#device.profile-set = "profileset-name"
|
#device.profile-set = "profileset-name";
|
||||||
#device.profile = "default profile name"
|
#device.profile = "default profile name";
|
||||||
api.acp.auto-profile = false;
|
api.acp.auto-profile = false;
|
||||||
api.acp.auto-port = false;
|
api.acp.auto-port = false;
|
||||||
#device.nick = "My Device"
|
#device.nick = "My Device";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -165,22 +165,22 @@ in {
|
|||||||
];
|
];
|
||||||
actions = {
|
actions = {
|
||||||
update-props = {
|
update-props = {
|
||||||
#node.nick = "My Node"
|
#node.nick = "My Node";
|
||||||
#node.nick = null
|
#node.nick = null;
|
||||||
#priority.driver = 100
|
#priority.driver = 100;
|
||||||
#priority.session = 100
|
#priority.session = 100;
|
||||||
#node.pause-on-idle = false
|
#node.pause-on-idle = false;
|
||||||
#resample.quality = 4
|
#resample.quality = 4;
|
||||||
#channelmix.normalize = false
|
#channelmix.normalize = false;
|
||||||
#channelmix.mix-lfe = false
|
#channelmix.mix-lfe = false;
|
||||||
#audio.channels = 2
|
#audio.channels = 2;
|
||||||
#audio.format = "S16LE"
|
#audio.format = "S16LE";
|
||||||
#audio.rate = 44100
|
#audio.rate = 44100;
|
||||||
#audio.position = "FL,FR"
|
#audio.position = "FL,FR";
|
||||||
#api.alsa.period-size = 1024
|
#api.alsa.period-size = 1024;
|
||||||
#api.alsa.headroom = 0
|
#api.alsa.headroom = 0;
|
||||||
#api.alsa.disable-mmap = false
|
#api.alsa.disable-mmap = false;
|
||||||
#api.alsa.disable-batch = false
|
#api.alsa.disable-batch = false;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -197,8 +197,8 @@ in {
|
|||||||
# bluez-monitor config file
|
# bluez-monitor config file
|
||||||
properties = {
|
properties = {
|
||||||
# msbc is not expected to work on all headset + adapter combinations.
|
# msbc is not expected to work on all headset + adapter combinations.
|
||||||
#bluez5.msbc-support = true
|
#bluez5.msbc-support = true;
|
||||||
#bluez5.sbc-xq-support = true
|
#bluez5.sbc-xq-support = true;
|
||||||
|
|
||||||
# Enabled headset roles (default: [ hsp_hs hfp_ag ]), this
|
# Enabled headset roles (default: [ hsp_hs hfp_ag ]), this
|
||||||
# property only applies to native backend. Currently some headsets
|
# property only applies to native backend. Currently some headsets
|
||||||
@ -208,10 +208,10 @@ in {
|
|||||||
# Supported headset roles: hsp_hs (HSP Headset),
|
# Supported headset roles: hsp_hs (HSP Headset),
|
||||||
# hsp_ag (HSP Audio Gateway),
|
# hsp_ag (HSP Audio Gateway),
|
||||||
# hfp_ag (HFP Audio Gateway)
|
# hfp_ag (HFP Audio Gateway)
|
||||||
#bluez5.headset-roles = [ hsp_hs hsp_ag hfp_ag ]
|
#bluez5.headset-roles = [ "hsp_hs" "hsp_ag" "hfp_ag" ];
|
||||||
|
|
||||||
# Enabled A2DP codecs (default: all)
|
# Enabled A2DP codecs (default: all)
|
||||||
#bluez5.codecs = [ sbc aac ldac aptx aptx_hd ]
|
#bluez5.codecs = [ "sbc" "aac" "ldac" "aptx" "aptx_hd" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
rules = [
|
rules = [
|
||||||
@ -229,7 +229,7 @@ in {
|
|||||||
actions = {
|
actions = {
|
||||||
# actions can update properties on the matched object.
|
# actions can update properties on the matched object.
|
||||||
update-props = {
|
update-props = {
|
||||||
#device.nick = "My Device"
|
#device.nick = "My Device";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -247,13 +247,13 @@ in {
|
|||||||
actions = {
|
actions = {
|
||||||
update-props = {
|
update-props = {
|
||||||
#node.nick = "My Node"
|
#node.nick = "My Node"
|
||||||
#node.nick = null
|
#node.nick = null;
|
||||||
#priority.driver = 100
|
#priority.driver = 100;
|
||||||
#priority.session = 100
|
#priority.session = 100;
|
||||||
#node.pause-on-idle = false
|
#node.pause-on-idle = false;
|
||||||
#resample.quality = 4
|
#resample.quality = 4;
|
||||||
#channelmix.normalize = false
|
#channelmix.normalize = false;
|
||||||
#channelmix.mix-lfe = false
|
#channelmix.mix-lfe = false;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -286,7 +286,7 @@ in {
|
|||||||
actions = {
|
actions = {
|
||||||
# actions can update properties on the matched object.
|
# actions can update properties on the matched object.
|
||||||
update-props = {
|
update-props = {
|
||||||
#device.nick = "My Device"
|
#device.nick = "My Device";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -303,11 +303,11 @@ in {
|
|||||||
];
|
];
|
||||||
actions = {
|
actions = {
|
||||||
update-props = {
|
update-props = {
|
||||||
#node.nick = "My Node"
|
#node.nick = "My Node";
|
||||||
#node.nick = null
|
#node.nick = null;
|
||||||
#priority.driver = 100
|
#priority.driver = 100;
|
||||||
#priority.session = 100
|
#priority.session = 100;
|
||||||
#node.pause-on-idle = true
|
#node.pause-on-idle = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -75,22 +75,22 @@ in {
|
|||||||
#
|
#
|
||||||
# "library.name.system" = "support/libspa-support";
|
# "library.name.system" = "support/libspa-support";
|
||||||
# "context.data-loop.library.name.system" = "support/libspa-support";
|
# "context.data-loop.library.name.system" = "support/libspa-support";
|
||||||
"link.max-buffers" = 64; # version < 3 clients can't handle more than 16
|
"link.max-buffers" = 16; # version < 3 clients can't handle more than 16
|
||||||
"mem.allow-mlock" = true;
|
#"mem.allow-mlock" = false;
|
||||||
"mem.mlock-all" = true;
|
#"mem.mlock-all" = true;
|
||||||
# https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/master/src/pipewire/pipewire.h#L93
|
## https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/master/src/pipewire/pipewire.h#L93
|
||||||
"log.level" = 3; # 5 is trace, which is verbose as hell, default is 2 which is warnings, 4 is debug output, 3 is info
|
#"log.level" = 2; # 5 is trace, which is verbose as hell, default is 2 which is warnings, 4 is debug output, 3 is info
|
||||||
|
|
||||||
## Properties for the DSP configuration
|
## Properties for the DSP configuration
|
||||||
#
|
#
|
||||||
"default.clock.rate" = 48000; # 48000 is probably saner, 96000 has gaps in audio
|
#"default.clock.rate" = 48000;
|
||||||
"default.clock.quantum" = 128; # equivalent to buffer size which is correlated to latency
|
#"default.clock.quantum" = 1024;
|
||||||
"default.clock.min-quantum" = 32; # No audio through bluetooth if 512 isn't allowed, 16 is the absolute minimum
|
#"default.clock.min-quantum" = 32;
|
||||||
"default.clock.max-quantum" = 1024; # qemu seems to use 16384 but 8192 is the absolute maximum
|
#"default.clock.max-quantum" = 8192;
|
||||||
# "default.video.width" = 640;
|
#"default.video.width" = 640;
|
||||||
# "default.video.height" = 480;
|
#"default.video.height" = 480;
|
||||||
# "default.video.rate.num" = 25;
|
#"default.video.rate.num" = 25;
|
||||||
# "default.video.rate.denom" = 1;
|
#"default.video.rate.denom" = 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
spa-libs = {
|
spa-libs = {
|
||||||
@ -123,10 +123,10 @@ in {
|
|||||||
#
|
#
|
||||||
libpipewire-module-rtkit = {
|
libpipewire-module-rtkit = {
|
||||||
args = {
|
args = {
|
||||||
rt.prio = 20;
|
#rt.prio = 20;
|
||||||
rt.time.soft = 200000;
|
#rt.time.soft = 200000;
|
||||||
rt.time.hard = 200000;
|
#rt.time.hard = 200000;
|
||||||
nice.level = -11;
|
#nice.level = -11;
|
||||||
};
|
};
|
||||||
flags = "ifexists|nofail";
|
flags = "ifexists|nofail";
|
||||||
};
|
};
|
||||||
|
@ -128,7 +128,7 @@ let
|
|||||||
moveToOutput "bin/pipewire-media-session" "$mediaSession"
|
moveToOutput "bin/pipewire-media-session" "$mediaSession"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
passthru = {
|
passthru.tests = {
|
||||||
installedTests = nixosTests.installed-tests.pipewire;
|
installedTests = nixosTests.installed-tests.pipewire;
|
||||||
|
|
||||||
# This ensures that all the paths used by the NixOS module are found.
|
# This ensures that all the paths used by the NixOS module are found.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user