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

Overview

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.

Requirements

Hardware Support Status

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

Working

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.

Broken

  • 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

Reference

For full automatically-generated documentation see: jantman.github.io/puppet-archlinux-workstation/

Limitations

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.

Development

See CONTRIBUTING.md for information about development and contributing.

Other References