I feel like I'm a bizarro world, because I don't get this stuff: crashes, memory leaks, and so on.

I use: VScode, Idea, iTerm2 (with x86 brew), Logic (and lots of plugins), FCPX, Live (x86, and lots of plugins), Slack, Reeder, MS Office, Spotify, Chrome and other stuff. MBP M1 16GB.

What I do get, is some bluetooth issues (e.g. affecting the mouse cursor. If you start the bluetooth deadmon it fixes itself for a day or so.

I love that Apple hasn’t been able to fix their Bluetooth bugs in forever. I always hope they’ll be fixed with the next OS version, maybe the next MacBook, maybe the next iPhone.

Nope. My AirPods have regular issues and my Magic Mouse regularly disconnects.

I hoped my next M1 would solve it. Guess not.

I don't know that it's a Mac thing - I get similar Bluetooth issues on Windows. Honestly, Bluetooth just isn't that good.

The best software stack for bluetooth audio is the one provided by Pipewire on Linux.

Pipewire for some reason insists on using GTK4 for its UI though, which hangs X cold if you use any of the popovers in it. I didn't even know it was possible to hang X like that.

What do you mean by a Pipewire UI? It's a background daemon (or three: pipewire, a session manager, and pipewire-pulse).

EDIT: Perhaps the parent means Helvum, which ldd says links to libgtk-4.so.1 => /usr/lib/libgtk-4.so.1. However, I can't figure out how to open a popover (https://python-gtk-3-tutorial.readthedocs.io/en/latest/popov...) in the app; all I can do is drag to create or break connections.

Try to set up https://github.com/jaakkopasanen/AutoEq impulse responses for headphones, and you _will_ inevitably hang your X. Daemon isn't terribly useful on its own if you can't set it up to do what you need. So anyone considering Pipewire as a "better" alternative to anything should also know, at a minimum, that it's difficult/impossible to uninstall and buggy AF.

To clarify things, PipeWire is an audio daemon, completely unaffiliated with https://github.com/jaakkopasanen/AutoEq which is a set of headphone impulse responses. It just so happens that the recommended way to apply these impulse responses on Linux is EasyEffects, which now depends on both PipeWire and GTK4. Nonetheless, PipeWire is not EasyEffects and not AutoEq, and "Pipewire for some reason insists on using GTK4 for its UI though" is untrue because EasyEffects is not PipeWire's official GUI, and doesn't even come up when I search `pipewire gui`.

I haven't tested EasyEffects. With that in mind, PipeWire is buggy AF for the time being, and I've been working over the past week to clean things up (fixed a few bugs in plasmashell and pipewire so far, but I'm still learning and there's a great deal of bugs I haven't diagnosed and explained to the maintainers, it will probably take weeks longer for me to work through everything, and I'd very much prefer the program was written to handle race conditions and edge cases properly, instead of leaving users to discover bugs and trace the root cause through the labyrinthine IPC-heavy event-driven codebase after the fact).