Debian Jessie and MacBookPro 13 (2015/12,1) with Kernel 4


5.00 avg. rating (95% score) - 3 votes


I recently had the chance to get the latest MacBookPro 13 for my new work at Criteo. If you follow me and remember, this is not the first time I want to use Debian on a new MacBookPro version.


History repeats itself and as you can think, some things are not working out of the box on Debian Jessie. Here are the issues I encountered and how i could fix some of them:

  • Wifi: not supported on 3.16 kernel version. Need the 3.19 at least. Fixed
  • Fn keyboard key: this key is not recognized by the kernel. Fixed
  • Sound: sound is not working because of the boot sequence. Fixed
  • SSD lockups: I encountered a freeze like on the previous mac du to SSD. Fixed
  • Screen backlight: xbacklight doesn’t work. Fixed with a workaround
  • Video drivers: some slowdown due to missing video driver. Fixed
  • Keyboard inversed keys: the ‘@’ and ‘<>’ are inversed. To fix
  • Trackpad: no right click because of the new mechanism. To fix
  • Webcam: no chance to work now as no drivers exists 🙁

Now you’ve got an overview. Let’s take each point to see how you can fix the one I could resolve.


The wifi broadcom chipset is unfortunately not working out of the box (source). For this you need a kernel version at least equal to 3.19. As the Linux Kernel 4 is out, I recompiled a kernel with this version and added the wifi support in it. Here is the procedure:

Reboot and boot to the new kernel, it works 🙂

Fn keyboard key

Following this thread, the Fn key doesn’t work at all because not recognized by the kernel. I included the patch in the kernel as well. So you can use the same procedure than above to install the kernel.

Also, here is another interesting link.


Regarding the sound, it’s like for the previous MacBookPro, you need to adjust some module parameters:


SSD lockups

Here is the line I’ve got in /etc/default/grub to resolve the problem:

Screen backlight

I used a script for the previous Mac (11,1) but needed to update it to make it work properly. Here is the updated version:

As I’m using i3 wm, I added those lines in my configuration to make keyboard bindings:

As you can see, some sudo commands are required, so I’ve created a file in /etc/sudoers.d with this content:

Video driver

You can get working video drivers by installing experimental version of xorg intel package. You need to get experimental repository in your sources.list, then upgrade the package:


I have some work to do to make all the things work and wait for some drivers to be released. Debian Jessie is now out and I’ll switch to the next testing branch. This will permit to avoid doing so manual stuffs like kernel recompilation.

If you encounter other issues, you should also take a look at Arch Linux wiki on the previous MacBookPro version as a lot of things corresponding to this new MacBooPro version as well:,x

Author: Deimos

I'm a passionate DevOps. I love transmit my skills and I love working on high availability infrastructures/technologies.


  1. Hey,

    thanks for your work – your kernel works flawlessly. I just wonder, can you provide the config? I am not satisfied with the console font and would like to check if sun12x22 is available or otherwise include it.

  2. cat /etc/X11/xorg.conf.d/10-keymap.conf
    Section “InputClass”
    Identifier “keyboard catchall”
    MatchIsKeyboard “true”
    Driver “evdev”
    Option “XkbOptions” “apple:badmap”

    this helped me with keys using (at least when i was using kernel 3.18.23, right now compiling 4.2.5 to check the fn key )

  3. sorry, “” got filtered the above helped me with the ‘’ which was inversed with ‘º ª’ keys

  4. Hi, have you upgraded to stretch (debian testing) now? How is it going? I’m thinking of getting a MacBook Pro 12,1, and installing debian on it, so any feedback would be highly appreciated!

    • Hi,

      It works very well on stretch. Just the webcam is not working but it looks like there’s a working patch on GitHub (I didn’t try).

      • Ok, great, that’s good news. Thank you for the feedback!

      • Ok, just installed stretch. Everything was fine, except:

        – A confusing message when configuring the wifi adapter. It complains it needs a file called brcmfmac43602-pcie.txt, which I didn’t find anywhere. Anyhow, the adapter works even withouth that .txt file, provided you provide the non-free brcmfmac43602-pcie.bin firmware file.
        – I had some trouble with partitioning, but in the end I managed to solve all the strange issues that I had encountered.

        Just curious–what desktop environment are you using, and how did you configure it for the retina (HiDPI) display? I use KDE, and had to add a configuration file for Xorg, specifying the real size of the monitor. Otherwise X defaulted to a mere 96 DPI resolution, and everything was annoyingly small.

        • Hi Solitone,

          I’m using i3 and I’m using HiDPI fonts to get it correct. You can find more relevant information on the Arch Linux wiki.

          Hope this will help

Laisser une réponse