Compare commits
1 Commits
master
...
fork/alsa-
Author | SHA1 | Date | |
---|---|---|---|
0cc2295233 |
|
@ -72,14 +72,5 @@
|
||||||
# enable rotation sensor
|
# enable rotation sensor
|
||||||
hardware.sensor.iio.enable = true;
|
hardware.sensor.iio.enable = true;
|
||||||
|
|
||||||
# from https://gitlab.manjaro.org/manjaro-arm/packages/community/phosh/alsa-ucm-pinephone
|
|
||||||
# mobile-nixos does this same thing, with *slightly different settings*.
|
|
||||||
# i trust manjaro more because the guy maintaining that is actively trying to upstream into alsa-ucm-conf.
|
|
||||||
# an alternative may be to build a custom alsa with the PinePhone config patch applied:
|
|
||||||
# - <https://github.com/alsa-project/alsa-ucm-conf/pull/134>
|
|
||||||
# that would make this be not device-specific
|
|
||||||
environment.variables.ALSA_CONFIG_UCM2 = "${./ucm2}";
|
|
||||||
systemd.services.pulseaudio.environment.ALSA_CONFIG_UCM2 = "${./ucm2}";
|
|
||||||
|
|
||||||
users.groups.feedbackd.gid = config.sane.allocations.feedbackd-gid;
|
users.groups.feedbackd.gid = config.sane.allocations.feedbackd-gid;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,148 +0,0 @@
|
||||||
SectionVerb {
|
|
||||||
EnableSequence [
|
|
||||||
cset "name='Headphone Playback Switch' off"
|
|
||||||
cset "name='Headphone Source Playback Route' DAC"
|
|
||||||
cset "name='Line In Playback Switch' off"
|
|
||||||
cset "name='Line Out Playback Switch' off"
|
|
||||||
cset "name='Line Out Source Playback Route' Mono Differential"
|
|
||||||
cset "name='Mic1 Playback Switch' off"
|
|
||||||
cset "name='Mic2 Playback Switch' off"
|
|
||||||
cset "name='AIF1 DA0 Playback Volume' 160"
|
|
||||||
cset "name='AIF3 ADC Source Capture Route' None"
|
|
||||||
cset "name='AIF2 DAC Source Playback Route' AIF2"
|
|
||||||
cset "name='DAC Playback Switch' on"
|
|
||||||
cset "name='DAC Playback Volume' 160"
|
|
||||||
cset "name='ADC Digital DAC Playback Switch' off"
|
|
||||||
cset "name='AIF1 Slot 0 Digital DAC Playback Switch' on"
|
|
||||||
cset "name='AIF2 Digital DAC Playback Switch' off"
|
|
||||||
cset "name='DAC Reversed Playback Switch' off"
|
|
||||||
cset "name='Earpiece Playback Switch' off"
|
|
||||||
cset "name='Earpiece Source Playback Route' DACL"
|
|
||||||
|
|
||||||
cset "name='Line In Capture Switch' off"
|
|
||||||
cset "name='Mic1 Capture Switch' off"
|
|
||||||
cset "name='Mic1 Boost Volume' 7"
|
|
||||||
cset "name='Mic2 Capture Switch' off"
|
|
||||||
cset "name='Mic2 Boost Volume' 7"
|
|
||||||
cset "name='Mixer Capture Switch' off"
|
|
||||||
cset "name='Mixer Reversed Capture Switch' off"
|
|
||||||
cset "name='ADC Capture Volume' 160"
|
|
||||||
cset "name='ADC Gain Capture Volume' 7"
|
|
||||||
cset "name='AIF1 AD0 Capture Volume' 160"
|
|
||||||
cset "name='AIF1 Data Digital ADC Capture Switch' on"
|
|
||||||
cset "name='AIF2 ADC Mixer ADC Capture Switch' off"
|
|
||||||
cset "name='AIF2 ADC Mixer AIF1 DA0 Capture Switch' off"
|
|
||||||
cset "name='AIF2 ADC Mixer AIF2 DAC Rev Capture Switch' off"
|
|
||||||
cset "name='AIF2 ADC Mixer AIF1 DA0 Capture Switch' off"
|
|
||||||
cset "name='AIF2 ADC Mixer AIF1 DA0 Capture Switch' off"
|
|
||||||
]
|
|
||||||
|
|
||||||
DisableSequence [
|
|
||||||
]
|
|
||||||
|
|
||||||
Value {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
SectionDevice."Speaker" {
|
|
||||||
Comment "Internal speaker"
|
|
||||||
EnableSequence [
|
|
||||||
cset "name='AIF1 DA0 Stereo Playback Route' Mix Mono"
|
|
||||||
cset "name='Line Out Playback Switch' on"
|
|
||||||
cset "name='Line Out Playback Volume' 100%"
|
|
||||||
]
|
|
||||||
|
|
||||||
DisableSequence [
|
|
||||||
cset "name='Line Out Playback Switch' off"
|
|
||||||
]
|
|
||||||
|
|
||||||
Value {
|
|
||||||
PlaybackVolume "Line Out Playback Volume"
|
|
||||||
PlaybackSwitch "Line Out Playback Switch"
|
|
||||||
PlaybackChannels 2
|
|
||||||
PlaybackPriority 300
|
|
||||||
PlaybackPCM "hw:${CardId},0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
SectionDevice."Earpiece" {
|
|
||||||
Comment "Internal Earpiece"
|
|
||||||
EnableSequence [
|
|
||||||
cset "name='AIF1 DA0 Stereo Playback Route' Mix Mono"
|
|
||||||
cset "name='Earpiece Playback Switch' on"
|
|
||||||
cset "name='Earpiece Playback Volume' 100%"
|
|
||||||
]
|
|
||||||
|
|
||||||
DisableSequence [
|
|
||||||
cset "name='Earpiece Playback Switch' off"
|
|
||||||
]
|
|
||||||
|
|
||||||
Value {
|
|
||||||
PlaybackVolume "Earpiece Playback Volume"
|
|
||||||
PlaybackSwitch "Earpiece Playback Switch"
|
|
||||||
PlaybackChannels 2
|
|
||||||
PlaybackPriority 200
|
|
||||||
PlaybackPCM "hw:${CardId},0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
SectionDevice."Mic" {
|
|
||||||
Comment "Internal Microphone"
|
|
||||||
ConflictingDevice [
|
|
||||||
"Headset"
|
|
||||||
]
|
|
||||||
EnableSequence [
|
|
||||||
cset "name='Mic1 Capture Switch' on"
|
|
||||||
]
|
|
||||||
DisableSequence [
|
|
||||||
cset "name='Mic1 Capture Switch' off"
|
|
||||||
]
|
|
||||||
Value {
|
|
||||||
CapturePriority 100
|
|
||||||
CapturePCM "hw:${CardId},0"
|
|
||||||
CaptureChannels 2
|
|
||||||
CaptureMixerElem "ADC"
|
|
||||||
CaptureVolume "ADC Capture Volume"
|
|
||||||
CaptureSwitch "Mic1 Capture Switch"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
SectionDevice."Headset" {
|
|
||||||
Comment "Headset Microphone"
|
|
||||||
ConflictingDevice [
|
|
||||||
"Mic"
|
|
||||||
]
|
|
||||||
EnableSequence [
|
|
||||||
cset "name='Mic2 Capture Switch' on"
|
|
||||||
]
|
|
||||||
DisableSequence [
|
|
||||||
cset "name='Mic2 Capture Switch' off"
|
|
||||||
]
|
|
||||||
Value {
|
|
||||||
CapturePriority 500
|
|
||||||
CapturePCM "hw:${CardId},0"
|
|
||||||
CaptureChannels 2
|
|
||||||
CaptureMixerElem "ADC"
|
|
||||||
CaptureVolume "ADC Capture Volume"
|
|
||||||
CaptureSwitch "Mic2 Capture Switch"
|
|
||||||
JackControl "Headset Microphone Jack"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
SectionDevice."Headphones" {
|
|
||||||
Comment "Headphones"
|
|
||||||
EnableSequence [
|
|
||||||
cset "name='AIF1 DA0 Stereo Playback Route' Stereo"
|
|
||||||
cset "name='Headphone Playback Switch' on"
|
|
||||||
cset "name='Headphone Playback Volume' 70%"
|
|
||||||
]
|
|
||||||
|
|
||||||
DisableSequence [
|
|
||||||
cset "name='Headphone Playback Switch' off"
|
|
||||||
]
|
|
||||||
|
|
||||||
Value {
|
|
||||||
PlaybackVolume "Headphone Playback Volume"
|
|
||||||
PlaybackSwitch "Headphone Playback Switch"
|
|
||||||
PlaybackChannels 2
|
|
||||||
PlaybackPriority 500
|
|
||||||
PlaybackPCM "hw:${CardId},0"
|
|
||||||
JackControl "Headphone Jack"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,11 +0,0 @@
|
||||||
Syntax 2
|
|
||||||
|
|
||||||
SectionUseCase."HiFi" {
|
|
||||||
File "HiFi.conf"
|
|
||||||
Comment "Default"
|
|
||||||
}
|
|
||||||
|
|
||||||
SectionUseCase."Voice Call" {
|
|
||||||
File "VoiceCall.conf"
|
|
||||||
Comment "Phone call"
|
|
||||||
}
|
|
|
@ -1,153 +0,0 @@
|
||||||
SectionVerb {
|
|
||||||
EnableSequence [
|
|
||||||
cset "name='Headphone Playback Switch' off"
|
|
||||||
cset "name='Headphone Source Playback Route' DAC"
|
|
||||||
cset "name='Line In Playback Switch' off"
|
|
||||||
cset "name='Line Out Playback Switch' off"
|
|
||||||
cset "name='Line Out Source Playback Route' Mono Differential"
|
|
||||||
cset "name='Mic1 Playback Switch' off"
|
|
||||||
cset "name='Mic2 Playback Switch' off"
|
|
||||||
cset "name='AIF1 DA0 Playback Volume' 160"
|
|
||||||
cset "name='AIF2 DAC Playback Volume' 160"
|
|
||||||
cset "name='AIF3 ADC Source Capture Route' None"
|
|
||||||
cset "name='AIF2 DAC Source Playback Route' AIF2"
|
|
||||||
cset "name='DAC Playback Switch' on"
|
|
||||||
cset "name='DAC Playback Volume' 160"
|
|
||||||
cset "name='ADC Digital DAC Playback Switch' off"
|
|
||||||
cset "name='AIF1 Slot 0 Digital DAC Playback Switch' on"
|
|
||||||
cset "name='AIF2 Digital DAC Playback Switch' on"
|
|
||||||
cset "name='DAC Reversed Playback Switch' off"
|
|
||||||
cset "name='Earpiece Playback Switch' off"
|
|
||||||
cset "name='Earpiece Source Playback Route' DACL"
|
|
||||||
|
|
||||||
cset "name='Line In Capture Switch' off"
|
|
||||||
cset "name='Mic1 Capture Switch' off"
|
|
||||||
cset "name='Mic1 Boost Volume' 0"
|
|
||||||
cset "name='Mic1 Playback Volume' 7"
|
|
||||||
cset "name='Mic2 Capture Switch' off"
|
|
||||||
cset "name='Mic2 Boost Volume' 0"
|
|
||||||
cset "name='Mic2 Playback Volume' 7"
|
|
||||||
cset "name='Mixer Capture Switch' off"
|
|
||||||
cset "name='Mixer Reversed Capture Switch' off"
|
|
||||||
cset "name='ADC Capture Volume' 160"
|
|
||||||
cset "name='ADC Gain Capture Volume' 7"
|
|
||||||
cset "name='AIF1 AD0 Capture Volume' 160"
|
|
||||||
cset "name='AIF1 Data Digital ADC Capture Switch' on"
|
|
||||||
cset "name='AIF2 ADC Capture Volume' 160"
|
|
||||||
cset "name='AIF2 ADC Mixer ADC Capture Switch' on"
|
|
||||||
cset "name='AIF2 ADC Mixer AIF1 DA0 Capture Switch' off"
|
|
||||||
cset "name='AIF2 ADC Mixer AIF2 DAC Rev Capture Switch' off"
|
|
||||||
cset "name='AIF2 ADC Mixer AIF1 DA0 Capture Switch' off"
|
|
||||||
cset "name='AIF2 ADC Mixer AIF1 DA0 Capture Switch' off"
|
|
||||||
]
|
|
||||||
|
|
||||||
DisableSequence [
|
|
||||||
]
|
|
||||||
|
|
||||||
Value {
|
|
||||||
PlaybackRate 8000
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
SectionDevice."Speaker" {
|
|
||||||
Comment "Internal speaker"
|
|
||||||
EnableSequence [
|
|
||||||
cset "name='AIF1 DA0 Stereo Playback Route' Mix Mono"
|
|
||||||
cset "name='Line Out Playback Switch' on"
|
|
||||||
cset "name='Line Out Playback Volume' 100%"
|
|
||||||
]
|
|
||||||
|
|
||||||
DisableSequence [
|
|
||||||
cset "name='Line Out Playback Switch' off"
|
|
||||||
]
|
|
||||||
|
|
||||||
Value {
|
|
||||||
PlaybackVolume "Line Out Playback Volume"
|
|
||||||
PlaybackSwitch "Line Out Playback Switch"
|
|
||||||
PlaybackChannels 2
|
|
||||||
PlaybackPriority 300
|
|
||||||
PlaybackPCM "hw:${CardId},0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
SectionDevice."Earpiece" {
|
|
||||||
Comment "Internal Earpiece"
|
|
||||||
EnableSequence [
|
|
||||||
cset "name='AIF1 DA0 Stereo Playback Route' Mix Mono"
|
|
||||||
cset "name='Earpiece Playback Switch' on"
|
|
||||||
cset "name='Earpiece Playback Volume' 100%"
|
|
||||||
]
|
|
||||||
|
|
||||||
DisableSequence [
|
|
||||||
cset "name='Earpiece Playback Switch' off"
|
|
||||||
]
|
|
||||||
|
|
||||||
Value {
|
|
||||||
PlaybackVolume "Earpiece Playback Volume"
|
|
||||||
PlaybackSwitch "Earpiece Playback Switch"
|
|
||||||
PlaybackChannels 2
|
|
||||||
PlaybackPriority 500
|
|
||||||
PlaybackPCM "hw:${CardId},0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
SectionDevice."Mic" {
|
|
||||||
Comment "Internal Microphone"
|
|
||||||
ConflictingDevice [
|
|
||||||
"Headset"
|
|
||||||
]
|
|
||||||
EnableSequence [
|
|
||||||
cset "name='Mic1 Capture Switch' on"
|
|
||||||
]
|
|
||||||
DisableSequence [
|
|
||||||
cset "name='Mic1 Capture Switch' off"
|
|
||||||
]
|
|
||||||
Value {
|
|
||||||
CapturePriority 200
|
|
||||||
CapturePCM "hw:${CardId},0"
|
|
||||||
CaptureMixerElem "ADC"
|
|
||||||
CaptureVolume "ADC Capture Volume"
|
|
||||||
CaptureSwitch "Mic1 Capture Switch"
|
|
||||||
CaptureChannels 2
|
|
||||||
}
|
|
||||||
}
|
|
||||||
SectionDevice."Headset" {
|
|
||||||
Comment "Headset Microphone"
|
|
||||||
ConflictingDevice [
|
|
||||||
"Mic"
|
|
||||||
]
|
|
||||||
EnableSequence [
|
|
||||||
cset "name='Mic2 Capture Switch' on"
|
|
||||||
]
|
|
||||||
DisableSequence [
|
|
||||||
cset "name='Mic2 Capture Switch' off"
|
|
||||||
]
|
|
||||||
Value {
|
|
||||||
CapturePriority 500
|
|
||||||
CapturePCM "hw:${CardId},0"
|
|
||||||
CaptureChannels 2
|
|
||||||
CaptureMixerElem "ADC"
|
|
||||||
CaptureVolume "ADC Capture Volume"
|
|
||||||
CaptureSwitch "Mic2 Capture Switch"
|
|
||||||
JackControl "Headset Microphone Jack"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
SectionDevice."Headphones" {
|
|
||||||
Comment "Headphones"
|
|
||||||
EnableSequence [
|
|
||||||
cset "name='AIF1 DA0 Stereo Playback Route' Stereo"
|
|
||||||
cset "name='Headphone Playback Switch' on"
|
|
||||||
cset "name='Headphone Playback Volume' 100%"
|
|
||||||
]
|
|
||||||
|
|
||||||
DisableSequence [
|
|
||||||
cset "name='Headphone Playback Switch' off"
|
|
||||||
]
|
|
||||||
|
|
||||||
Value {
|
|
||||||
PlaybackVolume "Headphone Playback Volume"
|
|
||||||
PlaybackSwitch "Headphone Playback Switch"
|
|
||||||
PlaybackChannels 2
|
|
||||||
PlaybackPriority 500
|
|
||||||
PlaybackPCM "hw:${CardId},0"
|
|
||||||
JackControl "Headphone Jack"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,8 +0,0 @@
|
||||||
Syntax 3
|
|
||||||
|
|
||||||
UseCasePath {
|
|
||||||
legacy {
|
|
||||||
Directory "PinePhone"
|
|
||||||
File "PinePhone.conf"
|
|
||||||
}
|
|
||||||
}
|
|
13
pkgs/alsa-ucm-conf/default.nix
Normal file
13
pkgs/alsa-ucm-conf/default.nix
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
{ pkgs }:
|
||||||
|
|
||||||
|
(pkgs.alsa-ucm-conf.overrideAttrs (upstream: {
|
||||||
|
patches = (upstream.patches or []) ++ [
|
||||||
|
(pkgs.fetchpatch {
|
||||||
|
# "Add UCM for PinePhone"
|
||||||
|
# we need this for audio to work on the Pinephone
|
||||||
|
url = "https://github.com/alsa-project/alsa-ucm-conf/pull/134.diff";
|
||||||
|
sha256 = "sha256-hFpp8jQo8fQRqKrSnBEi5eh1Zf/x+1o+p40ML5iuWJM=";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
}))
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
#### customized packages
|
#### customized packages
|
||||||
|
alsa-ucm-conf = prev.callPackage ./alsa-ucm-conf { pkgs = prev; };
|
||||||
fluffychat-moby = prev.callPackage ./fluffychat-moby { pkgs = prev; };
|
fluffychat-moby = prev.callPackage ./fluffychat-moby { pkgs = prev; };
|
||||||
gpodder-configured = prev.callPackage ./gpodder-configured { pkgs = prev; };
|
gpodder-configured = prev.callPackage ./gpodder-configured { pkgs = prev; };
|
||||||
# nixos-unstable pleroma is too far out-of-date for our db
|
# nixos-unstable pleroma is too far out-of-date for our db
|
||||||
|
|
Loading…
Reference in New Issue
Block a user