Limited colour depth on Ubuntu on laptop LCD

I tend to use the proprietary Nvidia linux driver. But recently I thought I would see if I could get along with the free nv driver. My biggest issue was the low colour depth of the LCD on my laptop. This turns out to be due to the LCD screen being limited to 6bit per pixel rather than the expected 8bit per pixel. The answer is to enable dithering, which the proprietary driver does automatically.

You can enable dithering with the following command:-

xrandr --output LVDS --set dither 1

Change LVDS to the name of the output on your machine. To list the outputs just run xrandr with no arguments.

If the command works you will see the change immediately. However the machine will be back to its low colour depth after a restart, so to make the change permanent, you will need to edit your xorg.conf file. e.g. sudo gedit /etc/X11/xorg.conf

Then add the "FPDither" option to the appropriate device with a value of "1". E.g.


Section "Device"
  Identifier "Configured Video Device"
  Option "FPDither" "1"
EndSection

Then restart the machine (or just restart X by pressing CTRL+ALT+DEL).