Tweaking Ubuntu 12.04 to run on a Macbook

2013-08-05

Configuration tweaks for Ubuntu.

Update 2

  • Ubuntu looks better with it's default color profile. Probably not worth changing. 
  • With the latest NVidia drivers I've found the options I set below are not needed (apart from the brightness one). 
  • Also see new post on how to get Nvidia/Compiz to work together nicely.

Updated

After using the above setup for a while, I've updated some things.
 
I found you can't really replicate the way the fonts look in OSX, so it's better to set your font configuration to using hinting (I am using medium hinting). This makes the fonts look crisper more like Windows. With this setting using a default of DejaVu Sans as your default Sans font in Chrome looks good. In fact most of the sans fonts that are installed by default look better with some hinting.
 
The trackpad mtrack driver works much better if you install it from source:
 
sudo apt-get build-dep xserver-xorg-input-mtrack

Download the source from https://github.com/BlueDragonX/xf86-input-mtrack/ .

cd xf86-input-mtrack/
libtoolize
aclocal
autoconf
automake -c --add-missing
./configure
make

I then just replaced the driver

sudo mv .libs/mtrack_drv.so /usr/lib/xorg/modules/input/

Original post:

I have a 2009 Macbook its model number 6,2. Running Ubuntu 12.04 Precise Pangolin.

The OS install is pretty straightforward. The instructions are here. Notes on those install instructions:

At the end you should end up with a working Ubuntu Install. But here are some tweaks to make the hardware work well.

Graphics card

The model I have has a NVidia 9400M graphics card which shares memory with system RAM. The Nouveau drivers as well as the NVidia driver version that is installed by default cause instability after a while resulting in lockups. I ended up installing the latest Linux driver from the NVidia website. I am using version 304.37. This worked well but I still had some X server crashes, while not as bad as complete lock ups are still annoying. I've disabled some options in my xorg.conf in the nvidia device section:
Option "IndirectMemoryAccess" "Off"
Option "NoFlip" "True"
Option "DynamicTwinView" "Off"
This seems to make my system more stable. I also added:
Option "RegistryDwords" "EnableBrightnessControl=1"
To fix the brightness controls.
If the Nouveau driver works for you I would stick to this.

Display

By default the color profile of the screen is bluish, different from the warmer profile in OSX. To get the same color profile, boot OSX and save the default color profile to an ICC file. This can be done by using system preferences -> display -> color -> open profile -> save as. Then you can load this file in Ubuntu, I used the xcalib utility to do this, available from the apt repositories.
 
I found the fonts by default didn't look as good as on OSX, especially in the web browser using the Macbook laptop display. The best results I achieved was to use grayscale anti-antialiasing, except for font sizes 13 point and smaller which I set to use subpixel anti-aliasing. And to not use any hinting. The second thing was to set the default sans-serif font in the Chrome web browser to "Nimbus Sans L" this seems most like Helvetica/Arial used on the web alot. (See Update below.)
 
I configured the fonts using /etc/fonts/conf.d. Here is my listing of that directory:
10-no-sub-pixel.conf 10-unhinted.conf 11-lcd-filter-lcddefault.conf 20-fix-globaladvance.conf 20-unhint-small-vera.conf 30-subpixel-for-small.conf 30-urw-aliases.conf 40-nonlatin.conf 45-latin.conf 49-sansserif.conf 50-user.conf 51-local.conf 53-monospace-lcd-filter.conf 60-latin.conf 64-01-tlwg-kinnari.conf 64-02-tlwg-norasi.conf 64-11-tlwg-waree.conf 64-12-tlwg-loma.conf 64-13-tlwg-garuda.conf 64-14-tlwg-umpush.conf 64-21-tlwg-typo.conf 64-22-tlwg-typist.conf 64-23-tlwg-mono.conf 65-fonts-persian.conf 65-khmer.conf 65-nonlatin.conf 69-unifont.conf 70-force-bitmaps.conf 80-delicious.conf 89-tlwg-garuda-synthetic.conf 89-tlwg-kinnari-synthetic.conf 89-tlwg-loma-synthetic.conf 89-tlwg-umpush-synthetic.conf 89-tlwg-waree-synthetic.conf 90-fonts-nanum.conf 90-synthetic.conf 90-ttf-bengali-fonts.conf 90-ttf-devanagari-fonts.conf 90-ttf-gujarati-fonts.conf 90-ttf-kannada-fonts.conf 90-ttf-malayalam-fonts.conf 90-ttf-oriya-fonts.conf 90-ttf-punjabi-fonts.conf 90-ttf-tamil-fonts.conf 90-ttf-telugu-fonts.conf 99pdftoopvp.conf README
The only custom file in that directory is 30-subpixel-for-small.conf which contains:
    
   
       
            13
       

        rgb
   

   
I also used the myunity utility ovailable from the repositories to configure the fonts using the GUI to match the fontconfig files. I just set the Hinting to none and Antialiasing to grayscale.
 

Trackpad

The default Xorg synaptics driver was not working that well, it was too sensitive and didn't handle multitouch well. I ended up removing the xserver-xorg-input-synaptics package and installing the xserver-xorg-input-mtrack using apt. 
 
This driver has a configuration file at /usr/share/X11/xorg.conf.d/50-mtrack.conf. 
I am still tweaking the options here, but the trackpad is ok to use now.
 

Day to day use

So due to some stupidity on my part my OSX partiton doesn't boot any more. So I am using my Ubuntu/Mac every day, and I think it's interface is nearly as good as OSX. That combined with IMHO a better underlying infrastructure in Linux ie system/network software, open file systems and better compatibility and user software that works for you, like being able to copy songs from your Ipod, makes the system on balance better than OSX/Mac.