MBPs have gotten worse with linux compatibility over the past few years. It usually takes at least a year to even get usable. It's just not worth getting a Mac to run linux. Mac has successfully made sure that macs are only for MacOS.
That being said, many laptops which were originally for windows have issues like this too. Desktops are usually fine because they tend to use highly standardised components. Laptops, not so much. This is pretty much entirely because companies are not willing to write open source drivers, and the good integration of stuff in package managers only works if drivers fit the packaging requirements. This usually means open source. I imagine this is mostly a problem of slightly higher cost, but also embarrassment of the jankiness of code. For mass produced systems with volume in mind, where the target consumer barely cares about reputation, it just isn't a priority.
In other words, you have to go for something expensive while also not being an OEM who opposes openness.
tl;dr you need to do your research before you buy. Linux needs cooperation from all parties, you can't expect compatibility with everything.
> MBPs have gotten worse with linux compatibility over the past few years. It usually takes at least a year to even get usable.
I don't see a trend there. Some things always worked, while others didn't. Same for the current MBP's. It's the usual problem for hardware where the vendor doesn't provide Linux drivers: you need somebody to write these drivers in their spare time and only a few people are willing to do so. I maintain an overview of the Linux compatibility of the MBP's >=2016 (https://github.com/Dunedan/mbp-2016-linux/) and it's absolutely astonishing what a few people can achieve, even without documentation of the hardware. Given, the hardware support isn't that good yet in Linux, but if there would be 10 instead of 2-3 people working in their spare time on the drivers, first class support would be there pretty soon. So if you care about Linux compatibility of Macs: Get your hands dirty and do something about it!
> It's just not worth getting a Mac to run linux.
For me it's worth it, because it feels like somebody thought really hard about getting things right, which results in really, really nice hardware (except for the latest keyboards and the Touch Bar of course).
That being said, many laptops which were originally for windows have issues like this too. Desktops are usually fine because they tend to use highly standardised components. Laptops, not so much. This is pretty much entirely because companies are not willing to write open source drivers, and the good integration of stuff in package managers only works if drivers fit the packaging requirements. This usually means open source. I imagine this is mostly a problem of slightly higher cost, but also embarrassment of the jankiness of code. For mass produced systems with volume in mind, where the target consumer barely cares about reputation, it just isn't a priority.
In other words, you have to go for something expensive while also not being an OEM who opposes openness.
tl;dr you need to do your research before you buy. Linux needs cooperation from all parties, you can't expect compatibility with everything.