The last two upgrades have broken my audio setup.
First the options for Network Server and Network Access in paprefs were greyed out and my sinks disappeared after upgrading to bookworm. I just had to create a link to an existing file and it was working again but, it’s weird that it was needed in the first place. Pretty sure it has something to do with the change from pulseaudio to pipewire but I’m not very up to date on that subject and I just want to have my current setup to continue working.
Then yesterday I just launch a simple apt-get upgrade and after rebooting my sinks disappeared again. The network options in paprefs were still available, but changing them did nothing. I had to create the file ~/.config/pipewire/pipewire-pulse.conf.d/10-gsettings.conf and stuff it with “pulse.cmd = [ { cmd = “load-module” args = “module-gsettings” flags = [ “nofail” ] } ]” in order to have my sinks back.
I know it’s not only a Debian thing, as I can see this happening to people on Arch forums, but as Debian is supposed to be the “stable” one, I find it amusing that a simple upgrade can break your sound.
Alternatively,
The changes to linux audio lately are a bit of a mess. Wireplumber completely changed their config format with 5.0 and it just stopped launching if you had v4 configs.
I do appreciate that we’re not stuck with pulseaudio anymore though so I really shouldn’t complain.
Mint is still on pulse, but thankfully there was someone out there that had a nice script that switches you to pipewire and easy effects so I did that.
(I tried to find that script again but can’t find it. Pretty sure it was on a forum somewhere if anyone needs to find it.)Found it: https://github.com/Rigel2118/pipewire-installation-kit-for-linuxmint
Thanks to pipewire’s pulseaudio emulation transitioning from one to the other is effectively seamless. Just install the pipewire pulseaudio package (it’s tiny) after installing the rest of pipewire and apps that depend on pulse just work.
I added the script to my post. It’s not really that much and could have been done from a guide, but it sure as hell made it nice and simple.
Out of curiosity why do you have your audio over the network? Just curious
Mainly because of bluetooth headphones with multiple computers. That way they are paired to only one computer and I can use them with other computers at the same time. Just right click on paprefs system tray icon, change the sink and the audio is sent somewhere else. I know it’s now possible to have bluetooth headphones that have multiple connections but it wasn’t the case a few years ago and I still find it much more useful this way.
But it’s also useful when I have my laptop near my main computer and want to use its much better speakers instead of the crappy ones on the laptop. Right click, select another sink, and that’s it.
It’s just nice to have the option to send the audio from one computer to another. It’s a shame that it’s apparently a niche thing.
I’ve also used pulseaudio for this sort of things in the past, it’s very flexible and works rather well!
When it works (!), it’s one of the reasons I brag to my tech friends about Linux, and why I switched to Linux many many years ago. In fact, it was when Esound was a thing. But once in a while it stops working after an upgrade or a dist-upgrade, and I have to spend time trying to fix it.
I like to joke around with tech minded friends that Windows keeps breaking with every updates, but then I have to spend an hour finding out why my sinks disappeared after an upgrade, and I’m forced to realize that… sigh… these things happen with Linux too.
You could maybe look into using SnapCast, it would be independent from pulse and should work even through apt updates ;)
I haven’t been using pluseaudio for an eternity, since the Linux machines I use are mostly headless,.yet I was a pluseaudio fanboy when it was.just replacing ALSA. Yet, the hours and hours pulseaudio cost me to fix some upmix that had stopped working or some other weird shit… IDK if I’d still preach it’s upsides would I be in the same situation now.
I tend to like it. I use it even on some headless machines (for example for streaming audio). I’m gonna have to learn more about using Pipewire sadly.
I’ve never heard of someone doing something like this before, but it sounds like it could have some pretty cool downstream applications (thinking Bluetooth speakers)
With your setup would it be possible to pair your headphones to your phone (iPhone in my case) and be able to pass audio from different computers to a central one that my phone could then relay to my headphones?
I often walk around my house/yard while listening to something playing on my laptop/desktop. And if I get too far from the source, it breaks the Bluetooth connection. So I usually end up having to drag my laptop around the yard with me. A much nicer solution would be to have my phone on my person, and use the wifi to keep connected to my “audio source” without needing proximity to the actual pc playing the sound.
Audio over the network is a feature of pulseaudio/pipewire from a module aptly named “module-simple-protocol”, and as simple as it is to make it work on Linux (when it works), it’s unfortunately not as easy on other platforms. Technically speaking, it’s possible to do that on Android with an app called “Simple Protocol Player” but it’s apparently very glitchy and you’re going to need some patience for the setup. It’s from someone that wanted to stream audio from an HTPC with Ubuntu to an Android phone, but the author states that it’s pretty buggy. Here’s the link to their blog: https://kaytat.com/blog/?page_id=301
So the short answer is unfortunately “no”, unless you want to practice your patience on a project.
Thanks for this. I guess I should have expected that answer. Bluetooth in general already tests my patience, so I’m not sure a new project revolving around things that already piss me off would be a smart move for my already rising blood pressure.
I’ll stay tuned to that protocol though, as it could probably help me in some other less complicated projects I’d like to tackle.
That’s a cool use case
Does this give network latency on top of Bluetooth latency or does the network somehow “handshake” it with the Bluetooth on the devices you’re listening to?
I never noticed any latency when I’m not using bluetooth. And no, the devices do not speak to each other. For PA/pipewire, this is just an audio sink as any other.
There is latency when using bluetooth but this is pretty standard. It just doesn’t increase (or not noticeably) when streamed to another computer.
last time i updated Debian it blew up my bootloader rofl
Hehe, I knew that if I wanted stability I had to stay on Slackware! That’s the price we have to pay to use a bleeding edge distro like Debian where everything is fast paced. 😏
Average linux experience is the “hey I think im getting used to this OS now!” followed by “where’s my bootloader”
on artix linux it couldnt be less stable, i think its been around 2 years since pipewire has failed to work but maybe im just one of the lucky ones
I switched from artix to arch because of this
I got the same issue months ago, with Mint. I have a script to switch audio outputs, and it stopped working after… apt upgrade! Apparently what used to be called “hdmi-stereo” is now “hdmi-stereo-extra1”, no idea why.
In the case of my script, once I got what was going on, I solved it with a simple “if” statement:
if [[ $(pactl list sinks | grep extra) == "" ]] then declare -g mainProfile="hdmi-stereo" else declare -g mainProfile="hdmi-stereo-extra1" fi
(My system uses pulseaudio. Don’t ask me why. I’m not touching it with a 3m pole.)
I updated the kernel and for some reason my ubuntu becomes unable to find how to use the network.
After going in circles it was much easier to just go back to the previous kernel.
Double check if you have the
-modules
and/or-modules-extra
installed for that version of the kernel. Literally had this issue at work on a 14.04 (sigh, I know) box.
It’ll also break all your keepassxc plugins soon. Because debian version to version compatibility is not a priority. They also don’t care if them breaking something triggers a ton of upstream bug reports, because it will only “be painful for a year”
Linus for the kernel has a strict “don’t break userspace” policy, and Debian has a “break things whenever you want, and just blame the user for not reading the news file” policy.
Is the breaking change going to happen in stable mid release cycle? Or at a major version upgrade?
IMO it doesn’t matter. People don’t read news on updates. Should they? Yes. Do they? No. Should they have to? Also no.
Linus’s point is to never blame the end user for something the kernel changed. If you want software to have widespread adoption, adding homework to simple updates isn’t how you do it. People don’t want a hobby or something to babysit, they want an operating system. Debian will go out of their way to make in-release updates go as smooth as possible, but are willing to through out entire parts of functioning packages between releases.
But this isn’t even about breaking things for the end user. This will create excessive amounts of noise on the upstream repo. People will say “Hey! My keepassxc broke!” and they report it to keepassxc, and not to Debian. To which keepassxc just has to constantly reply “no, debian changed this on you, this is not a bug.” If Debian had to deal with the fall out of their own decisions, I would say “yeah, im not sure if i agree with the decision, but oh well”… But they are increasing the workload for other teams.
It is already happening. The debian dev’s stance is “This will be painful for a year.” But it will be painful for keepassxc, NOT debian. The keepassxc devs asked them to not do this. Debian’s response might as well be “Im inflicting this pain on you, even though you’ve asked me not to. But on the plus side, it won’t hurt me at all and it will only last a year for you.” If they really have that much disdain for the project, they should just stop packaging it altogether.
So yeah, debian has the legal right to do whatever they want because keepassxc is open source. but “just because I can, and you cant legally stop me, and its extra work for you, not me” is kind of a jerk move. This is what drives FOSS contributors to get burnt out and abandon otherwise good projects.
I think what pisses me off about this is that I have zero idea what this NEWS file is or where to read it.
It’s disgusting to see the Debian dev just flagrantly ignore this. Did they even warn the KeePsssXC devs they were doing this?
I think you actually convinced me to start using OpenBSD again.
It’s in testing and/or sid atm but the keepass dev has argued back and forth with the debian maintainer who basically just said “suck it up buttercup” and refused to change back, so it’ll cause a lot of fun times once it lands in the next debian release lol
I do miss windows audio whenever I interact with audio on my computer.
okay interesting. even fedora has been more stable to me than this (during the same version)
Upgrading Debian is something that needs to be done with care. The good news is that it is only necessary every 3 years
Yeah… I only use Debian server side. Despite it’s flaws I’d say Ubuntu is the better desktop option if you don’t want to go down the whole Arch route.
Bah. I’ve been using Linux for 25 years, started with a derivative of Slackware, then used Slackware for about a decade, and switched to Debian. I used 5.25" floppies and manually set IRQs so I’m quite comfortable with Debian and tinkering in general.
For friends and family I prefer LMDE. Snap packages can go to hell.
People keep arguing about this or that distro.
Linux distributions are just a collection of software, initial settings, and sometimes online repository.
Are you trying to imply that all distributions are actually the same because of that? Because Debian’s repositories and philosophies are definitely extremely different than something like Arch.