Laptop/Apple: Difference between revisions

From ArchWiki
(replace Template:Ya with Template:Yes)
m (→‎Model list: fix broken section link)
 
(64 intermediate revisions by 13 users not shown)
Line 1: Line 1:
[[Category:Apple]]
[[Category:Apple]]
[[ja:ノートパソコン/Apple]]
[[ja:ノートパソコン/Apple]]
[[zh-hans:Laptop (简体中文)/Apple]]
[[zh-hans:Laptop/Apple]]
{{Laptops navigation}}
{{Laptops navigation}}
{{Related articles start}}
{{Related|Mac}}
{{Related articles end}}


See also [[Wikipedia:MacBook]].
From [[Wikipedia:Mac_(computer)|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.  


{{HCL/Laptops table header}}
== Model list ==
| MacBook Pro Rev3 || x86_64 2007.08 || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || Cpufreq + pm-utils || Not Used  || {{-}} || {{-}}
 
{{Accuracy|According to [[Mac/Troubleshooting#iSight]], iSight should be working since {{Pkg|linux}}≥2.6.37.|section=Webcam}}
 
{{Laptops table header}}
| MacBookPro3,1 Mid 2007 || 2007-08 || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || ||
|-
| MacBook2,1 Mid 2007 || 2009-08 || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{R|iSight does not work}} || See [[#MacBook2,1 Mid 2007]]
|-
|-
| MacBook Mid2007 || i686 2008.03 || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || Not used || Cpufreq + laptop-mode-tools || Not Used || {{-}} || Suspend-to-RAM working ok
| MacBookPro5,2 2009 || 2009-08 || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Y|Untested}} || {{Yes}} || || Might need {{ic|1=snd_hda_intel model=mb5}}
|-
|-
| MacBook Mid2007 || x86_64 2009.08 || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || pm-utils || Not Used || {{-}} || All works out-of-the box, except iSight
| MacBookPro5 Mid 2009 || 2016-08-01 || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Y|Untested}} || {{R|iSight does not work}} || Switching to TTY does not work with proprietary nvidia drivers, works with nouveau.
|-
|-
| MacBook Pro 5,2 17" || x86_64 2009.08 || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || Not used || cpufreq + pm-util || Not Used || {{-}} || suspend,hibernate OK
| MacBookPro6,2 Mid 2010 || 2017-04-01 || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Y|Untested}} || || See [[#MacBookPro6,2 Mid 2010]]
|-
|-
| Macbook Air 2013 || x86_64 2014.10.01 || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || Out of the box || Unknown || {{-}} || All works out of the box except webcam (no support for webcam at all)
| MacBookAir4,2 Mid 2011 || 2023-04-28 || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Y|Untested}} || || [[Broadcom wireless#broadcom-wl|broadcom-wl]] may be required for full speed Wi-Fi.
|-
|-
| Macbook Mid2006 || i686 2014.10.01 || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || With HID to HCI conversion || Out of the box || {{-}} || The synaptics driver allows triple click, a feature unavailable in OSX. || Everything except webcam, use isight-firmware-tools
| [[MacBookPro9,x]] || 2018-03-01 || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || ||  
|-
|-
| Macbook Pro mid-2009 || x86_64 2016.08.01 || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || Unknown || {{-}} || Virtual console does not display when switching from a graphical session with proprietary nvidia drivers. This does not happen on nouveau drivers. || Everything except iSight works out of the box
| MacBookAir6 2013 || 2014-10-01 || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{R|iSight does not work}} ||  
|-
|-
| Macbook Pro mid-2010 || x86_64 2017.04.01 || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || Unknown || {{-}} || Everything seemed to work. However, there were some unresolved heat issues. These could be solved with {{AUR|mbpfan-git}} || broadcom-wl drives were used for wifi
| MacBookAir 7,2 Early 2015 || 2021-11-01 || {{Yes}} || {{Yes}} || {{G|External}} || {{Yes}} || {{Yes}} || {{Yes}} || || Guide: https://github.com/AdhamNasr/Apple_mba-Arch-i3
|-
|-
| MacBook Pro (Mid-2012) || x86_64 2018.03.01 || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || laptop-mode-tools || {{-}} || {{-}} || You will need an Eth or Teather to install the BCM wireless drivers as they're non-free and don't ship with the kernel, more info can be found at [[MacBookPro9,2 (Mid-2012)#Wireless]].
| MacBookPro16,1 2019 || 2023-01-21 || {{Yes}} || {{Y|Partial}} || {{G|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 {{ic|i386-efi}} as the target.
==== Rebooting ====
The MacBook will not reboot properly by default. It [https://askubuntu.com/a/7132 needs] the {{ic|1=reboot=pci}} [[kernel parameter]].
==== Microphone ====
{{Merge|PulseAudio/Troubleshooting|This is [[PulseAudio]] specific and was added [[Special:Diff/664388|a year ago]] as a workaround for this model but is not specific to it.}}
If your microphone is not working, you have probably run into [https://www.mail-archive.com/pulseaudio-discuss@lists.freedesktop.org/msg20703.html 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:
{{bc|1=
--- 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
}}
{{Note|This needs to be reapplied manually after every PulseAudio upgrade. PulseAudio does not support yet local customization files that could make this patch permanent.}}
=== 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 {{ic|b43}} and {{ic|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 {{ic|1=pio=1,qos=0}} options to the b43 module can solve this problem.
=== MacBookAir2,1 Mid 2009 ===
See [[Mac/Troubleshooting#Wi-Fi]]. [[Append]] {{ic|1=options b43 pio=1 qos=0}} to {{ic|/etc/modprobe.d/b43.conf}}.
=== MacBookPro6,2 Mid 2010 ===
Heat issues solved with {{AUR|mbpfan-git}}.
On this model only the [[nouveau]] driver can be installed when booting in UEFI mode, {{AUR|nvidia-340xx-dkms}} causes a black blank screen when Xorg loads.
Suspension and hibernation are dysfunctional (see [[debian:InstallingDebianOn/Apple/MacBookPro/7-1#Fix_Suspending_and_Hibernating_on_Bullseye|Debian Wiki]]) when using the open source nouveau driver: the solution is to use the {{ic|1=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: {{ic|1=acpi=off}}. After chrooting, add {{ic|1=MODULES=(ata_generic)}} to {{ic|/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 {{Pkg|xf86-input-synaptics}} and install {{AUR|xf86-input-mtrack-git}}. 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 {{Pkg|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 {{ic|brcmfmac}} driver is working as of 2015-11-20, with newer firmware necessary for working 5GHz support ([https://bugzilla.kernel.org/show_bug.cgi?id=100201#c65 see here.])
{{Note|On the Macbook Pro 12,1 if the {{ic|brcmfmac}} driver can not be started and the following errors occur in the journal:
{{bc|
brcmfmac: brcmf_chip_recognition: chip backplane type 15 is not supported
brcmfmac: brcmf_pcie_probe: failed 14e4:43ba
}}
Then check whether [[Power management#PCI Runtime Power Management|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 {{Pkg|xf86-input-libinput}} the following configuration emulates some features from the macOS functionality. For more options see {{man|4|libinput}}.
{{hc|/etc/X11/xorg.conf.d/90-libinput.conf|2=
Section "InputClass"
    Identifier "libinput touchpad catchall"
    MatchIsTouchpad "on"
    MatchDevicePath "/dev/input/event*"
    Driver "libinput"
    Option "NaturalScrolling" "true"
EndSection
}}
For {{Pkg|xf86-input-synaptics}} the following configuration is necessary to make the touchpad work fully.
{{hc|/etc/X11/xorg.conf.d/60-magictrackpad.conf|2=
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 {{ic|1=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 {{ic|1=intremap=nosid}} kernel option. Remember to hold {{ic|Alt}} 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 (hold {{ic|Cmd+r}} during boot, then open terminal, run the refind-install script).
* The wireless card works out of the box with {{ic|brcmfmac}}.
* Suspend / hibernate does not work. The problem seems to be the NVMe that does not wake up. 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: {{AUR|macbook12-spi-driver-dkms}}. Sometimes the touchpad does not work after booting but this can be fixed by reloading the driver with {{ic|rmmod applespi && modprobe applespi}}.
* The keyboard backlight does not work (no solution yet). 
* For Bluetooth driver, see {{AUR|macbook12-bluetooth-driver}}
=== 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. {{ic|1=video=2560x1440@60}} to your [[kernel parameters]].

Latest revision as of 13:38, 16 October 2023

AcerAppleASUSDellHPIBM/LenovoMSISamsungSonyToshibaOther

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

The factual accuracy of this article or section is disputed.

Reason: According to Mac/Troubleshooting#iSight, iSight should be working since linux≥2.6.37. (Discuss in Talk:Laptop/Apple#Webcam)
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

This article or section is a candidate for merging with PulseAudio/Troubleshooting.

Notes: This is PulseAudio specific and was added a year ago as a workaround for this model but is not specific to it. (Discuss in Talk:Laptop/Apple)

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
Note: This needs to be reapplied manually after every PulseAudio upgrade. PulseAudio does not support yet local customization files that could make this patch permanent.

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.)

Note: On the Macbook Pro 12,1 if the 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 hold Alt 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 (hold Cmd+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. 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.