MacBookPro5,5
MacBook Pro "Core 2 Duo" 13" (Mid-2009)
Contents
Overall Status
Device/task |
Wheezy |
Buster |
Core Components |
|
|
Boot Standard Kernel: |
[?] |
|
LAN network card: |
[?] |
|
Detect (external) CD/DVD: |
[?] |
|
Detect hard drives: |
[?] |
|
Extra Features |
||
CPU Frequency Scaling |
[?] |
[?] |
Hibernation |
[?] |
[?] |
Sleep / Suspend |
[?] |
|
Xorg |
[?] |
|
- OpenGL |
[?] |
[?] |
- Resize-and-Rotate (randr) |
[?] |
[?] |
- TwinView/Xinerama |
[?] |
[?] |
- External screens: |
[?] |
|
- THUNDERBOLT->DP |
[?] |
[?] |
- THUNDERBOLT->VGA |
[?] |
[?] |
- THUNDERBOLT->DVI |
[?] |
[?] |
- THUNDERBOLT->HDMI |
[?] |
[?] |
- Mini ?DisplayPort -> HDMI |
[?] |
|
Mouse |
|
|
- Built-in (Touchpad) |
[?] |
|
Bluetooth |
[?] |
|
Wireless/Wifi |
[?] |
|
Keyboard's Hotkeys |
[?] |
|
Sound (Alsa+Pulseaudio) |
[?] |
|
Integrated Camera |
[?] |
|
USB 2.0 ports |
[?] |
|
Thunderbolt ports |
[?] |
[?] |
Card Reader |
[?] |
|
Legend :
= OK ;
Unsupported(No Driver) ;
= Error (Couldn't get it working); [?] Unknown, Not Test ; [-] Not-applicable
= Configuration Required;
= Only works with a non-free driver and or firmware
Buster
Installation
The graphical installation runs flawlessly, either booting from a USB stick or a CD ROM.
Note: the WiFi adapter requires a non-free driver, so to perform a network install or download updates during install you need to connect your MacBook to the network using an Ethernet cable.
WiFi adapter
Hardware: Broadcom Limited BCM4322 802.11a/b/g/n Wireless LAN Controller
The WiFi adapter requires the non-free wl driver. The page also suggests the alternative bcm43xx driver; you might want to consider this should wl not work for you.
Once the package is installed, reboot your system.
Graphics Card
Hardware: Nvidia ?GeForce 9400M
The free, built-in Nouveau driver you get during the system installation works just fine.
However, you might experience:
Laptop heating up a lot when running certain graphic-intensive tasks;
Troubles plugging the laptop to an external monitor (Mini ?DisplayPort -> HDMI).
If these are issues for your laptop usage, you might want to install the proprietary NVIDIA driver on this laptop.
Installing the NVIDIA drivers
Here is the Debian wiki page to install the NVIDIA driver.
Differently from the guidelines, here is what my lshw looks like:
# lshw -businfo -class bridge -class display
Bus info Device Class Description
=======================================================
pci@0000:00:00.0 bridge MCP79 Host Bridge
pci@0000:00:03.0 bridge MCP79 LPC Bridge
pci@0000:00:09.0 bridge MCP79 PCI Bridge
pci@0000:00:10.0 bridge MCP79 PCI Express Bridge <- NOTE THIS
pci@0000:02:00.0 display C79 [GeForce 9400M] <- NOTE THIS
pci@0000:00:15.0 bridge MCP79 PCI Express Bridge
pci@0000:00:16.0 bridge MCP79 PCI Express Bridge
So, here is what the /etc/grub.d/01_enable_vga.conf I produced looks like:
cat << EOF
setpci -s "00:10.0" 3e.b=8
setpci -s "02:00.0" 04.b=7
EOF
Remember to set the correct permissions to this file:
chmod 755 /etc/grub.d/01_enable_vga.conf
and finally update grub.
/usr/sbin/update-grub
Everything else is just what the wiki describes. Please, be aware you need the nvidia-legacy-340xx-driver driver for your ?GeForce 9400M. You might find it useful to install and then simply run nvidia-xconfig to create a new xorg.conf file which uses the NVIDIA driver. Finally, reboot the system.
Re-enable Display Brightness
The (multimedia) keys to adjust the display brightness are disabled (for some reason) after the NVIDIA driver installation. Simply, add the option "RegistryDwords" "EnableBrightnessControl=1" to the device configuration in your /etc/X11/xorg.conf file.
Mine looks like this:
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
Option "RegistryDwords" "EnableBrightnessControl=1"
EndSection
Disable Logo Display at Boot
If you wan to gain >1s at boot, you might want to disable the NVIDIA logo display at boot, simply add the option "NoLogo" "1" to the screen configuration of your /etc/X11/xorg.conf file.
Mine looks like so:
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "NoLogo" "1"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Troubleshooting
Volume Multimedia Keys
The volume (multimedia) keys work out-of-the-box, but they need to be enabled by your desktop environment. In XFCE, simply add the Pulseaudio Plugin to your panel.
Wheezy
Installation
Install Debian "Wheezy" Linux on MacBook Pro 5,5
I used a wired ethernet connection for this install. I removed the OSX rescue partition to gain some space since I have the stock hard drive. I found out later in the Linux install OSX didn't reclaim the freespace from the rescue partition, yet disk utilty's command line and GUI said otherwise. My Linux partition is only 60GB. May sound low but it works fine for me. I am in the middle or creating a iSCSI server as well for more added space.
Needed for the install USB Jumpdrive 512MB or higher formated to FAT32 A Windows PC with unetbootin (Mac version freaks out after it install syslinux)
rEFInd
Debian Wheezy unoffical firmware netboot install CD image
gDisk
Install rEFInd onto the mac. Create your partition with Disk Utility. Format the new partition as ExFAT so you can easily identify it in the Linux install. Pop in the USB jump drive, reboot and install.
Partition the system manually and create a single partition for ROOT /. If yo want a swap partition you can delete the rescue partition and use that for swap so Linux can behave. Since my system has 8GB of RAM I don't really need swap space. The installer will complain about no EFI partition found, just continue and ignore it for now.
Select the default Linux kernel and when it asks for the initrd drivers just use the generic: include all available drivers.
When setting up APT select yes on using non-free software. Also besure to enable the updates. For the selection of software I picked the base, laptop and Deskop GUI.
Now that was the simple part. The hard part is getting the system to boot. Since the installer could not find a EFI partition for some silly reason we have to create a new one per'say. Reboot into OSX, open terminal and run "sudo gdisk /dev/disk0".
Do the following in gfdisk
x ,enter o ,enter n, enter o, enter w, enter
resintall rEFInd and after installing it run "bless --info" and make sure the two lines state
Blessed System Folder is /EFI/refind Blessed System File is /EFI/refind/refind_x64.efi
Now we need to edit rEFInd's config file. In terminal type in "sudo nano /EFI/refind/refind.conf"
Find scanfor, remove the hash # and change manual to biosexternal.
Save and exit
I almost forgot, you need to copy the ext4 driver from rEFInd to /EFI/refind/drivers. Unless you're using a older ext2 filesystem then you don't have to. Now you can boot into Linux.
-= If rEFInd doesn't load up run the install script again. =-
Wireless still has firmware issues but can be fixed. nvidia driver has to be installed, i don't like the opensource driver. Touchpad needs tweaking.
Wireless fix
open root terminal and issue apt-get update. Then install firmware-b43-installer via apt apt-get install firmware-b43-installer Simple easy fix and now the wireless will work.
Nvidia video
Issue apt-get install nvidia-glx
- NOTE: this will take time bcause it will download a bunch of packages to compile the kernel module. It will also complain about the
default nouveau driver but we can blacklist it with a easy tool called nvidia-xconfig. apt-get install nvidia-xconfig and then run the tool nvidia-xconfig this will blacklist the nouveau driver and enable X11 to use the real nvidia driver. You'll know the nvidia driver works when you reboot bcause it will have a special splash screen before X11 starts.
Touch Pad
Install a simple program called gpointing-device-settings via apt. Run the program in X11, the device will be listed as "bcm5974". Just tweak the settings to your liking.
save and exit then reboot.
System Summary
cpuinfo
processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 23 model name : Intel(R) Core(TM)2 Duo CPU P8700 @ 2.53GHz stepping : 10 microcode : 0xa07 cpu MHz : 1035.727 cache size : 3072 KB physical id : 0 siblings : 2 core id : 0 cpu cores : 2 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 13 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl cpuid aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm pti tpr_shadow vnmi flexpriority dtherm bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit bogomips : 5041.74 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management: processor : 1 vendor_id : GenuineIntel cpu family : 6 model : 23 model name : Intel(R) Core(TM)2 Duo CPU P8700 @ 2.53GHz stepping : 10 microcode : 0xa07 cpu MHz : 903.333 cache size : 3072 KB physical id : 0 siblings : 2 core id : 1 cpu cores : 2 apicid : 1 initial apicid : 1 fpu : yes fpu_exception : yes cpuid level : 13 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl cpuid aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm pti tpr_shadow vnmi flexpriority dtherm bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit bogomips : 5041.74 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management:
lspci
00:00.0 Host bridge [0600]: NVIDIA Corporation MCP79 Host Bridge [10de:0a82] (rev b1) 00:00.1 RAM memory [0500]: NVIDIA Corporation MCP79 Memory Controller [10de:0a88] (rev b1) 00:03.0 ISA bridge [0601]: NVIDIA Corporation MCP79 LPC Bridge [10de:0aae] (rev b3) 00:03.1 RAM memory [0500]: NVIDIA Corporation MCP79 Memory Controller [10de:0aa4] (rev b1) 00:03.2 SMBus [0c05]: NVIDIA Corporation MCP79 SMBus [10de:0aa2] (rev b1) 00:03.3 RAM memory [0500]: NVIDIA Corporation MCP79 Memory Controller [10de:0a89] (rev b1) 00:03.4 RAM memory [0500]: NVIDIA Corporation MCP79 Memory Controller [10de:0a98] (rev b1) 00:03.5 Co-processor [0b40]: NVIDIA Corporation MCP79 Co-processor [10de:0aa3] (rev b1) 00:04.0 USB controller [0c03]: NVIDIA Corporation MCP79 OHCI USB 1.1 Controller [10de:0aa5] (rev b1) 00:04.1 USB controller [0c03]: NVIDIA Corporation MCP79 EHCI USB 2.0 Controller [10de:0aa6] (rev b1) 00:06.0 USB controller [0c03]: NVIDIA Corporation MCP79 OHCI USB 1.1 Controller [10de:0aa7] (rev b1) 00:06.1 USB controller [0c03]: NVIDIA Corporation MCP79 EHCI USB 2.0 Controller [10de:0aa9] (rev b1) 00:08.0 Audio device [0403]: NVIDIA Corporation MCP79 High Definition Audio [10de:0ac0] (rev b1) 00:09.0 PCI bridge [0604]: NVIDIA Corporation MCP79 PCI Bridge [10de:0aab] (rev b1) 00:0a.0 Ethernet controller [0200]: NVIDIA Corporation MCP79 Ethernet [10de:0ab0] (rev b1) 00:0b.0 SATA controller [0106]: NVIDIA Corporation MCP79 AHCI Controller [10de:0ab9] (rev b1) 00:10.0 PCI bridge [0604]: NVIDIA Corporation MCP79 PCI Express Bridge [10de:0aa0] (rev b1) 00:15.0 PCI bridge [0604]: NVIDIA Corporation MCP79 PCI Express Bridge [10de:0ac6] (rev b1) 00:16.0 PCI bridge [0604]: NVIDIA Corporation MCP79 PCI Express Bridge [10de:0ac7] (rev b1) 02:00.0 VGA compatible controller [0300]: NVIDIA Corporation C79 [GeForce 9400M] [10de:0863] (rev b1) 03:00.0 Network controller [0280]: Broadcom Limited BCM4322 802.11a/b/g/n Wireless LAN Controller [14e4:432b] (rev 01) 04:00.0 FireWire (IEEE 1394) [0c00]: LSI Corporation FW643 [TrueFire] PCIe 1394b Controller [11c1:5901] (rev 07)
lsusb
Bus 002 Device 004: ID 05ac:8403 Apple, Inc. Internal Memory Card Reader Bus 002 Device 006: ID 413c:2107 Dell Computer Corp. Bus 002 Device 005: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse Bus 002 Device 003: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 003: ID 05ac:8213 Apple, Inc. Bluetooth Host Controller Bus 004 Device 002: ID 0a5c:4500 Broadcom Corp. BCM2046B1 USB 2.0 Hub (part of BCM2046 Bluetooth) Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 001 Device 002: ID 05ac:8507 Apple, Inc. Built-in iSight Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 003 Device 003: ID 05ac:0237 Apple, Inc. Internal Keyboard/Trackpad (ISO) Bus 003 Device 002: ID 05ac:8242 Apple, Inc. Built-in IR Receiver Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub