Installing Ubuntu 13.04 on Macbook Pro Retina (10,1)

I’ve been using 13.04 (raring ringtail) daily build on my macbook pro (rMBP) for a couple days now, and things have been working great so far. Definitely a major improvement over 12.10, and for a daily build it’s been pretty stable too.

Improved from 12.10

  1. Better modesetting support in the kernel (no more need for nomodeset option)
  2. Proprietary Nvidia drivers finally work right
  3. New wifi drivers, that actually work!

Now for the directions!

1. Preparation

Just follow steps 1 through 3 in my first guide, to get rEFIt installed and prepare to install Ubuntu. Make sure you download the raring ringtail daily ISO though, for step 3.

2. Install Ubuntu

Note that the wifi won’t work (we’ll fix this in the next step), so don’t try to install updates during the installation process, unless you have a separate usb wifi dongle or ethernet. Also, at the end of the installer, after the dialog asking you to restart, you’ll probably get a black screen. Just press spacebar and it should reboot.

3. Install Wifi Drivers

Wifi doesn’t work out of the box, so from another computer (or your OSX install) download the driver and its dependencies (dkms, libc6-dev, linux-libc-dev), then copy them all to a flash drive and boot back into Ubuntu. Install each with:

sudo dpkg -i "the package file you downloaded"

Alternatively, if you have a usb wifi card, you can use that and install the driver with this command:

sudo apt-get update && sudo apt-get install bcmwl-kernel-source

4. EFI Boot

To get the 2880×1800 native resolution, and the external display ports working you’ll need to convert GRUB to EFI mode. Follow these steps adapted from the Ubuntu UEFI page:

  1. sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
    sudo apt-get install -y boot-repair && boot-repair
  2. Click on “Advanced options”, go to the “GRUB location” tab.
  3. Make sure that “Separate /boot/efi partition” is checked, then click the “Apply” button, and follow the directions (you’ll be asked to remove and reinstall GRUB)
  4. Reboot. You’ll probably have several new options in rEFIt, select any of them to boot up
  5. (optional) if you want to remove some of the extra rEFIt options, just delete the directories you don’t want from /boot/efi/EFI (be VERY CAREFUL here, and don’t delete the APPLE directory)

Note: After changing to EFI, you may get a blank screen for several seconds during boot-up.

5. NVIDIA Drivers

Now you’ll need to install the proprietary NVIDIA drivers, and configure Xorg:

  1. sudo apt-get install linux-headers-`uname -r`
    sudo apt-get install nvidia-current
    sudo nvidia-xconfig
  2. edit /etc/X11/xorg.conf and add to the Device section:
    Option "UseDPLib" "off"
  3. edit /etc/default/grub and add “i915.lvds_channel_mode=2 i915.modeset=0 i915.lvds_use_ssc=0”  to GRUB_CMDLINE_LINUX_DEFAULT inside the double-quotes between the words “quiet splash“. Then run:
    sudo update-grub
  4. Reboot and you should see the nvidia logo during boot
  5. (optional) If you don’t see the nvidia logo or get a blank screen, try installing gfxCardStatus (version 2.2.1, not 2.3), and forcing the discrete graphics card from the dropdown menu of their toolbar icon. You may also need to run “sudo dpkg-reconfigure nvidia-current” after rebooting.

6. Other Configuration (optional)

  1. If you’re like me and want the F1-F12 keys to behave as function keys, and not special keys then just follow these steps from the AppleKeyboard guide:
    echo options hid_apple fnmode=2 | sudo tee -a /etc/modprobe.d/hid_apple.conf
    sudo update-initramfs -u -k all
    sudo reboot

Still Broken

  • Brightness controls still aren’t working
  • Only the native resolution (2880×1800) is available, which means the text is rather small

19 thoughts on “Installing Ubuntu 13.04 on Macbook Pro Retina (10,1)”

  1. Hi, I’m running 12.10 on my Retina, and it took a couple of installations to get it right (your website helped a lot!). When at work I connect thru the Thunderbolt RJ45-adapter and I got it to work in Ubuntu as well. The trick was to turn on Bluetooth in Mountain Lion before installing 12.10. Made it very easy to download the Wi-Fi driver 🙂

    One tip about the cluttered rEFIt boot screen: instead of deleting directories, I switched to rEFInd. It works exactly the same but has more hiding options (e.g. to hide those MBR boot sectors that boot-repair tends to create).

    Finally, re. the pains of getting nvidia to work: in one installation I forgot to switch Grub to EFI mode, and no matter how I tried, nvidia refused to show its logo. Then I found in the kernel.log that the nvidia driver couldn’t access the video memory. Somehow booting the Retina in legacy (not EFI) mode messes with the video memory.

    BTW, did you get the SD card reader to work in 13.04?

  2. Hi!

    First of all, I must say that I’m a beginner, but this article is really very useful. Thanks!

    Actually, everything was fine until the 3rd step (the wifi thing) and boot-repair installation.
    I am installing from a Pro Retina 13 and my main doubts are about switching to EFI.

    But first, I want to restart all the process.
    So, I really want to remove that extra rEFIt options, because nothing but the OSX is working properly. But I can’t find that “/boot/efi/EFI” directory you mentioned in the step 4.5.

    Any help?

  3. @Rafael, if you can’t boot into Ubuntu, you should be able to modify that directory from a live CD. Something like: ‘mkdir /boot/efi && sudo mount /dev/sda1 /boot/efi’

  4. Hello and thanks for the great article : ) I booted ubuntu 13.04 from a Live Cd (actually a USB stick created with Pendrivelinux on Windows pc) to my Macbook Pro Retina. I don’t want to install Ubuntu to the internal drive, instead I would like to install Nvidia drivers on the Live Usb and run Ubuntu from there. What I am most interested in is getting the Macbook pro retina to suspend and resume FROM THE USB. I need this functionality to ‘unfreeze’ the hard drive so that I can use the Hdparm set of commands. However the noveau driver that comes preinstalled does not seem to support suspend and resume. After I suspend the computer I am unable to resume and have to force hard reboot. From what I gather installing the Nvidia driver will fix that , however I have had no luck so far. This has been driving me crazy I wonder if there is a way to have a Live cd/usb with ubuntu 13.04 that supports suspend and resume on the Macbook Pro Retina?
    I really would appreciate any help and apologize for my English: )

  5. Thanks for the tutorial. I’m able to follow it until step 4, but after running boot-repair, the system fails to boot. It is unable to mount efivars, giving the error “mount: can not allocate memory”. Have you encountered this or have suggestions to fix it?

  6. I followed your previous guide to setup Ubuntu 12.10. I want to know what the safest way is to go from my current stable triple boot to Ubuntu 13.04. Will just a plain upgrade gain me all the listed benefits, or would reinstalling ubuntu somehow work better?

  7. I guess my main question is can I install Ubuntu 13.04 on external Usb Drive following your tutorial?
    Will it still work ? Excuse my limited knowledge, I am quite unexperienced with Linux.

  8. @Eosphere46, I think an upgrade would be fine. Then just follow the steps for setting up the wifi and nvidia driver.

    @Ivan, I don’t know, I’ve never tried to install on external usb

  9. Hi Cristopher,

    First I would like to thank you for this really helpfull site.
    Now, the bad news 🙁
    I’m very dissapointed with the nvidia driver. After step 5 the system does not boot anymore. I dunno what’s the problem as I followed all the steps as you posted them.
    After selecting Ubuntu in the grub screen, it seems it’s gonna load the system but instead of that I can see the boot messages. The last message is Stopping save kernel messages and after that… nothing happens. The system is just like this, with the blinking cursor below the last line…
    Do you have any clues about what the problem is?
    Thanks again!!!

  10. Thanks for the quick response!!
    I’m on 3.8.0-11 🙁
    So, does this mean I need to reinstall?
    And, on the first boot, I’d need to change the kernel?

    Thanks again!!

  11. Yes, you can either boot into recovery mode and install an older kernel, then uninstall 3.8.0-11, or you can wait for a new kernel (3.8.0-12 is supposed to fix this problem)

  12. Hi! I have followed your guides (installing linux a thousand times by now in all permutations).. here’s a couple bits of feedback that I needed to figure out on my own:

    1) when creating an installer USB stick on ubuntu, you want to 1. create a disk label but have no partitions. to do this you can create a partition, apply your changes (write partition table), then delete the partition again; 2. use the usb stick in “super floppy” mode (i believe that’s what it’s called, but maybe super-floppy is the other mode.. anyways..). This means you do mkfs.vfat /dev/sdd -I (note no partition number, you use the whole device) 3. you want to use unetbootin, not startup disk creator. if you fail to do any of these, you end up with an unbootable stick. I don’t know any other way to create a working usb stick

    2) using gdisk you can create a new hybrid MBR and you can have any of your GPT partitions visible to BIOS. after ubuntu has booted all partitions are read via the GPT anyways, it’s just for being able to boot, so for example you don’t need to put the swap partition or the macos partitions in the MBR. You can have more than 200 partitions on GPT, but only three (+ protective) in the MBR.
    3) once you’re done setting up UEFI boot, you can remove mbr in gdisk by pressing x (experts only menu) and then n (create new protective mbr)
    4) under Unity you can run gnome-tweak-tool to change font sizes (I set everything to 30, and the monospace to 33, works well). MATE Desktop (you have to install the quantal package archive) properly detects the DPI and the text is just the right size. (that hasn’t happened when I installed 12.04 on another mbp retina 15.1 that’s about 3 months old; I haven’t installed mate under 12.04 on this one though). In mate you can change it under preferences – appearance – fonts – details.
    5) when doing boot-repair, I got confused because I thought I needed to have a new partition for /boot/efi. You don’t, just use what’s in the dropdown (there’s only one option to select anyways)
    6) on one of my builds, under 12.04 with some 3.6.x kernel, I’ve had a kworker use 100% cpu all the time. If you experience this, find the bug report for that in the bug tracker, search for my nick (“cheater”) and you’ll find my fix. Included echoing some stuff to an obscure gpio device.
    7) there’s no jockey under 13.04 (but the package is not gone, it has no binary in it though). this is handled by software properties now. Oh, and I don’t seem to need to install the packages you say, my wireless is listed in the gui, but i haven’t tried connecting yet.

    This guide is the first one where I could successfully install the nvidia drivers. I think one problem was that I tried doing nvidia first and UEFI then, but I haven’t tried installing 12.04 again to see if it could have worked. Possibly try adding a warning about this to the guide.

    I have noticed that the TTYs are not accessible. That’s a fairly big issue for me. Do you have any ideas how to fix that, Christopher?

    Thanks again for your great guide.

  13. Hi Christopher,
    I was able to install Ubuntu 13.04 on external usb flash and boot it successfully. However I have not installed rEFIt as Ubuntu will be the only system on the usb stick. I was not able to boot successfully after the instalation of the Nvidia drivers ( I got to the same place as Neko).
    My kernel is 3.8.0-12. Any idea what could be wrong?
    Thank You : )

Leave a Reply

Your email address will not be published. Required fields are marked *