Laptop/Apple
From Wikipedia:
- The Mac (known as Macintosh until 1999) is a family of personal computers designed and marketed by Apple Inc. The product lineup includes the MacBook Air and MacBook Pro laptops, as well as the iMac, Mac Mini, Mac Studio and Mac Pro desktops. Macs are sold with the macOS operating system.
Model list
Model version | Date | Video | Sound | Ethernet | Wireless | Bluetooth | Power management | Other | Remarks |
---|---|---|---|---|---|---|---|---|---|
MacBookPro3,1 Mid 2007 | 2007-08 | Yes | Yes | Yes | Yes | Yes | Yes | ||
MacBook2,1 Mid 2007 | 2009-08 | Yes | Yes | Yes | Yes | Yes | Yes | iSight does not work | See #MacBook2,1 Mid 2007 |
MacBookPro5,2 2009 | 2009-08 | Yes | Yes | Yes | Yes | Untested | Yes | Might need snd_hda_intel model=mb5
| |
MacBookPro5 Mid 2009 | 2016-08-01 | Yes | Yes | Yes | Yes | Yes | Untested | iSight does not work | Switching to TTY does not work with proprietary nvidia drivers, works with nouveau. |
MacBookPro6,2 Mid 2010 | 2017-04-01 | Yes | Yes | Yes | Yes | Yes | Untested | See #MacBookPro6,2 Mid 2010 | |
MacBookAir4,2 Mid 2011 | 2023-04-28 | Yes | Yes | Yes | Yes | Yes | Untested | broadcom-wl may be required for full speed Wi-Fi. | |
MacBookPro9,x | 2018-03-01 | Yes | Yes | Yes | Yes | Yes | Yes | ||
MacBookAir6 2013 | 2014-10-01 | Yes | Yes | Yes | Yes | Yes | Yes | iSight does not work | |
MacBookAir 7,2 Early 2015 | 2021-11-01 | Yes | Yes | External | Yes | Yes | Yes | Guide: https://github.com/AdhamNasr/Apple_mba-Arch-i3 | |
MacBookPro16,1 2019 | 2023-01-21 | Yes | Partial | External | Yes | Yes | No | Must use t2linux provided kernel |
Troubleshooting
MacBook2,1 Mid 2007
Boot loader
See UEFI#UEFI firmware bitness: this machine runs a 32-bit EFI. This means you should make sure the boot loader you choose supports mixed mode booting (i.e. a 64-bit OS on a 32-bit UEFI). For GRUB, use i386-efi
as the target.
Rebooting
The MacBook will not reboot properly by default. It needs the reboot=pci
kernel parameter.
Microphone
If your microphone is not working, you have probably run into a driver bug which makes PulseAudio think the digital microphone is always plugged in, disabling the normal microphone.
To work around it, disable the PulseAudio plug detector with this patch:
--- a/usr/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf +++ b/usr/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf @@ -23,6 +23,8 @@ [Jack Mic] required-any = any +state.plugged = unknown +state.unplugged = unknown [Jack Mic Phantom] required-any = any @@ -31,6 +33,8 @@ [Jack Mic - Input] required-any = any +state.plugged = unknown +state.unplugged = unknown [Element Capture] switch = mute
MacBookAir1,1 Early 2008
Since this model has only one USB port, you may find it easiest to install Arch with a powered USB hub. Plug a USB network adapter (wireless or ethernet adapter to plug into a USB port) and your Arch installation media into the USB hub.
See Mac/Troubleshooting#Wi-Fi. If you cannot get any result by scanning wireless network after boot, unload modules b43
and ssb
and load them again:
# rmmod ssb # rmmod b43 # modprobe b43
There is a good chance you will find what's wrong with DMA from the dmesg log.
Even if you can scan wireless networks after reloading the modules, it is still possible that you will only be able to connect to some networks, but not all of them. According to a more detailed discussion here: https://crunchbang.org/forums/viewtopic.php?id=17368, adding pio=1,qos=0
options to the b43 module can solve this problem.
MacBookAir2,1 Mid 2009
See Mac/Troubleshooting#Wi-Fi. Append options b43 pio=1 qos=0
to /etc/modprobe.d/b43.conf
.
MacBookPro6,2 Mid 2010
Heat issues solved with mbpfan-gitAUR.
On this model only the nouveau driver can be installed when booting in UEFI mode, nvidia-340xx-dkmsAUR causes a black blank screen when Xorg loads.
Suspension and hibernation are dysfunctional (see Debian Wiki) when using the open source nouveau driver: the solution is to use the init_on_alloc=0
kernel parameter.
MacBookPro7,1 Mid 2010
Booting the installation media, you might encounter the following error:
unable to handle kernel NULL pointer dereference at 0000000000000010" during pacpi_set_dmamode.
To fix this problem, boot with the option: acpi=off
. After chrooting, add MODULES=(ata_generic)
to /etc/mkinitcpio.conf
and regenerate the initramfs, see Installation guide#Configure the system.
MacBookAir5,1 Mid 2012
If you have issues with waking from sleep while in X11 such as a black screen or showing the console with a frozen mouse cursor then remove xf86-input-synaptics and install xf86-input-mtrack-gitAUR. This fixed errors such as
(EE) [dix] bcm5974: unable to find touch point 0
and backtraces that causes X11 to crash. This might apply to Version 5,2 assuming they use the same trackpad.
MacBookAir6,1 Early 2014
Unless you have a local repository on a USB disk, you need a USB to Ethernet adapter or a USB wireless adapter supported natively by the kernel to easily install Arch Linux, since you have to install the broadcom-wl-dkms package to make the internal wireless card work.
rEFInd uses 30 seconds to start booting, following Mac/Troubleshooting#Avoid long EFI wait before booting stops rEFInd from loading and it has to be re-installed.
MacBookPro12,1/11,4+ 2015
Wireless
The brcmfmac
driver is working as of 2015-11-20, with newer firmware necessary for working 5GHz support (see here.)
brcmfmac
driver can not be started and the following errors occur in the journal:
brcmfmac: brcmf_chip_recognition: chip backplane type 15 is not supported brcmfmac: brcmf_pcie_probe: failed 14e4:43ba
Then check whether PCI runtime power management is enabled on the device, and disable it if so.
Keyboard and trackpad
Haptic feedback works out of the box due to the trackpad's built-in firmware.
There are several drivers available that provide multitouch support. The following have been confirmed working with the MacBookPro12,1.
For xf86-input-libinput the following configuration emulates some features from the macOS functionality. For more options see libinput(4).
/etc/X11/xorg.conf.d/90-libinput.conf
Section "InputClass" Identifier "libinput touchpad catchall" MatchIsTouchpad "on" MatchDevicePath "/dev/input/event*" Driver "libinput" Option "NaturalScrolling" "true" EndSection
For xf86-input-synaptics the following configuration is necessary to make the touchpad work fully.
/etc/X11/xorg.conf.d/60-magictrackpad.conf
Section "InputClass" Identifier "Trackpad" Driver "synaptics" MatchIsTouchpad "on" MatchDevicePath "/dev/input/event*" EndSection
Graphics
See MacBookPro11,x#Graphics to enable the integrated graphics. See PRIME for details on handling hybrid graphics.
If you are experiencing flickering issues with Xorg, you can set i915.enable_rc6=0
as a kernel parameter, which will disable the power savings for the Intel graphics.
MacBook9,1 Early 2016
- Booting from USB via EFI works fine, when giving the
intremap=nosid
kernel option. Remember to holdAlt
on booting to enter the boot menu. In order to allow Linux boot directly from your system disk, you will first need to install rEFInd from the OSX recovery mode (holdCmd+r
during boot, then open terminal, run the refind-install script). - The wireless card works out of the box with
brcmfmac
. - Suspend / hibernate does not work. The problem seems to be the NVMe that does not wake up. A potential solution to this has been offered, at https://bbs.archlinux.org/viewtopic.php?pid=2176149#p2176149. When booting from an external drive, suspend / hibernate works out of the box.
- Audio recording works out of the box. Audio playback works out of the box for headphones, not for built-in speakers. Cirrus driver patch needed for making the speakers work: https://github.com/leifliddy/macbook12-audio-driver
- The keyboard and the touchpad do not work out of the box. There is a work-in-progress driver available that works well: macbook12-spi-driver-dkmsAUR. Sometimes the touchpad does not work after booting but this can be fixed by reloading the driver with
rmmod applespi && modprobe applespi
. - The keyboard backlight does not work (no solution yet).
- For Bluetooth driver, see macbook12-bluetooth-driverAUR
All Intel MacBooks since 2018
Internal keyboard, trackpad, Touch Bar (if your model has one), Wi-fi, and Bluetooth will not work unless you have necessary kernel modules and firmwares. You should follow the guide on https://wiki.t2linux.org/distributions/arch/installation/ for hardware support.
iMac 2020
It seems the amdgpu driver has problems to set the native 5k resolution. If the display gets corrupted during boot when the amdgpu driver module is loaded, try forcing a lower resolution. Add e.g. video=2560x1440@60
to your kernel parameters.