Installing Debian Wheezy (7.0) on an Apple MacbookPro9,1 (15", June 2012)

The biggest difficulty presented by this device is the presence of a two graphics cards: an Intel integrated device and an additional discrete nVidia card.

Getting a ?MacbookPro to install and boot in text console mode is fairly easy (instructions for older MacBook Pros apply). However, if you carelessly install a graphical desktop, you may end-up with a blank screen. The system boots, but you have no feedback. If that happens, don't worry too much: network access is possible, as well as booting in rescue mode or booting from the installation medium and chrooting to the installed partition.

The 3.2 kernel has several bugs or limitations which affect this Macbook. Patches are available on the net, but I preferred switching to the 3.8 kernel packaged in Debian experimental, which solved all the problems I noticed.

I have not investigated very long how to make this machine work with BIOS emulation booting because it hides the Intel card (the low power-consumption one which is physically attached to the screen, as far as I understand).

I installed grub-efi to boot in EFI mode instead. For some reason video mode was not set and the system failed to boot. To avoid this problem, you can add this to /etc/default/grub:

GRUB_PRELOAD_MODULES="efi_gap efi_vga video_bochs video_cirrus"

and use grub-mkdonfig to regenerate /boot/grub/grub.cfg. As a temporary solution, you can also use insmod from the grub command line to load those modules before booting:

insmod efi_gap
insmod efi_vga
insmod video_bochs
insmod video_cirrus

From then on, you can easily get a working environment by removing all the xserver-xorg-video-* packages safe for xserver-xorg-video-fbdev. This is far from perfect though. To be able to use the Intel card, I had to make sure those few lines were added to the linux section in grub.cfg:

        outb 0x728 1
        outb 0x710 2
        outb 0x740 2
        outb 0x750 0

This enables the Intel card and disables the nVidia card. I put those lines in /etc/grub.d/10_linux, right after the "insmod gzio" line, then used grub-mkconfig again:

grub-mkconfig > /boot/grub/grub.cfg

I then installed the xserver-xorg-video-intel package. With this setup, the nVidia GPU should be off and not consume battery, while the display is quite fine, with 3D acceleration.

Finally, I installed the macfanctld package to avoid overheating. I simply took the Ubuntu raring package, but I'll try and package it properly for Debian soon.


Almost everything works. Suspend and hibernate both work (I've installed the uswsusp package). WiFi disconnects often. Microphone does not work yet, at least in skype. I have not yet succeded in activating the nVidia card with bumblebee and I cannot connect an external monitor.

Edit: this is probably not MacBook-specific: skype worked fine after I installed libasound2-plugins:i386.