HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
Dunedan
mbp-2016-linux
Shell2017–2026
Dunedan / mbp-2016-linux

mbp-2016-linux

State of Linux on the MacBook Pro 2016 & 2017

36Distinct people
56Mentions
1Explicit recommenders
2.3KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

State of Linux on the MacBook Pro 2016 & 2017

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

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…

Dunedan used a recommendation phrase. One indexed comment matches. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:03:16 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year56 dated mentions

Observed mentions: 2017-01-23 17:41:46 UTC to 2026-07-29 01:57:36 UTC.

0510152017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 6 mentions; 1 submissions, 5 comments20172018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 10 mentions; 0 submissions, 10 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 11 mentions; 1 submissions, 10 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 16 mentions; 0 submissions, 16 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 10 mentions; 0 submissions, 10 comments20212022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC615
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC10010
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC11110
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC16016
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC10010
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC000
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC202
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC000
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC000
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC101

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
State of Linux on the MacBook Pro 2016 & 2017 The following document provides an overview about Linux support for Apple's MacBook Pro 2016 and MacBook Pro 2017 models. The MacBook Pro 2016 shares surprisingly many components with the Retina MacBook (e.g. keyboard and touchpad controller, Wi-Fi and bluetooth chipsets, ...), so figuring out how things work on one device should benefit both device families. The Apple MacBook Pro 2017 models are nearly identical to their 2016 counterparts, except for the use of newer Intels Kaby Lake processors instead of Intel Skylake processors, faster memory and updated AMD Radeon GPUs in the 15-inch models. The checks if hardware works below were done with multiple Linux distributions. To state the obvious: The newer the kernel the better. The information below assumes that you run Linux 5.4 or newer. If you don't know what the model identifier for your MacBook Pro is (as that identifier is used on several occasions below), check https://support.apple.com/en-us/HT201300 Contribution If you want to contribute to get Linux running smoothly on the MacBook Pro 2016, report all findings on how to get devices working as pull requests! All help is appreciated. There is also a chat available via gitter for discussions: Current status Device Status Audio input & output Battery Bluetooth FaceTime HD camera Graphics card (Intel) Graphics card (AMD) Keyboard & Touchpad NVMe (internal SSD) Screen Suspend & Hibernation System Management Controller Thunderbolt Touch Bar Touch ID USB Wi-Fi Audio input & output With the applied Cirrus 8409 kernel driver patch from https://github.com/davidjo/snd_hda_macbookpro the internal audio input and output has been verified to work for the MacBookPro13,1, MacBookPro13,3 and MacBookPro14,3. If you are having issues with the internal audio input, and you are using PulseAudio for your Linux distro; then try switching between the built-in audio profiles and see if it's receiving the background sound with help of the pavucontrol command, it should work on 'Analog Stereo Duplex' built-in audio profile. With the MacBookPro14,1 the internal audio output is working, however the internal audio input is not working. For the rest of the MacBook Pro models the audio via HDMI or any USB-connected audio device is working, so at least they can act as a workaround until internal audio is working. See also: https://bugzilla.kernel.org/show_bug.cgi?id=195671 https://bugzilla.kernel.org/show_bug.cgi?id=110561 http://mailman.alsa-project.org/pipermail/alsa-devel/2018-November/141942.html Battery Working fine, including the interface to get current capacity, temperature, etc. Battery life is still suboptimal, because power saving modes for several devices, like display (panel self refresh), SSD or the Thunderbolt controllers, aren't working yet. You can expect a battery life of less than 4 hours. Bluetooth Works out of the box, except for the models without Touch Bar, which still suffer from a bug and need an additional patch as noted in #29 (comment) Transmitting audio using A2DP is still choppy for unknown reasons, maybe because the Bluetooth support is limited to lower bandwidth applications so far. See also: https://bugzilla.kernel.org/show_bug.cgi?id=110901 FaceTime HD camera In the MacBookPro13,1 (without Touch Bar) the FaceTime HD camera is connected via PCIe, like in previous MacBook Pro's. It's working with the bcwc_pcie driver. The models with Touch Bar have the FaceTime HD camera connected through the iBridge device via USB. They are exposed as regular USB video devices and are supported by the uvcvideo driver out of the box. Graphics card Intel Graphical output using the Intel GPU is working out of the box on the MacBookPro 13,1 and 13,2, without dedicated AMD GPU. For the MacBookPro 13,3 with dedicated AMD GPU, only the AMD GPU is enabled when booting an OS which isn't macOS, so you have to follow the instructions in the following link to enable the integrated Intel GPU, if you want to use it: #6 (comment) Intel GPU has not yet been tested on the MacBookPro16,1. Connecting external displays via USB-C-to-DisplayPort cables works fine, including connections with daisy-chaining/MST. An actual tested and working setup includes concurrent output on the internal display and two external displays daisy-chained together with Full HD each. AMD Works out of the box for the MacBookPro13,3 and MacBookPro14,3. The MacBookPro16,1 currently requires a 5.6-RC kernel and the latest amdgpu drivers. Keyboard & Touchpad Works out of the box for the MacBookPro13,* and MacBookPro14,*. For models with a T2 chip (MacBookPro15,* MacBookPro16,1) you'll need the BCE drivers from https://github.com/MCMrARM/mbp2018-bridge-drv and the touchpad and keyboard patches from https://github.com/aunali1/linux-mbp-arch. For earlier Linux versions you can get the driver from https://github.com/roadrunner2/macbook12-spi-driver. The Esc and function keys are part of the Touch Bar in all Touch Bar-models, so follow the instructions for the Touch Bar to get it working. Beside the actual keyboard, the power button and the lid close event work out of the box. Palm rejection based on touch-sizes and disable-touchpad-while-typing are working with this patch to libinput (master branch). See also: https://bugzilla.kernel.org/show_bug.cgi?id=99891 https://bugzilla.kernel.org/show_bug.cgi?id=108331 NVMe Works out of the box. The SSDs used in the MacBook Pros don't seem to support APST. As it's currently unknown how power saving works for those SSDs it's likely they consume way more power than they need to, therefore reducing the battery life. Screen Works out of the box. Adjustable screen brightness only works out of the box for the models without additional AMD Radeon GPU (MacBookPro13,1 and MacBookPro1
Read the full README on GitHub

What Hacker News says

56 sources
I believe this is the definitive resource on the state of Linux on Intel MacBook Pros: https://github.com/Dunedan/mbp-2016-linux I recently made the move away from an out-of-support macOS 12 Monterey to Debian Stable (13 trixie), after some failed attempts to upgrade macOS using OpenCore Legacy Patcher. While Linux support will always remain far from perfect with that series of MBP, it was still much better than I expected compared to my last look many years ago. I happen to get better use out of my particular setup now compared to macOS; as it's basically a glorified streaming device that I interact with through wayvnc/vncviewer out of arm's reach across a table. This also allows me to mostly avoid using the semi-busted Butterfly keyboard. In addition to having something with security updates again, I'll now never need to think about App
Read the rest
le dropping Intel support. I'd also like to note that nix-darwin support on Intel macOS is ending very soon too - but not Linux + nix as a package manager (nixpkgs) since that combination is separate to macOS + nix-darwin.
In About the security content of macOS Tahoe 26.6
> I've been running Linux on Macbook Pro's for years > I haven't done it on the new M laptops From these two comments, I am guessing you are running on pre-touchbar (2016) Macbook Pro's, because the touchbar models before the M1/M2 were absolutely horrendous for running Linux. You can see a table of features that do or do not work still on those models[0], notably wifi -- perhaps the most critical feature for a laptop to be useful as a mobile device. The pre-2016/pre-touchbar Macs are such nice pieces of hardware despite their age, but it gets me wondering why not invest in another hardware platform that supports Linux well, is modern but has high quality hardware? Some examples I can think of are the XPS and the Thinkpad Carbon. [0] https://github.com/Dunedan/mbp-2016-linux
In Linux is not “ready to run” on Apple Silicon, but give it time
> The T1 had zero impact whatsoever on getting Linux running. If you define running as "Linux boots", than this is correct, but as the the T1 chip provides access to the Touch Bar which is necessary to have function keys, I'd argue that there was indeed impact of the T1 chip for Linux essential compatibility. Also access to the webcam is provided by the T1 chip and required a quirk to work, as well as Touch Id, which isn't even supported at all yet. What the parent comment was probably referring to is not the impact of the T1 chip per se, but of all changes Apple introduced with the MacBook Pros featuring the T1 chip, like a different way of interacting with the input devices, a different setup for audio and Bluetooth, a new chipset for Wifi and so on. The sheer number of changes caused these devices having a pretty bad compatibility with
Read the rest
Linux when they came out and even today there are still a lot of unsolved issues around audio, Bluetooth, Wifi and other components [1]. And of course some features like the extended capabilities of the Touch Bar or the Touch Id sensor are still completely unsupported. Btw: T1 MacBook Pros also required a quirk for NVMe, because Apples implementation back then also wasn't standard-compliant [2], [3]. [1]: https://github.com/Dunedan/mbp-2016-linux [2]: https://github.com/torvalds/linux/commit/124298bd03acebd9c9d... [3]: https://lists.infradead.org/pipermail/linux-nvme/2017-Februa...
In Gnome Shell on the Apple M1, bare metal
Linux laptop or desktop: https://linuxpreloaded.com/ or customize a desktop yourself You can checkout compatibility of hardware components @ https://linux-hardware.org/ It's of course possible to keep your Macbook, do the environment some good (less waste) and run linux on your mac: https://github.com/Dunedan/mbp-2016-linux Phone: a phone that supports LineageOS ( https://download.lineageos.org/ ) or GrapheneOS ( https://grapheneos.org/faq#device-support ). Neither are perfect: - LineageOS still has some google config but at least it doesn't have Google Services (use microG for that https://lineage.microg.org/ ) - GrapheneOS only runs on Google Pixel devices so you will be putting money into Google's hands
In Ask HN: What Apple alternatives are you switching to?
2015 MBPs are great Linux machines, everything is supported except for some webcams, but there are out of tree drivers that work perfectly. Sound via Pulseaudio or Pipewire works well out of the box, too. I run Wayland, and libinput[4] gives you pretty much all of the trackpad features and gestures you get in macOS like adaptive acceleration, tapping, multitouch gestures etc. Xorg works well, as well, except its gesture support is limited compared to Wayland's. Depending on the model, WiFi has open source and closed source driver support that both work well, and have Bluetooth support. This is a good reference to see how well your model is supported on Linux[1]. This project will remap your keyboard shortcuts to match the ones you're familiar with from macOS[2]. I've also posted about making Linux and Plasma Desktop act like macOS on HN[
Read the rest
In macOS Nix setup: an alternative to Homebrew (2020)
That code can only boot to a serial console. It is a start, but it will not produce a usable linux system in any way. It doesn't even touch drivers for the GPU/NPU/Bluetooth/WiFi/etc. By the time they can produce a minimum usable system which boots with a display, keyboard, headphones, usb, ssd, and trackpad, the M1 will likely be end of life. M2 went into production two weeks ago. https://asia.nikkei.com/Business/Tech/Semiconductors/Apple-s... You'd need to buy one now, speculating that someday the Asahi work will produce a barely usable system on a laptop you can't even buy anymore. Considering the 2016 macbooks are basically unusable with Linux now 5 years after release, I don't have a lot of hope the M1 ever will be. https://github.com/Dunedan/mbp-2016-linux
In Samsung to jump into laptop processor market with Exynos chip in H2
Agreed. Check out the state of Linux support on Intel Macs that were released in and after 2016[1], it's abysmal. Once Apple started adding non-standard hardware, Linux support never caught up. It isn't like the lack of support is Linux developers' fault. Apple doesn't provide datasheets for their hardware, and they don't cooperate with developers writing drivers for their custom hardware. There are hundreds, if not thousands, of ARM SoCs that "run Linux", but that doesn't mean much because they're actually running Linux forks, and someone needs to maintain those forks, and build and release custom images for each SoC. I don't see M1 Macs diverting from that fate without significant support from Apple themselves. [1] https://github.com/Dunedan/mbp-2016-linux/
In Linux Running on Apple M1
I maintain mbpfan and have contributed to a few other Linux on Mac tools. Linux on Mac is not worth the effort. I ran Ubuntu on a 2011 MacBook Air and now run Fedora on a 2014 MacBook Air. There were several papercuts even with these relatively open models where it took a while to get suspend, trackpad, fan, webcam, wifi, etc. working properly. You will need to use binary drivers for the latter two features and some strange EFI bootloader. It seems that newer MacBook compatibility is worse: https://github.com/Dunedan/mbp-2016-linux I use Debian on ThinkPad at work and plan to buy this or a Dell XPS for my next laptop.
In Would you be willing to fund a Linux port to Apple Silicon?
With regard to #1, Linux support on existing Intel Macbooks since 2015 has been pretty poor[1]. That doesn't give me much confidence about support while Macs get more and more esoteric hardware configurations. As for #2, perhaps, but we've already seen what happens when Apple adds their proprietary hardware to existing x86 systems with things like the T2 chip or the Touchbar. Support for either on Linux is still poor and nonexistent. Full integration with hardware and software on Apple's end means that they don't have to worry about compatibility like 3rd party hardware manufacturers do. [1] https://github.com/Dunedan/mbp-2016-linux
In Would you be willing to fund a Linux port to Apple Silicon?

Showing the 15 most recent of 56 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.