I am running 22.04 on a MacBook Pro with Intel CPU:
root@user-MacBookPro:/tmp/t2-better-audio# dmidecode | grep -A3 '^System Information'
System Information
Manufacturer: Apple Inc.
Product Name: MacBookPro16,1
Version: 1.0
root@user-MacBookPro:/tmp/t2-better-audio# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 24.04.2 LTS
Release: 24.04
Codename: noble
root@user-MacBookPro:/tmp/t2-better-audio# uname -a
Linux user-MacBookPro 6.14.3-1-t2-noble #1 SMP PREEMPT_DYNAMIC Sun Apr 20 17:38:02 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
root@user-MacBookPro:/tmp/t2-better-audio#
The machine has two sound controllers, one for internal speakers and another from the HDMI sound. Both seem to be recognized:
root@user-MacBookPro:/tmp/t2-better-audio# lspci | grep -i audio
03:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 HDMI Audio
04:00.3 Multimedia audio controller: Apple Inc. Apple Audio Device (rev 01)
There is an error in the log that likely indicates a driver problem:
user@user-MacBookPro:/tmp/t2-better-audio$ sudo journalctl -b | grep -i alsa
May 01 12:09:26 user-MacBookPro alsactl[932]: alsa-lib main.c:1554:(snd_use_case_mgr_open) error: failed to import hw:0 use case configuration -2
May 01 12:09:24 user-MacBookPro systemd[1]: alsa-state.service - Manage Sound Card State (restore and store) was skipped because of an unmet condition check (ConditionPathExists=/etc/alsa/state-daemon.conf).
May 01 12:09:24 user-MacBookPro systemd[1]: Starting alsa-restore.service - Save/Restore Sound Card State...
May 01 12:09:24 user-MacBookPro systemd[1]: Finished alsa-restore.service - Save/Restore Sound Card State.
May 01 15:01:50 user-MacBookPro sudo[11711]: user : TTY=pts/1 ; PWD=/tmp/t2-better-audio ; USER=root ; COMMAND=/usr/sbin/alsa force-reload
May 01 20:05:42 user-MacBookPro sudo[24538]: user : TTY=pts/1 ; PWD=/tmp/t2-better-audio ; USER=root ; COMMAND=/usr/sbin/alsa force-reload
Additionally, “alsactl init” also produces this error:
user@user-MacBookPro:/tmp/t2-better-audio$ alsactl init
alsa-lib main.c:1554:(snd_use_case_mgr_open) error: failed to import hw:0 use case configuration -2
Found hardware: "AppleT2x6" "Apple T2 Audio" "" "" ""
Hardware is initialized using a generic method
Found hardware: "HDA-Intel" "ATI R6xx HDMI" "HDA:1002aa01,00aa0100,00100700" "0x1002" "0xab38"
Hardware is initialized using a generic method
alsamixer does not show any controls for the apple card (it does for HDMI), so I suspect that the driver for the apple card may not be working correctly.
Wireplumber does not seem to recognize the apple card, which is the one that produces driver error. Only the HDMI audio card is recognized:
user@user-MacBookPro:/tmp/t2-better-audio$ wpctl status
PipeWire 'pipewire-0' [1.0.5, user@user-MacBookPro, cookie:3709319585]
└─ Clients:
32. pipewire [1.0.5, user@user-MacBookPro, pid:6001]
34. WirePlumber [1.0.5, user@user-MacBookPro, pid:6000]
35. WirePlumber [export] [1.0.5, user@user-MacBookPro, pid:6000]
42. xdg-desktop-portal [1.0.5, user@user-MacBookPro, pid:2212]
52. gnome-shell [1.0.5, user@user-MacBookPro, pid:1498]
53. GNOME Shell Volume Control [1.0.5, user@user-MacBookPro, pid:1498]
54. GNOME Volume Control Media Keys [1.0.5, user@user-MacBookPro, pid:1662]
55. Firefox [1.0.5, user@user-MacBookPro, pid:3001]
56. wpctl [1.0.5, user@user-MacBookPro, pid:39045]
62. libcanberra [1.0.5, user@user-MacBookPro, pid:1662]
Audio
├─ Devices:
│ 45. Navi 10 HDMI Audio [alsa]
│
├─ Sinks:
│ * 33. Dummy Output [vol: 0.00]
│
├─ Sink endpoints:
│
├─ Sources:
│
├─ Source endpoints:
│
└─ Streams:
Info on the kernel module (driver) for the apple card:
user@user-MacBookPro:/tmp/t2-better-audio$ modinfo apple_bce
filename: /lib/modules/6.14.3-1-t2-noble/kernel/drivers/staging/apple-bce/apple-bce.ko
version: 0.01
description: Apple BCE Driver
author: MrARM
license: GPL
srcversion: 57BBD877875D4C70026A33A
alias: pci:v0000106Bd00001801sv*sd*bc*sc*i*
depends: snd-pcm,snd
staging: Y
intree: Y
name: apple_bce
retpoline: Y
vermagic: 6.14.3-1-t2-noble SMP preempt mod_unload modversions
sig_id: PKCS#7
signer: Build time autogenerated kernel key
sig_key: 2A:EF:A6:D6:EF:B6:0E:14:CF:22:9E:F3:89:79:9E:07:1A:7D:A7:C3
sig_hashalgo: sha512
signature: 80:5B:AC:10:1A:15:BF:05:EB:9E:BC:30:7A:3C:97:6B:E9:5C:2A:22:
0D:BC:B8:67:E1:C5:28:F0:90:E7:9C:FF:A7:95:3C:83:C3:D4:04:A3:
C1:C1:5A:68:02:85:F8:6F:E9:0F:0D:FC:E6:20:93:20:C4:80:AB:23:
04:3B:AE:A0:4F:C3:61:05:F3:6E:E6:80:F7:C6:05:1E:E2:C4:68:29:
08:DA:24:0A:4F:CD:62:0A:A6:E5:6E:BD:C1:7F:29:2E:10:30:CF:45:
5A:D6:21:16:13:47:A0:26:89:10:A0:3B:97:70:C3:AD:A8:C9:DF:AB:
FE:71:6B:2E:A9:B6:5D:BB:85:E2:EF:69:EA:B5:0F:38:70:C6:69:FF:
FB:3C:85:7B:1D:79:A6:0C:C7:AA:2F:24:18:E2:E5:15:B0:74:F6:CE:
4A:25:A2:18:20:54:60:6C:68:68:58:49:AC:AF:39:C9:1E:6F:11:7E:
F5:4C:0B:58:B1:B4:C3:B8:7E:6D:F2:4F:54:E7:08:88:FD:50:33:47:
0D:39:76:A1:9B:29:6A:7A:30:59:0E:8C:52:49:2F:15:3F:0B:EE:70:
E0:35:FF:2D:DE:BF:22:87:CB:48:DE:7D:5B:4C:C8:1F:C2:53:BF:C9:
3C:4B:DE:11:48:89:E5:C4:68:B1:B7:45:77:EB:9F:54:29:06:74:9B:
F5:4B:8E:8D:E4:C2:35:AC:B0:8C:E9:D2:14:28:47:A2:81:2E:05:DB:
50:4D:83:0D:D6:C7:C2:D4:76:CA:D8:4E:77:6E:AD:68:BD:F7:7B:A2:
84:99:42:9C:4E:15:04:83:5A:51:6B:32:F5:4C:A3:AD:3B:AA:BA:1E:
70:CD:AA:67:E1:B8:C6:60:1D:82:D7:24:63:D7:F3:FA:02:72:98:71:
14:C5:34:0B:7E:85:9D:DE:8A:45:07:8E:DF:58:5A:56:F1:B7:5D:C3:
8F:1C:C1:E8:65:52:81:8A:6B:2C:7E:69:4D:2B:5E:24:69:EB:E9:96:
0C:A9:FB:94:4F:4D:49:29:AB:CE:12:18:98:C4:06:40:F3:17:1B:3A:
88:B8:FB:F9:0D:CB:6A:2F:69:46:7B:AA:01:58:2D:C8:84:65:F5:74:
56:F0:0A:EE:6C:50:A9:E6:54:82:1A:A8:74:18:90:BD:8A:5D:09:E7:
A3:E0:05:2D:98:96:0E:94:E3:78:C7:0D:3E:B3:DD:DA:E5:B9:0E:C8:
FD:2A:56:88:73:BF:A4:88:84:25:70:0B:FC:4A:7B:42:CE:89:57:BA:
54:D7:3A:4A:92:DC:7C:B0:86:2A:0D:7E:2A:62:C5:8F:A0:8A:7B:74:
55:9C:64:92:5C:07:18:CB:F0:33:7E:A9
parm: index:Index value for Apple Internal Audio soundcard. (int)
parm: id:ID string for Apple Internal Audio soundcard. (charp)
parm: vhci_port_mask:Specifies which VHCI ports are enabled (ushort)
I booted into a previous version of kernel, using the Grub menu, but the issue persisted. I am pretty sure that I had more prior versions of the kernel:
user@user-MacBookPro:/tmp/t2-better-audio$ dpkg --list | grep linux-image
rc linux-image-6.12.9-1-t2-noble 6.12.9-1 amd64 Linux kernel, version 6.12.9-1-t2-noble
rc linux-image-6.13.2-2-t2-noble 6.13.2-2 amd64 Linux kernel, version 6.13.2-2-t2-noble
rc linux-image-6.13.3-1-t2-noble 6.13.3-1 amd64 Linux kernel, version 6.13.3-1-t2-noble
rc linux-image-6.13.5-2-t2-noble 6.13.5-2 amd64 Linux kernel, version 6.13.5-2-t2-noble
rc linux-image-6.13.6-1-t2-noble 6.13.6-1 amd64 Linux kernel, version 6.13.6-1-t2-noble
rc linux-image-6.13.7-3-t2-noble 6.13.7-3 amd64 Linux kernel, version 6.13.7-3-t2-noble
rc linux-image-6.14.0-1-t2-noble 6.14.0-1 amd64 Linux kernel, version 6.14.0-1-t2-noble
rc linux-image-6.14.2-1-t2-noble 6.14.2-1 amd64 Linux kernel, version 6.14.2-1-t2-noble
ii linux-image-6.14.3-1-t2-noble 6.14.3-1 amd64 Linux kernel, version 6.14.3-1-t2-noble
ii linux-image-6.14.4-1-t2-noble 6.14.4-1 amd64 Linux kernel, version 6.14.4-1-t2-noble
rc linux-image-6.8.0-51-generic 6.8.0-51.52 amd64 Signed kernel image generic
Should I try to boot one of the earlier kernels? How can I do it in Grub, it currently gives me only two most recent options.
Is there a good way to test sound using just the ALSA layer, without getting the rest of the software stack involved?