The files go to:
- /usr/share/alsa/cards/AppleT2.conf
- /usr/share/pulseaudio/alsa-mixer/profile-sets/apple-t2.conf
- /usr/lib/udev/rules.d/91-pulseaudio-custom.rules
SUBSYSTEM!="sound", GOTO="pulseaudio_end" | |
ACTION!="change", GOTO="pulseaudio_end" | |
KERNEL!="card*", GOTO="pulseaudio_end" | |
SUBSYSTEMS=="pci", ATTRS{vendor}=="0x106b", ATTRS{device}=="0x1803", ENV{PULSE_PROFILE_SET}="apple-t2.conf" | |
LABEL="pulseaudio_end" |
[General] | |
auto-profiles = no | |
[Mapping builtin-speaker] | |
description = Built-in Speaker | |
device-strings = front:%f | |
paths-output = builtin-speaker-output | |
channel-map = front-left,front-right,rear-left,rear-right | |
priority = 100 | |
direction = output | |
[Mapping builtin-mic] | |
description = Built-in Mic | |
device-strings = front:%f | |
paths-output = builtin-mic-input | |
channel-map = left,center,right | |
priority = 100 | |
direction = input | |
[Mapping codec-output] | |
description = Headphone | |
device-strings = front:%f,1 | |
paths-output = codec-output | |
channel-map = left,right | |
priority = 100 | |
direction = output | |
[Mapping codec-input] | |
description = Headphone Mic | |
device-strings = front:%f,1 | |
paths-output = codec-input | |
channel-map = mono | |
priority = 100 | |
direction = input | |
[Profile output:builtin-speaker+input:builtin-mic] | |
description = Built-in Speaker + Built-in Mic | |
output-mappings = builtin-speaker | |
input-mappings = builtin-mic | |
skip-probe = yes | |
[Profile output:codec-output+input:builtin-mic] | |
description = Headphones + Built-in Mic | |
output-mappings = codec-output | |
input-mappings = builtin-mic | |
[Profile output:codec-output+input:codec-input] | |
description = Headphones + External Mic | |
output-mappings = codec-output | |
input-mappings = codec-input | |
[Profile output:builtin-speaker+input:codec-input] | |
description = Built-in Speaker + External Mic | |
output-mappings = builtin-speaker | |
input-mappings = codec-input |
<confdir:pcm/front.conf> | |
<confdir:pcm/surround40.conf> | |
AppleT2.pcm.default { | |
@args [ CARD ] | |
@args.CARD { | |
type string | |
} | |
type asym | |
playback.pcm { | |
type plug | |
slave.pcm { | |
type hw | |
card $CARD | |
device 0 | |
} | |
} | |
capture.pcm { | |
type plug | |
slave.pcm { | |
type hw | |
card $CARD | |
device 1 | |
} | |
} | |
hint.device_output 0 | |
hint.device_input 1 | |
} | |
AppleT2.pcm.front.0 { | |
@args [ CARD ] | |
@args.CARD { | |
type string | |
} | |
type asym | |
playback.pcm { | |
type hw | |
card $CARD | |
device 0 | |
} | |
capture.pcm { | |
type hw | |
card $CARD | |
device 1 | |
} | |
hint.device_output 0 | |
hint.device_input 1 | |
} | |
AppleT2.pcm.front.1 { | |
@args [ CARD ] | |
@args.CARD { | |
type string | |
} | |
type asym | |
playback.pcm { | |
type hw | |
card $CARD | |
device 2 | |
} | |
capture.pcm { | |
type hw | |
card $CARD | |
device 3 | |
} | |
hint.device_output 2 | |
hint.device_input 3 | |
} | |
AppleT2.pcm.front.2 { | |
@args [ CARD ] | |
@args.CARD { | |
type string | |
} | |
type hw | |
card $CARD | |
device 4 | |
} | |
Some recent updates to ALSA seem to have changed where it looks for apple-t2.conf, I resolved that by copying it to the new directory:
sudo cp '/usr/share/pulseaudio/alsa-mixer/profile-sets/apple-t2.conf' '/usr/share/alsa-card-profile/mixer/profile-sets/apple-t2.conf'
Here's a reddit post I found about this change
And here's the errors pulseaudio was giving before I moved apple-t2.conf:
E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.
E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="0" name="pci-0000_04_00.3" card_name="alsa_card.pci-0000_04_00.3" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.
E: [pulseaudio] socket-server.c: bind(): Address already in use
E: [pulseaudio] module.c: Failed to load module "module-native-protocol-unix" (argument: ""): initialization failed.
I've used your profile and tweaked it to have it working on my 9,1 (Macbook Air 2020)
https://gist.github.com/bigbadmonster17/8b670ae29e0b7be2b73887f3f37a057b
Hope this helps someone out there
Doesn’t allow for headphone usage on the Pro16,2
Some recent updates to ALSA seem to have changed where it looks for apple-t2.conf, I resolved that by copying it to the new directory:
sudo cp '/usr/share/pulseaudio/alsa-mixer/profile-sets/apple-t2.conf' '/usr/share/alsa-card-profile/mixer/profile-sets/apple-t2.conf'
Thank you! Nothing was working for me until I did this. Now works swimmingly on Fedora 35 (even with Pipewire!)
@MCMrARM the updated location for
/usr/share/pulseaudio/alsa-mixer/profile-sets/apple-t2.conf
is now
/usr/share/alsa-card-profile/mixer/profile-sets/apple-t2.conf
as @Redecorating mentioned above. Thank you so much everyone for the excellent profiles otherwise.
If your mic crashes your OS, try adding "intel_iommu=on iommu=pt" to the "GRUB_CMDLINE_LINUX=" line in /etc/default/grub (then "sudo update-grub" for ubuntu, or "grub-mkconfig -o /boot/grub/grub.cfg"). Shoutout to @Redecorating for sharing this fix to us in the discord! I didn't see it documented anywhere else, so figured i'd throw it down as a comment here (since this is the first gist the wiki's audio section links to)
@MCMrARM Do you know what license these files would be under?
Are there any updates that might work with Pop!_OS since it now uses pipewire instead of pulseaudio?
Are there any updates that might work with Pop!_OS since it now uses pipewire instead of pulseaudio?
https://wiki.t2linux.org/guides/audio-config/#using-pipewire-instead-of-pulseaudio the change here to 91-pulseaudio-custom.rules should work.
Anyone got mic working on MBP 15,2? With this config it appears in pulsemixer but always records silence.