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 switched after seeing PRs improving Pulseaudio get shot down pretty dismissively, and iirc the would-be contributor getting fed up, abandoning it because well whatever, Pipewire.
But actually, since switching the AV sync is off using my Bluetooth earphones, at least in Firefox.
Curiously, I can fix it with latency adjustment in pavucontrol, but it only has an affect when the 'advanced' drop down is revealed in that tab of the menu. Close it, and it's off again. Open, and the value has persisted, and it works again. Haven't really dug into that because I've been hoping the (presumably) underlying Pipewire issue will be fixed.
Oof, I saw that PR drama too (~half of bluetooth headsets were broken, PR fixed it, got ignored for months despite loads of 3rd party attention, author got heated, maintainers show up very interested in swinging their CoC around but very uninterested in merging the fix, author gave up and left for pipewire).
Pulse is still broken a year later, pipewire is fixed.
I finally figured out how to get bluetooth headsets to work correctly on my desktop: output to 3.5mm, 3.5mm to dedicated bluetooth transmitter.
Throw hardware at the software problem, because software absolutely cannot be trusted not to foul this up. Not Windows, not linux, not pipewire, not pulse, none of it. Evidently not mac either, though I've personally never had trouble with bluetooth on mac. Bluetooth is 23 years old and its flagship application is still completely broken across huge swaths of the client/server compatibility matrix.
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).
My guess is that Pipewire is written in C because the author likes C (or at least somewhat dislikes C++). And it has "abstraction"... in the form of hand-baked vtables and observers created out of nested macros, void*, and intrusive linked lists.
An advantage of C is that it comes with a stable ABI, where Rust is unstable and C++ is a subject of conflict (though you can achieve a stable ABI by restricting your external API to C functions, and if you want cross-shared-object virtual calls like Pipewire, you might have to write the same pile of macros as PipeWire, which you were trying to save yourself from). The downsides are memory and type unsafety (surprisingly the only crash I've seen so far is a null pointer dereference, and I haven't hit any obvious memory or type errors), and a complete absence of "vocabulary" or templated types (they've created their own slotmap-like ID allocator but without a generation count resulting in ever-present "logical use-after-frees" in library and application code, and an intrusive linked list which they use even when hashmaps might provide somewhat faster iteration and asymptotically faster search).
I assumed the C ABI, and thus the cobbled-up vtables. Where the author might have used C++ to advantage would be automating other, internal details of the code. There is nothing quite like bugs you don't have because you didn't need to write the code where they would have been, or because you could run code at compile time to generate or at least verify your cobbled-together apparatus.
The saving grace is that it can at any time be switched over to be built with a C++ compiler, and then start to be modernized incrementally.
What you say is true. Unfortunately I don't think you can trivially switch it to a C++ compiler, because they use {[FOO] = ...} initialization.
It would be cool (not necessarily useful, probably not a good use of time) to rewrite it in Rust while keeping the dependency count in the single digits. It would be helpful to contributors to add architectural documentation.
C++20 added dot initialization, which has been supported in MSVC/GCC/Clang for over a year now. No released version of the C++ standard supports array index initialization, and jcelerier says Clang but not GCC supports it as an extension.
I think you're right about this. I have a pair of JBL headphones and it will just randomly become completely garbled during a video conference under Windows.
I have to disable/re-enable Bluetooth to "fix" it. It's a mess.
Conversely, I have a couple of Bose QC35, and either one of them works with pretty much any device I tried to pair them with - Windows laptops, Android phones and tablets, and a Chromebook. So perhaps it's a QoI issue?
I've had similar issues with Bose QC35 on Windows. Currently they work -- but the settings are on a knife-edge: all it takes is an unlucky Windows update and I'll spend half a day trying to find the right services and settings to reset/reinstall to get it paired again. (Also, whenever I restart, I have to open the bluetooth troubleshooter to get them paired, though at least that always works.) I blame both Windows and Bose equally, but I also think it's a very difficult protocol to work with.
I think it's not that it isn't "good", it's more that it is an enormously overcomplicated design-by-committee. The spec is really complicated and downright weird in a lot of places. Kind of like they were trying out new academic ideas that weren't really practical.
I'm more familiar with BLE, which is better, but even that has a completely weird "characteristics" protocol that you have to use. Want to send a big blob of data? You have to manually cut it up into 20 byte chunks to send it over "notifications".
It's like they looked at the OSI model and thought "ah yes this looks right! we'll implement all the layers!"
I've had an issue with Windows 10 cutting off the first 0.3-0.8s of any audio that plays over Bluetooth for a while now. It's occurred across entirely different systems with entirely different bluetooth chipsets and entirely different headphones. Nothing is a surefire fix except for keeping a silent audio file playing in the background, which is ridiculous.
The bug isn't that bad if all you use bluetooth headphones for is YouTube, video chat, and music but it makes Anki language learning decks with audio almost unusable.
Anything below Bluetooth 5 is barely usable. The 2.4Ghz freq gets interfered by anything from fluorescent lamps, old Wi-Fi hotspots, old laptops and phones to microwave ovens, and if it's not yours, it's somebody else's. You basically have no control over whether your bluetooth devices get interfered.
I used to have similar problems. It turned out to be Bluetooth congestion. When I relocated to an office away from a window that faced a public street, the problems went away.
This whole thread is striking a nerve with me since these seem to be all of the issues i had been dealing with since getting a new 16 inch a few weeks back. Specifically "windowserver" and also these bluetooth issues.
See my other comment in this thread about how i solved "windowserver".
Bluetooth issue was a hw proximity issue for me. My CalDigit hub was mounted right below my Macbook. I noticed when I moved my MacBook's location (still connected to hub), the bluetooth issue when away.
It's worth a try if you have a powered accessory near your macbook and haven't tried this already, but...
I do still get the issue once in a while, but I can now at least just turn the keyboard/touchpad off/on and it goes back to normal whereas before, it happened all the time.
Once in a while I still have to Shift+Option+"bluetooth menu icon" and reset bluetooth module.
I know these are just work arounds, but at least it allows me to get back to work and only have to deal with it weekly instead of not being able to use bluetooth at all.
Edit: just upgraded to 12.0.1 and noticed Shift+Option+"bluetooth menu icon" to reset bluetooth module is gone!?
It’s probably USB 3.0 frequencies clashing with Bluetooth freqs. Even worse if you’re connected to 2.4Ghz wifi since it’s the same frequency Bluetooth uses.
Same here - I've been slamming my 13" M1 base model (8gb ram, 512 gb storage) and it's a beast of a machine. I throw a lot at it for work every day - multiple browsers open, back-end processes, the UI app, pgAdmin and postgres both running locally...it crushes everything I throw at it, with great battery life too.
Only issue I've seen with it is some bluetooth flakiness sometimes the way you mentioned. Other than that, it's been a rock solid device and the only reason I haven't upgraded to one of the new MBPs despite really wanting one...is because so far I haven't been able to justify it yet considering how rock solid the M1 has been!
I find all three (Linux, MacOS and Windows) to be fairly stable. It's been many many years since I've run into either BSOD on Windows or the beach ball of death on Mac.
My guess is faulty hardware. I've had plenty of those on the 2018 MBP (keyboard getting stuck, bulging battery and dead zones on touchbar). Waiting to see if the QC is better with new M1 Pros before buying.
I have had really bad issues with bluetooth mice on my M1 macbook, the lag is so bad. Bluetooth is basically unusable for me so I had to switch to the logitech unifying receiver which has been flawless. This seems to be related to using airpods at the same time.
Both in this article and other comments here, people mention Safari being a factor. It sounds like this is likely related to the browser. I noticed that you're using Chrome. I use a variety of browsers but rarely Safari, and I don't have any of these issues either.
>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.
Can you elaborate on this? I think i was hitting this as well. Specifically when I scroll or type, it "halts" for a split second every other second. Originally I thought it was a video card failing or something but after a long time I finally traced it to Bluetooth. Since then I have been using wired connection on my keyboard and mouse.
What do you mean by "If you start the bluetooth deadmon"
In my case it's visible in the mouse (the keyboard is wired, mechanical), and it's like you describe, at certain points there is laginess. After some time, it's like the mouse slows down, and lags more.
I've heard this happens when you have some USB-C hubs attached, which I do. Not sure what the connection is -- but I think my Anker hub does causes this.
>What do you mean by "If you start the bluetooth deadmon"
Sorry, I meant: "if you restart the bluetooth daemon", e.g. "sudo pkill bluetoothd".
a little unclear if you don't have a hub, or do have an Anker hub, but try moving the Anker hub far away from your Macbook and see if you still have the bluetooth issue. You need a USB cable (depending on what's the hub is you might need a 3.1 Gen2) long enough.
For me it was a hardware proximity issue. Powered external devices interfering with the Mac's bluetooth.
i have an older macbook pro (only for another week until my new one arrives), and i found switching from iterm2 to kitty improved performance of my computer drastically. i think i have some other HD corruption issues going on, but kitty extended the lifespan of my computer such that i was able to wait for the new pros.
You're not in a bizarro world. Most users are pretty happy with their M1 Macs (myself included) and HN just tends to upvote anything anti-apple even if it's an isolated experience.
I'd wager most people on this thread do not actually own an m1 Mac.
My experience (and that of others I know that have them) has been nothing but stellar.
Please don't make spurious generalizations about the community—these images are nearly all in the eye of the beholder, i.e. people with the opposite preferences to yours see the community exactly the opposite way (and make similarly spurious generalizations about HN favoring Apple or whatever $BigCo they don't personally care for).
Because such generalizations are just encodings of personal likes/dislikes in the form of general claims, they lead to lame discussion.
I don't think it's really anti-Apple, but these articles do tend to take what seem likely to be very isolated events and present them as widespread, systemic issues.
I have absolutely no doubt that this person is having bad memory leaks (though their narrative about SoC memory or other elements seem unlikely to play any part whatsoever). Software has faults, and something in their environment or stack is causing problems. I have an M1 Mac and used every beta of Monterey, and now the release, and have had zero problems. Like nothing at all. I use XCode, IntelliJ, Chrome, Safari, Excel, Logic Pro among others all day long, heavily. Loads of other people seem to be having no problem with their systems. Eh.
If something has literally millions of users, saying "{X} happens" will invariably draw out someone with a similar anecdote, but that doesn't mean it happens to everyone, or even a significant minority. Some unique combination of factors is yielding a poor user experience, and hopefully there is a resolution, but it just doesn't seem likely that it's widespread.
elephant in the room for all these sort of articles it the law of large numbers. Sell a couple million devices with a defect that affects .1% of people and it'll be a thing for 1,000s of folk. And apple sells 10s of millions.
I’m generally happy with my Mac products, but I’ve also gone through long periods where my Mac would crash multiple times per week due to serious OS bugs.
Most recently, the Thunderbolt 3 issues were responsible for countless hours of lost time rebooting my laptop last year, and I’m not alone: https://rachelbythebay.com/w/2020/10/03/repro/
The weirdest part was that this occurred with only Apple products connected to my laptop. I couldn’t even blame it on 3rd-party products. It also worked perfectly fine before and after the range of affected MacOS versions. There were many reports of the same issue all over the internet, so I know I wasn’t alone.
Then one day Apple finally fixed the bug and everything was back to normal. But all those months of constant reboots and crashed and failed workarounds left a mark on my overall experience.
So while the Mac experience is generally good, it’s still far from perfect. Weirdly, I’ve had far fewer problems with my Windows system in recent years.
Unfortunately it’s comments and religious defenders like this that allow Apple to get away with selling broken products for years, and then issue recalls for products sold 4-5 years ago when people are not using them anymore, like they’ve done with multiple Mac laptops that had graphics card and screen issues.
Claiming most people don't have M1 apple products is also bizarre considering almost all startups are using exclusively macs and we've all been waiting for the this release.
Its not like Apple doesn't release faulty hardware and software. Butterfly keyboard is a good example of faulty hardware and OSX Lion crashed all the time on the Macbook pros with discrete GPUs till Apple patched it.
Im willing to bet this community has a higher percentage of apple users than most others. The number of people claiming to already have an M1 of any kind is surprising, especially considering Ive received a macbook pro for every single software engineering job Ive ever had.
I think the main reason why these stories are brought up for Apple so much is because it has this persistent "things just work" narrative that a lot of people buy into when they decide to pay the Apple premium. When it turns out to not be true, it stings more than similar issues on e.g. Windows or Android, simply because the expectations there aren't that rosy to begin with.
Was it doing that before Monterey? I haven't upgraded to Monterey yet because I want to avoid any bugs that haven't been ironed out yet...so far my M1 8gb has been excellent and if those issues are introduced by Monterey then I may just delay upgraading until next year sometime.
Yep. I bought my M1 13" (with 8gb of ram) when it launched and it's easily the best laptop I've purchased. I want the 16" with the M1 Max because it looks incredible but so far the M1 13" has chewed through everything I've thrown at it, and I use it heavily every single day. Fantastic laptop.
Worth a read if you ever wonder why certain people on here are oddly fixated on the platforms other people are using. (Especially when they have no clue what you even do with your hardware.)
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.