I’m running Artix Linux and have been using firedragon for a few months and quite appreciate it.
Recently after a quick reformat and reinstall I’ve noticed a strange issue that I can’t find any reference to on forums.
In firedragon, when I go to the “about:support” page my bluetooth headset switches to the HSP/HFP profile (reducing sound quality to basically telephone level, and also activating the headset’s builtin microphone). After rougly 5 seconds the headset returns to it’s previous settings (A2DP Sink, aptX codec).
I’ve tried it both with an aur compilation, and also with the chaotic-aur precompiled package with the same results.
I’m using pipewire, pipewire-pulse, and wireplumber. Dinit is my init process.
Sorry if this is the wrong place to post or if I haven’t followed the forum rules closely enough. I thought this would be a good place to ask about this rather than the Artix forums. Thanks in advance.
Sorry, I understand that. I just thought that since firedragon seems to be a garuda project (correct me if I’m wrong) this might be the place to go for help.
Edit:
Also, I just realized this exact same thing happens with firefox I’m assuming this has something to do with the information found under “Media”. Some kind of hardware query going on. DIdn’t realize this. Thought it was a new development/bug. Clearly it’s not. Sorry for the forum clutter. My bad.
Haha maybe I’ll check out what garuda’s got going on. I’m not against distro hopping and my paranoia over systemd has somewhat subsided since my manic period of around 2019.
To give some conclusion to this thread, I found a way to get my headset to stop auto switching profiles. I had to poke around for a while in different forums and had to modify the proposed solution but here’s what I found that works:
Summary
Create the file ~/.config/wireplumber/wireplumber.conf.d/50-bluez.conf
Containing this:
monitor.bluez.rules = [
{
matches = [
{
## This matches all bluetooth devices.
device.name = “~bluez_card.*”
}
]
}
]
Not sure if I’ve done this 100% correctly, but it works. There were a lot of suggestions, some cause bluez to crash on load, some caused my headset to fail to connect, but this one works.
I think technically it still tries to switch profiles, but now I just get a split second of stutter/static rather than 5 seconds of lofi nonsense.
Anyways, thanks for the offer, I’ll get back to you if I decide to do some distro hopping.
Artix, as you said, does not use Systemd and is different enough that how-the-heck can we be of real help. I would suggest if you were using a systemd-type distribution, you would not have this problem.
I’m willing to wager that systemd users would encounter identical behavior if their systemd distro used those same projects, and if they were using a similar headset. Without configuration options set, it would seem that what I encountered is the default behaviour.
Yeah confirmed. I just did a quick reformat and install of garuda hyprland. Same behaviour.
No it happens under x11 as well (xfce). It’s definitely some kind of hardware query for microphone stuff. I have my headphones set for high quality audio (A2DP Sink, codec aptX) but if the microphone gets triggered then the audio profile switches to the ‘handsfree’ profile (HSP/HFP). Some kind of feature for phone users, so you can listen to high quality music, but if you get a call you can receive it.
Interestingly enough, the same behaviour (switching profile for a few seconds, then switching back) happens when launching wine as well. There’s information on about:support about audio hardware under “Media”. Specifically under “Input Devices” it’s got my headphones listed, so there is definitely a query initiated when the page gets loaded to test hardware availability and capability.
I’m looking into a way to disable the microphone entirely so this is just a non-issue altogether since I don’t use the thing at all (should have researched what headphones to buy a little better). The solution I found works (it’s just a slightly modified version of this from the arch wiki: Bluetooth headset - ArchWiki). Modified because if I use what’s written my headset stops working altogether (like the user in this thread: https://www.reddit.com/r/debian/comments/xocqxj/disable_hsphfp_in_pipewire_or_wireplumber/).
Anyway, I’m officially a garuda user now I guess. I tend to reformat / distrohop a lot, and I’ve been on artix for roughly 4 years now. Getting used to systemd will be an adjustment but hey why not try it out and see what all the fuss is about, right?
Ahhh! Now it makes sense. I use my earbuds solely to listen to music, movies, etc., but never use them to transmit, i.e. talk via smartphone. I used pavucontrol-qt to disable their input function (uncheck a box), and they automatically load whichever A2DP output codecs I have pre-selected any time I pluck them from their case.
Hmm I’d be curious to know what setting pavucontrol-qt is setting. It must be editing something in ~/.config somewhere. The wireplumber solution works (my headphones are no longer listed in the Input Devices section of pavucontrol).
No, it has literally nothing to do with systemd. Bluetoothd will get launched the exact same way under systemd as it does under openrc, runit, dinit, etc.
Thankyou for the link, though, that looks interesting. Not sure how I didn’t find that before