hosts/eldrid/cb-audio-fix: update
Signed-off-by: unexplrd <unexplrd@linerds.us>
This commit is contained in:
@ -1,20 +1,47 @@
|
|||||||
{pkgs, ...}: let
|
{pkgs, ...}: let
|
||||||
cb-ucm-conf = pkgs.alsa-ucm-conf.overrideAttrs {
|
cb-ucm-conf = with pkgs;
|
||||||
wttsrc = pkgs.fetchFromGitHub {
|
alsa-ucm-conf.overrideAttrs {
|
||||||
owner = "WeirdTreeThing";
|
wttsrc = fetchFromGitHub {
|
||||||
repo = "chromebook-ucm-conf";
|
owner = "WeirdTreeThing";
|
||||||
rev = "b6ce2a7";
|
repo = "alsa-ucm-conf-cros";
|
||||||
hash = "sha256-QRUKHd3RQmg1tnZU8KCW0AmDtfw/daOJ/H3XU5qWTCc=";
|
rev = "a4f0ed6cf59163fb571c33a81a6b40b6f53ed57d";
|
||||||
|
hash = "sha256-H0BsRzHSEJ6XCZB/Rvb3w+uGCzr+kAvAwcHWqYEtp6w=";
|
||||||
|
};
|
||||||
|
unpackPhase = ''
|
||||||
|
runHook preUnpack
|
||||||
|
tar xf "$src"
|
||||||
|
runHook postUnpack
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
mkdir -p $out/share/alsa
|
||||||
|
cp -r alsa-ucm*/ucm2 $out/share/alsa
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
postInstall = ''
|
|
||||||
cp -R $wttsrc/common/* $out/share/alsa/ucm2/common
|
|
||||||
cp -R $wttsrc/codecs/* $out/share/alsa/ucm2/codecs
|
|
||||||
cp -R $wttsrc/platforms/* $out/share/alsa/ucm2/platforms
|
|
||||||
cp -R $wttsrc/sof-rt5682 $out/share/alsa/ucm2/conf.d
|
|
||||||
cp -R $wttsrc/sof-cs42l42 $out/share/alsa/ucm2/conf.d
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
in {
|
in {
|
||||||
|
environment = {
|
||||||
|
systemPackages = [pkgs.sof-firmware];
|
||||||
|
sessionVariables.ALSA_CONFIG_UCM2 = "${cb-ucm-conf}/share/alsa/ucm2";
|
||||||
|
etc = {
|
||||||
|
"wireplumber/main.lua.d/51-increase-headroom.lua".text = ''
|
||||||
|
rule = {
|
||||||
|
matches = {
|
||||||
|
{
|
||||||
|
{ "node.name", "matches", "alsa_output.*" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
apply_properties = {
|
||||||
|
["api.alsa.headroom"] = 4096,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
table.insert(alsa_monitor.rules,rule)
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
system.replaceDependencies.replacements = [
|
system.replaceDependencies.replacements = [
|
||||||
{
|
{
|
||||||
original = pkgs.alsa-ucm-conf;
|
original = pkgs.alsa-ucm-conf;
|
||||||
@ -22,6 +49,10 @@ in {
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
|
boot.extraModprobeConfig = ''
|
||||||
|
options snd-intel-dspcfg dsp_driver=3
|
||||||
|
'';
|
||||||
|
|
||||||
services.pipewire.wireplumber.configPackages = [
|
services.pipewire.wireplumber.configPackages = [
|
||||||
(pkgs.writeTextDir "share/wireplumber/main.lua.d/51-increase-headroom.lua" ''
|
(pkgs.writeTextDir "share/wireplumber/main.lua.d/51-increase-headroom.lua" ''
|
||||||
rule = {
|
rule = {
|
||||||
@ -37,10 +68,19 @@ in {
|
|||||||
|
|
||||||
table.insert(alsa_monitor.rules,rule)
|
table.insert(alsa_monitor.rules,rule)
|
||||||
'')
|
'')
|
||||||
|
(pkgs.writeTextDir "share/wireplumber/main.lua.d/51-avs-dmic.lua" ''
|
||||||
|
rule = {
|
||||||
|
matches = {
|
||||||
|
{
|
||||||
|
{ "node.nick", "equals", "Internal Microphone" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
apply_properties = {
|
||||||
|
["audio.format"] = "S16LE",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
table.insert(alsa_monitor.rules, rule)
|
||||||
|
'')
|
||||||
];
|
];
|
||||||
boot = {
|
|
||||||
extraModprobeConfig = ''
|
|
||||||
options snd-intel-dspcfg dsp_driver=3
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user