Hello! Thank you for the team’s work on Asahi Linux, I’ve been daily driving Fedora on my macbook pro for the past couple of weeks and have been really enjoying the experience.
One issue I have run into is getting the headphone jack to work. Whenever I plug in a headphone, the audio sink is not detected by the computer.
asahi-diagnose seems to detect it but then immediately an unplug event even when the headphone stays plugged in. Here is the asahi-diagnose file.
Running Fedora 39 (but I had the same issue on Fedora 38), KDE, Wayland.
Not sure if it’s related to this, but from my reading those patches should have been pushed?
Let me know if there is any output I can send to help pinpoint the issue!
Can you provide a bit more information about the behavior? Does anything happen when you plug in the jack? Does pavucontrol show anything in the “Output Devices” tab? Does the audio icon in the task bar change?
I have the same exact machine on F39 and it works, so it’s weird that it doesn’t work for you. I assume you haven’t made any changes to audio packages, right?
In the logs I see unplug events 10+ seconds after the plug events, sometimes minutes, which sounds like you were unplugging it and plugging it back in manually. None of the unplug events are immediately after plug events. So I get the feeling this is a userspace issue and the kernel driver is working as intended.
When I plug in the headphones the audio icon in the task bar remains muted and says ‘No output or input devices found’ just installed and tried pavucontrol and the only output device it shows is ‘Dummy output’
I can confirm these headphones work as intended in MacOS, and bluetooth works as expected in Asahi.
I don’t believe I’ve made any changes to audio packages? I don’t remember installing anything else related to audio, but it’s possible a dependency slipped in somewhere?
➜ ~ dnf list installed | grep -E "pulse|pipewire|alsa"
allow_vendor_change is disabled. This option is currently not supported for downgrade and distro-sync commands
alsa-lib.aarch64 1.2.10-3.fc39 @fedora
alsa-lib-devel.aarch64 1.2.10-3.fc39 @fedora
alsa-ucm.noarch 1.2.10-3.fc39 @fedora
alsa-ucm-asahi.noarch 3-1.fc39 @fedora
alsa-utils.aarch64 1.2.10-1.fc39 @fedora
kde-settings-pulseaudio.noarch 39.0-1.fc39 @fedora
kpipewire.aarch64 5.27.8-1.fc39 @fedora
pipewire.aarch64 0.3.80-1.fc39 @fedora
pipewire-alsa.aarch64 0.3.80-1.fc39 @fedora
pipewire-codec-aptx.aarch64 0.3.80-1.fc39 @rpmfusion-free
pipewire-gstreamer.aarch64 0.3.80-1.fc39 @fedora
pipewire-libs.aarch64 0.3.80-1.fc39 @fedora
pipewire-pulseaudio.aarch64 0.3.80-1.fc39 @fedora
pipewire-utils.aarch64 0.3.80-1.fc39 @fedora
pulseaudio-libs.aarch64 16.1-5.fc39 @fedora
pulseaudio-libs-glib2.aarch64 16.1-5.fc39 @fedora
pulseaudio-qt.aarch64 1.3-5.fc39 @fedora
I do receive an error regarding pipewire-codec-aptx:
➜ ~ sudo dnf update
[sudo] password for arya:
ProtonVPN Fedora Stable repository 732 B/s | 153 B 00:00
Errors during downloading metadata for repository 'protonvpn-fedora-stable':
- Status code: 404 for https://repo.protonvpn.com/fedora-39-stable/repodata/repomd.xml (IP: 172.67.70.114)
Error: Failed to download metadata for repo 'protonvpn-fedora-stable': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried
Ignoring repositories: protonvpn-fedora-stable
Last metadata expiration check: 2:10:00 ago on Sun 29 Oct 2023 03:50:38 PM CET.
allow_vendor_change is disabled. This option is currently not supported for downgrade and distro-sync commands
Dependencies resolved.
Problem: cannot install the best update candidate for package pipewire-codec-aptx-0.3.80-1.fc39.aarch64
- nothing provides pipewire >= 0.3.83 needed by pipewire-codec-aptx-0.3.83-1.fc39.aarch64 from rpmfusion-free-updates-testing
==========================================================================================================================================================================
Package Architecture Version Repository Size
==========================================================================================================================================================================
Skipping packages with broken dependencies:
pipewire-codec-aptx aarch64 0.3.83-1.fc39 rpmfusion-free-updates-testing 26 k
Transaction Summary
==========================================================================================================================================================================
Skip 1 Package
Nothing to do.
Complete!
And apologies, yes think you’re right about the unplug events being manual. Don’t think that’s the cause.
Can you install pavucontrol and check what that says when you plug/unplug? Also please check the wireplumber package version, and see if there are any interesting logs:
journalctl -t pipewire and journalctl -t wireplumber (add -b 0 to filter to current boot)
I’ve installed pavucontrol but don’t see any messages in the GTK app or the command line when I plug/unplug headphones. Just the Dummy output output device.
journalctl -t pipewire -b 0 returns -- No entries -- as does journalctl -t wireplumber. I have logs from pipewire before the current boot (mainly related to bluetooth from what I can see but I can share those if that’s of interest) but I don’t have any logs at all from wireplumber.
➜ ~ wireplumber -v
wireplumber
Compiled with libwireplumber 0.4.14
Linked with libwireplumber 0.4.14
I think we’re going to need PipeWire and WirePlumber debug logs to figure this one out.
First kill the daemons: killall pipewire wireplumber. Do that repeatedly a few times until it starts saying no process found consistently for both (this is to get systemd to fail the units and stop restarting them).
Then in one console do: PIPEWIRE_DEBUG=3 pipewire | tee pw.log and in another (after), WIREPLUMBER_DEBUG=3 wireplumber | tee wp.log.
Then mess around with the jack a bit, and upload the log files somewhere.
Ok I think I fixed it and believe I can replicate the issue. If I go to this setting in the Sound menu in KDE and flip the Built-in Audio setting to Pro Audio and plug in the headphones the sink is detected and I can send audio to the headphones.
Now while the headphones are connected and audio is playing if I turn the Built-in Audio Pro setting to Off and unplug the headphones from this state they won’t be detected upon a future plugin event.
The way to get them to be detected is to go back to the Inactive Cards setting and change it to Default while the headphones are plugged in. I think the confusing part is that bluetooth audio seems to be unrelated to this setting, and if the headphones are unplugged then this Inactive Card is marked Off and it’s not obvious that a new option in the drop-down menu appeared.
Apologies for causing any confusion and taking your time, I do not think this has anything to do with Asahi Linux I think just something I got confused by in KDE. @marcan still happy to provide the logs if that would be helpful, let me know!
Thanks for y’all’s work! Looking forward to the fanfare accompanying the official release !