OS X seemed to work well enough for standard use, but I had previously gotten used to Linux as my primary desktop and was beginning to miss it. I loved the footprint and the flexibility. With the updates included within the Ubuntu 14.04, enough pieces of the puzzle had been worked out. This post contains some notes on the build and links to help others.
Overview
I had attempted Ubuntu on this Mac-book prior to the April 2014 release, with limited success. With the 12.04 flavor, the hot-swap PCIe Thunderbolt Ethernet needs to be plugged in prior to boot and I had to choose to be able to work the screen brightness or use the NVIDIA drivers. Not conducive to screen sharing or multiple screens. It seems with this latest release, the driver issues/processes have been ironed out.
Prior to receiving my Mid 2012 Mac Book Pro Retina, I had used Linux as my host OS for over two years. I benefited from running two Windows VM’s simultaneously as it allowed my the greatest flexibility between my local access and remote VPN networks. While you can do this with other operating systems, there is more efficiency with the hardware while running Linux (Ubuntu) as the host OS.
The one complication that still exists in my current setup is the hot-swap PCIe/Thunderbolt NIC. For me, fortunately I am either on wireless or wired for the day. I normally do not go back and forth. While from my readings a different kernel could be loaded, I have not chosen that route currently. If something changes in the future, a USB NIC is the solution.
There are a few little annoyances that are still existing with the build.First, the mac sound when the machine is powered on is still existing. I haven’t dug into it too far, but it appears that you would want to change that prior to removing OS X’s control over the UEFI partition. Using the recovery process where it pulls software from the web is not sufficient.
Next, my graphics does not switch from integrated to dedicated and therefore resulting in a shorter battery life (~3.5-4 hours). This is OK for me as I take use of Compiz’s transparency effects and my work does not require me to be in a data center or wiring closet for long periods of time.
Lastly, Compiz does seem to cause some graphical freezes of windows at times. This will often happen with flash based plug ins running and primarily with Firefox. A restart of the application fixes the issue.
Even with the few annoyances, I still love the flexibility that this operating system provides and would recommend trying it out if you are not too familiar with Linux. You can always start off running in your Windows Virtual Machine while you become accustomed to the Linux environment.
Ultimately, I wanted to create this post to share the links and references used to build my machine. There wasn’t a single site with everything to get the base OS up and running, so hopefully this will help the next person.
My System
Please see the video below for a quick overview on how the desktop looks. The glitches in the recording are not actually occurring on the desktop. The video is very smooth on the actual desktop.
Helpful Links
The standard Ubuntu link is below. I used some parts for the Macbook Pro 11-1 version, specifically around the EFI bootloading.
https://help.ubuntu.com/community/MacBookPro11-1/Saucy
This link contained some very good notes specifically around the NVIDIA drivers for the dedicated graphics card and the brightness modifications.
http://cberner.com/2014/04/20/installing-ubuntu-14-04-on-macbook-pro-retina/
The link below had a good tip on editing the window border thickness. This helps to grab the window edges for resizing with a 2800×1800 screen resolution.
http://www.physik.uni-freiburg.de/~helger/retina.html
This link provides the framework to create some gestures that exist in OS X. I ended up creating a 3-finger click to move the selected window and a 4-finger swipe to rotate my cubed desktop. The configuration is truncated to share my additions.
<touchégg> <application name="All"> <gesture type="TAP" fingers="3" direction=""> <action type="MOUSE_CLICK">BUTTON=2</action> </gesture> <gesture type="DRAG" fingers="4" direction="RIGHT"> <action type="SEND_KEYS">Control+Alt+Left</action> </gesture> <gesture type="DRAG" fingers="4" direction="LEFT"> <action type="SEND_KEYS">Control+Alt+Right</action> </gesture> </application> </touchégg>
http://ineed.coffee//1068/os-x-like-multitouch-gestures-for-macbook-pro-running-ubuntu-12-10/
The next link was a fun little trick to change the unlock text for the whole disk encryption provided by LUKS.
http://ubuntuforums.org/showthread.php?t=2128704
The Mac Fan Control is pretty much a requirement to make sure your system cools itself properly.
https://launchpad.net/macfanctld
Screen Flickering with the NVIDIA care has been a problem for some. This link outlines the bug and the related notes for editing the power/performance settings.
https://bugs.launchpad.net/ubuntu/+source/xorg/+bug/1314367
I do need console access for my CP-Tech CP-US-03 USB to serial adapter. This device is reconized out of the box, but to easily access it we need to update the permissions when the /dev/ttyUSB0 device is plugged in.
http://jesin.tk/fix-serial-port-permission-denied-errors-linux/
Give elementary OS Freya a try.