Configure Arch Linux on a MacBook Retina

Jason Antman



27,549 latest version

5.0 quality score

Version information

  • 0.3.0 (latest)
released Feb 3rd 2018
This version is compatible with:
  • Puppet Enterprise 2018.1.x, 2017.3.x, 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
  • Puppet >= 4.0.0 < 6.0.0
  • Archlinux

Start using this module


jantman/archlinux_macbookretina — version 0.3.0 Feb 3rd 2018

Table of Contents

  1. Overview
  2. Requirements
  3. Hardware Support Status
  4. Reference - An under-the-hood peek at what the module is doing and how
  5. Limitations - OS compatibility, etc.
  6. Development - Guide for contributing to the module
  7. Other References - Information on Arch Linux


TravisCI Build Status Badge PuppetForge version badge Project Status: Active - The project has reached a stable, usable state and is being actively developed.

Puppet module and accompanying documentation to install/setup Arch linux on a MacBook Pro Retina using Puppet (version 4 or 5).

This is the puppet module I use to manage my shiny new MacBook Pro Retina (mine is a MacBookPro11,4).

Important Notice: It is highly recommended that you only run this module on a brand new system; it makes some opinionated choices that may cause problems on existing systems.


Hardware Support Status

Mid-2015 MacBookPro11,4 as of 2018-02-02


Or mostly-working:

  • Touchpad using Kernel 4.2+ and xf86-input-synaptics; works for tap-to-click, drag, two-finger scroll, and 2- or 3-finger taps (sometimes) for different mouse buttons.
  • Networking on MacBookPro 11,4
    • USB ethernet adapter A1277 works out-of-the-box
    • BCM43602 AirPort Extreme (14e4:43ba) works with kernel built-in brcmfmac driver, autodetected, both 2.4GHz and 5GHz.
  • Sound - Works. Under KDE/Phonon, needed to unmute/enable the "Built-in Audio Analog Stereo" (detected "Built-in Audio Digital Stereo (HDMI)" as default).
  • Video - video works with the proprietary nvidia driver, the default in this module.
    • External Displays - Tested OK using both direct HDMI and Thunderbolt to HDMI (1 or 2 external monitors); works seamlessly.
    • Display/Desktop Scaling - This can be fixed within KDE:
      • System Settings -> Fonts: check off "Force fonts DIP" and set to 144
      • System Settings -> Icons -> "Advanced" tab: set them all to 48
      • Click the menu button on the far right edge of the Panel, then drag the "Height" box up until the scale/size looks good
    • Screen Backlight Adjustment - works using /sys/class/backlight/acpi_video0/brightness, the sliders on 'KDE5 System Settings -> Energy Saving' or the keyboard function keys.
  • Hibernate / Suspend to Disk - doesn't wake up without long hold of power button & then turn back on. Session resumes once that's done.
  • SD Card Reader - Working out of the box.
  • Fans - macfanctld (AUR)
  • Webcam - This works properly in Linux using the bcwc-pcie-dkms and bcwc-pcie-firmware AUR packages.
  • Bluetooth - Per wiki, fully supported as of kernel 4.4.0. Works with my bluetooth mouse.


  • Suspend to RAM - (haven't tested in many months; I never use this) doesn't wake up; long hold of power button & then turn back on gives a fresh boot.
  • Lid Close - suspends to ram and doesn't wake up, but this could be a configuration issue. I never use this functionality.

Untested / To Do


For full automatically-generated documentation see:


This module is only usable with Arch Linux on a MacBook Pro Retina.

It assumes that you have a relatively vanilla base install of Arch, such as the one I document in my workstation-bootstrap module, pretty much the same as the Arch Linux Installation Guide documents.


See for information about development and contributing.

Other References