hosts/eldrid/cb-audio-fix: update
Signed-off-by: unexplrd <unexplrd@linerds.us>
This commit is contained in:
@ -1,20 +1,47 @@
|
||||
{pkgs, ...}: let
|
||||
cb-ucm-conf = pkgs.alsa-ucm-conf.overrideAttrs {
|
||||
wttsrc = pkgs.fetchFromGitHub {
|
||||
owner = "WeirdTreeThing";
|
||||
repo = "chromebook-ucm-conf";
|
||||
rev = "b6ce2a7";
|
||||
hash = "sha256-QRUKHd3RQmg1tnZU8KCW0AmDtfw/daOJ/H3XU5qWTCc=";
|
||||
cb-ucm-conf = with pkgs;
|
||||
alsa-ucm-conf.overrideAttrs {
|
||||
wttsrc = fetchFromGitHub {
|
||||
owner = "WeirdTreeThing";
|
||||
repo = "alsa-ucm-conf-cros";
|
||||
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 {
|
||||
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 = [
|
||||
{
|
||||
original = pkgs.alsa-ucm-conf;
|
||||
@ -22,6 +49,10 @@ in {
|
||||
}
|
||||
];
|
||||
|
||||
boot.extraModprobeConfig = ''
|
||||
options snd-intel-dspcfg dsp_driver=3
|
||||
'';
|
||||
|
||||
services.pipewire.wireplumber.configPackages = [
|
||||
(pkgs.writeTextDir "share/wireplumber/main.lua.d/51-increase-headroom.lua" ''
|
||||
rule = {
|
||||
@ -37,10 +68,19 @@ in {
|
||||
|
||||
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