9 ms·
I used MacBooks with Linux starting in 2006 till the end of last year. That's when I finally gave up. I really love the hardware Apple produces, but we're at a
by Dunedan 6y ago
I used MacBooks with Linux starting in 2006 till the end of last year. That's when I finally gave up. I really love the hardware Apple produces, but we're at a point where I believe it's not feasible anymore to use Linux on MacBooks.
For the MacBook Pros 2016 and up I put significant effort into trying to get mainline Linux running as smoothly as possible by documenting and coordinating the efforts to have drivers for all internal devices [1], but just have a look where we're at over three years later: Audio doesn't work properly, Wifi does neither (expect for the non-TouchBar models, like the one the OP uses), hibernation is still somewhat broken and let's not even start talking about the advanced abilities of the TouchBar or support for TouchId. I could go on.
Models with T2 chip (2018 and up) are even worse in some regards and I believe it won't get better anymore. Next year we might see MacBooks with custom ARM SoCs and that's where I expect the driver situation will get even more dire. As Apple continuous to use more and more custom designed components, the effort for proper Linux drivers for such hardware only increases.
Most of these problems could be easily solved if Apple would simply make documentation for their hardware available. There are lots of great people passionate about running Linux on Macs out there, but reverse-engineering the hardware is what makes it really complicated to produce robust drivers for it.
I sincerely hope my predictions are wrong and Linux will still go strong on Macs in future as well, but for the time being I'm done with Macs.
[1]: https://github.com/Dunedan/mbp-2016-linux https://github.com/Dunedan/mbp-2016-linux
- viraptor 6y ago> Most of these problems could be easily solved if Apple would simply make documentation for their hardware available. Not the wifi one. The problem there is that the firmware itself is broken in the paths that linux implements the wifi stack. (fullmac) Mac is not affected, but practically the firmware is still broken. It's also a known/won't-fix case, so the documentation itself won't help.
- pansa2 6y agoDo the latest Macs still support running Windows via Boot Camp? What would you recommend if I need to run both Linux and Windows alongside MacOS? Virtualisation? Or would I be better off using more than one machine?
- cpach 6y agoVirtualbox is very good IMHO. Vmware also has a similar product.
- sdrothrock 6y agoJust a warning: Virtualbox with hard drive files on an external USB hard disk has been broken for me on Catalina on my both of my Mac Minis (late 2012, 2018) and iMacs (late 2012, mid 2017). That particular functionality worked fine on Mojave. It works fine as long as I keep my VDI files on my system drive, but that can be a pain since they're so large.
- aruggirello 6y agoThis is, in my experience, a major pain point of VirtualBox that I don't see why Oracle apparently doesn't care about, despite being aware of the issue since at least 2017. We're stuck in a situation where fixed-size disk images are too large to use if you care about your host's disk space (unless they're created with an "almost full" target usage), and dynamic sized images tend to grow to unwieldy sizes unless you regularly zero-out empty spaces from the guest (cat /dev/zero >somefile on Linux, sdelete -z C on Windows IIRC), then VBoxManage modifyhd --compact the image from the host once the VM is off. But it shouldn't be this way. VirtualBox added support for TRIM years ago, and guest OSes could very well happily live inside dynamic images - if it worked at all. In practice (AFAIK, for the few who ventured to use it) - it doesn't work: https://www.virtualbox.org/ticket/16795 https://www.virtualbox.org/ticket/16795
- verisimilitude 6y agoExternal VDIs -- that's exactly my use-case, but I've stayed back on Mojave. Any bug page I should follow to see if this gets resolved for Catalina?
- sdrothrock 6y agoI'm not sure, honestly; there used to be a really long forum thread with random hacks that helped some (but not all) people and there were apparently a lot of conflated bugs that confused the whole thing, so I stopped trying to follow it and gave up.
- deleted 6y ago[deleted]
- amaccuish 6y agoYes, I have a 2015 MacBook Air that runs great apart from the bluetooth using headphones is not usable, super choppy. But it took ages to get here and I've still got weird scripts I don't really understand to allow me to close the lid and open reliably. As an aside, I'm finding battery and performance much better on Ubuntu 20.04 and kernel 5.4+
- skrtskrt 6y agoI just booted my 2015 MBA with Mint (Cinnamon) last week and everything worked automatically. It had to install one proprietary driver for WiFi, which the Mint installer prompted me to approve then installed. I assumed it was because this machine didnt fall into the “newer Macs that have issues with Linux” bucket
- Dunedan 6y agoCorrect. The problems started with the 2015 12" MacBook and the 2016 MacBook Pro. Everything older than that should be supported pretty well by Linux.
- bugsdabunny 6y agoI'm have issues with sleep and closing the lid as well, do you have a link to those scripts? I could never get it working so I gave up a while ago and leave it on all the time
- pcr910303 6y agoOk, I was planning to put a PR on this repo - might be just faster to inform the maintainer directly! :-) > Audio doesn't work properly, Wifi does neither (expect for the non-TouchBar models, like the one the OP uses) Wifi has a (pretty stable) proper workaround now, you might want to see this[0]. [0]: https://bugzilla.kernel.org/show_bug.cgi?id=193121#c52 https://bugzilla.kernel.org/show_bug.cgi?id=193121#c52
- Dunedan 6y agoI'm well aware of this kernel bug report, but even with all the reported workarounds I was never able to get stable 2.4Ghz and 5Ghz wifi to work. As that's also the case for other users I believe it's not justified to mark wifi as working.
- reaperducer 6y agoI envy your knowledge and ambition. What you've done is beyond my capabilities. But I think the crux of the problem is that people are trying to run commodity software on custom hardware. That just won't work long-term. Linux is commodity software, that runs great on white box commodity hardware. macOS is custom software that runs great on custom hardware. Each has its place and purpose. It's like driving a car on train tracks. Yes, it will get you somewhere, but it's not the right match of tools and environment. And it's inevitably going to be a bumpy ride.
- banachtarski 6y agomacOS runs horribly on custom hardware, it just runs better than other commodity software. Any application that pushes frames/performance would do better on Linux/Windows on the equivalent amount of silicon. What's missing because the hardware and drivers is so closed is the feedback loop between application/game devs and the vendors. If I have an issue with what I'm building, I can hop into a chat and immediately talk to Nvidia/AMD/Intel folks/etc. In some cases, they share code, in some cases they release a driver update. In pretty much all cases, the code I'm working on gets better. Apple lacks this feedback loop, and their drivers are garbage.
- danieldk 6y agoApple lacks this feedback loop, and their drivers are garbage. There may be exceptions, but I never had anything like the graphics glitching that the Nouveau drivers had or known problems that would lock up Intel GPUs every one 1-2 days or consistently in some workloads [1], or broken Intel WiFi drivers. The recent Intel driver problems literally took months 4-5 months to fix, while they show-stopping errors were in an LTS kernel release that was rolled out in various distributions. If I have an issue with what I'm building, I can hop into a chat and immediately talk to Nvidia/AMD/Intel folks/etc. In some cases, they share code, in some cases they release a driver update. You mean like asking NVIDIA for Wayland support following the same standards as everyone else? That worked well. Everyone's drivers are bad, but I don't believe for a second that Apple's are measurably worse than Linux or Windows drivers. [1] https://linuxreviews.org/Linux_Kernel_5.5_Will_Not_Fix_The_Frequent_Intel_GPU_Hangs_In_Recent_Kernels https://linuxreviews.org/Linux_Kernel_5.5_Will_Not_Fix_The_F... [2] https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.6-Broken-Intel-IWLWIFI https://www.phoronix.com/scan.php?page=news_item&px=Linux-5....
- boulos 6y agoWhat do you run on now? My worry is that while Apple is continually making their machines less and less useful for development (meaning macOS as an environment), that the Linux laptop story remains bad even on the Dell “Ubuntu Certified” machines or the Lenovo line of newer Thinkpads. I think this means I’m resigned to “No, I would rather ssh to a Linux workstation” because I want to spend ~0 hours per year fighting with “WiFi doesn’t work, Audio doesn’t work, or Suspend sucks”. A recent set of threads here suggested buying a sufficiently old Thinkpad that the Linux community has worked out the bugs. Thoughts? Edit: Thanks for the responses! (Sounds like a year or so back is plenty for solid support).
- eikenberry 6y agoIf you want a laptop that runs Linux great out of the box, buy a Linux laptop. There are plenty of known dealers that sell them. System 76 getting the most press recently. If you want to stick with a specific brand (eg. I usually buy Lenovo) the trick has always been to buy one gen back. Laptops are all custom hardware by nature and if the manufacturer isn't spending the time to make sure Linux works on it then it is up to the community, and they can't do it until it is available. Once available it seems to take a year or so to get everything ironed out (assuming it is a major brand popular among Linux users). This really applies equally well to small, token lines, like Dell's, as they are really only a few steps ahead of the community due to limited resources.
- Dunedan 6y agoI use a ThinkPad now and I can't complain about missing hardware support. Something which feels almost magical to me is that Lenovo supports Linux Vendor Firmware Service (LVDS) [1] which means you can issue a simple "fwupdmgr get-updates && fwupdmgr update" and reboot and you got the latest firmware updates for your machine. That's completely unthinkable with MacBooks as firmware updates come bundled with macOS updates and therefore the only good mechanism to update the firmwares is to run macOS as well. Regarding the need to fix occasional problems when using Linux: There is no silver bullet. While Linux has some advantages over the other operating systems, it also has its disadvantages. One disadvantage is that it's still quite niche, which I believe is the main reason for such problems. However from my experience it has already gotten _a lot_ better over the past two decades. More people are using Linux nowadays which results in companies putting more effort and resources into Linux development which then results in a better overall experience for everybody. If your goal is to spend no time at all fixing or tweaking your system, I'd say Linux isn't the right choice for now. [1]: https://fwupd.org/ https://fwupd.org/
- bitwize 6y agoJust use a VM. Macs are designed to run macOS. Hardware and software working together to create an integrated product.
- mindfulhack 6y agoI can see it's been a long and slow painful journey of getting it to work on modern MBPs, and I want to thank you for the consistent work you've put into this quest which many of us are following and benefiting from. I've seen that github go from quite a hopeless situation, to a surprisingly complete amount of things working, under your watch. I do agree with your assessment that the ARM future isn't looking good, but I'm still hopeful, and we really won't know until people try it out. Many of us, like me don't need all features working e.g. I can do without WiFi if need be, so I don't feel as defeated as you, due to having not as complete a goal set. I urge you to put a clear message at the top of the github about your current status of involvement. It may encourage others to step up and take the reins for a while? You've done an amazing job, maybe a break is in order!
- Dunedan 6y ago> I urge you to put a clear message at the top of the github about your current status of involvement. It may encourage others to step up and take the reins for a while? You've done an amazing job, maybe a break is in order! No worries, I'm still accepting PRs and occasionally moderate discussions when they are in need of moderation.