Apple MacBook Pro A1297 (Feb 2011)

In OSX, clicking on the Apple (on the top left), then "About this Mac", "More Info...", you can see the hardware generation number 8,3 in the "Model Identifier" row: "MacBookPro8,3". The Apple "order number" is MC725LL/A. More specs.

Some issues with using the Apple MacBook Pro A1297.

CPU

Memory

Using 32-bit kernel extensions

To use 32-bit kernel extensions, need to hold down the 3 and 2 keys simultaneously while booting (to select the 32-bit kernel, instead of the default 64-bit kernel). Only the 32-bit kernel has support for the following:

Acting as NFS client to Ubuntu 15.04 NFS server

The default version of NFS mount that OSX Yosemite 10.10.3 uses is still NFS version 3 by default. On an Ubuntu 15.04 server, this means that you'll need to start rpc.statd as follows, otherwise you'll see hanging problems and long delays when using OSX as the NFS client.
service statd start

You should then see it running, e.g.:
statd     6315     1  0 21:52 ?        00:00:00 rpc.statd -L

In the past, /etc/default/nfs-common used to contain an option USE_STATD that could be set to yes to get the system to start rpc.statd when the system boots, but this has since been removed (in the name of progress) apparently because systemd (the new boot manager) doesn't like parameters like this. I'm currently booting my Ubuntu 15.04 using the old Upstart because otherwise ZFS on linux doesn't work properly to mount the pool on reboot, so perhaps there's a way to get systemd to start statd but I'm not investigating any further. It seems pretty bad that such a common NFS client as OSX Yosemite would no longer work by default with the NFS server in Ubuntu 15.04 without users having to figure out to start rpc.statd by themselves. Perhaps rpc.statd is no longer needed in NFS version 4, but from my experiments, passing the following flag manually on the command line while mounting the NFS filesystem from OSX (and checking afterwards the version of the NFS mount using nfsstat -m command), my OSX client also failed to work properly and the kernel got hung, to the point where the system would not reboot and I was forced to manually power off the laptop. Quite a bad behavior.

-o vers=4 

Middle Click (button 2)

Thanks to Clem, the middle click (button 2) is possible, see here.

Keyboard Quirks

Apple OSX quirks

When you go into System Preferences -> Sharing and enable Remote Login, instead of abbreviating it to "ssh username@198.35.175.205", it says:
  To log on to this computer remotely, type "ssh username@dhcp-4lp9-4lp10-east-198.35.175.205.hqdhcp.mycorp.com".

Ubuntu in VirtualBox

In case you need to stop the OSX menu bar for the VirtualBox application from constantly popping up by accident whenever you're instead trying to get to the Gnome Menu bar at the top of the screen, see here. After installing the PresentYourApps tool, choose "Remove Menu Bar And Dock" for all "VirtualBox VM" windows. Note that this window name only appears after you have launched the Ubuntu VM, and it must be re-done each time you launch the VM, which is a bit awkward if you usually launch your Ubuntu VM directly into fullscreen mode.

Ubuntu on raw Apple hardware

Ubuntu on Apple MacBook Pro is described here. For the 8,3 hardware generation, I tried to install using the usual Ubuntu 11.04 images, but none of them find the media (despite having just booted from it, surprisingly).

Instead, I performed a network install, as follows:

Update: Ubuntu 14.04 on MacBook Pro A1297

Ubuntu 14.04 works a lot better now on the MacBook Pro A1297. Warning: don't upgrade to Ubuntu 14.10 on this machine, you'll likely run into this bug (no graphical login after reboot).

It took quite a long time to update to Ubuntu 14.04, all the way from Ubuntu 11.04, almost two days over DSL! The process is described on Ubuntu's EOLUpgrades page and on this page.

I subsequently upgraded the Mac Book Pro's memory from 8GB to 16GB, but then Ubuntu 14.04 no longer recognized the keyboard and trackpad. It seems that by disconnecting the battery (which was required to install the memory upgrade) some NVRAM setting got lost, and none of my Ubuntu installations would recognize the keyboard and trackpad. I ended up having to reinstall Ubuntu 14.04.02 from the desktop ISO (the install works fine now, and it can be done using the live CD). I also had to install rEFInd (using OSX) to get Ubuntu to boot properly and recognize the keyboard and trackpad. Note: I tried an upgrade to Ubuntu 14.10, but to my surprise Xorg stopped working (no graphical login, see this bug), and I had to reinstall 14.04.02. I haven't found any launchpad bug explaining what's going on here, but this seems like quite a bad thing to happen for an upgrade.

Overall, Ubuntu 14.04 feels even better than OSX Snow Leopard, which is getting pretty old.

The wireless card is natively supported by the kernel, but you'll need to install the firmware package using the following commands.

apt-get install firmware-b43-installer
apt-get install b43-fwcutter

To enable the three-finger presses to act as middle-click ("paste"), do the following
synclient ClickFinger3=2
synclient TapButton3=2

You can also use amarok to manage your iPod nano 7th gen, rather than struggle with iTunes since Ubuntu 14.04 has support for Apple's hfsplus filesystem that's used on the more recent iPod (or a better approach is to use a Windows machine to restore the iPod so that is uses the exfat filesystem instead, which is likely to be more widely supported).
sudo apt-get install amarok

The Wacom Intuos4 works using this workaround. The Intuos4 pen pressure works in inkscape after disabling the overlay scrollbar feature before launching the program, as follows.

export LIBOVERLAY_SCROLLBAR=0
inkscape

I found that vpnc no longer works in Ubuntu 14.04 whereas it worked fine in 12.04. You may be able to use openconnect instead if you're connecting to a Cisco AnyConnect VPN gateway. OpenConnect is much simpler to configure and use than vpnc, see here. OpenConnect is a client for Cisco's current AnyConnect VPN product, which is replacing their older IPSec-based VPN (which was supported by vpnc). To use OpenConnect in KDE involves installing these packages:

sudo apt-get install plasma-nm
sudo apt-get install network-manager
sudo apt-get install network-manager-openconnect

/usr/bin/kde-nm-connection-editor

Compiz Quirks