The Raspberry Pi, if limited only to rendering HD videos, handles the job quite nice. The hardware accelerated video playback makes things run smooth.

However, if you’re using some software like xbmc, or the complete solution with OpenELEC, then the navigation and everything else can get sloppy.

A nice way to speed things up there, and make the navigation smoother, is to overclock the Pi.

Along with some new firmware versions, the configuration file comes with some suggestion presets as options for boosting the Pi. With them, the arm, core and the memory frequency can be increased, and also the overvolt option.

Increasing the frequency or the overvolt parameters will inevitably increase the thermal output of the device. Now this can still be in acceptable limits, but if the pi is being used a lot in a prolonged period, it can become either unstable or freeze.

To be on the safe side, I recommend that you purchase some thermal sinks and stick them to the important chips on the board. I bought these from dx.com, and they are working just fine.

The easiest way to do the overclock is to use your PC. Insert the SD card in the SD card reader, and open it to view its contents. Find the file named ‘config.txt’ and open it with a text editor.

Somewhere in it, you can find the following lines (or similar):

# Overclock mode settings. # # default recommended values are: arm_freq | core_freq | sdram_freq | over_voltage # no overclocking : 700 | 250 | 400 | 0 # mode 'Modest' : 800 | 300 | 400 | 0 # mode 'Medium' : 900 | 333 | 450 | 2 # mode 'High' : 950 | 450 | 450 | 6 # mode 'Turbo' : 1000 | 500 | 500 | 6 # arm_freq=700 # core_freq=250 # sdram_freq=400 # over_voltage=0 # set to 'force_turbo=1' to disable dynamic overclocking (you can lose your warranty!) force_turbo=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 # Overclock mode settings. # # default recommended values are: arm_freq | core_freq | sdram_freq | over_voltage # no overclocking : 700 | 250 | 400 | 0 # mode 'Modest' : 800 | 300 | 400 | 0 # mode 'Medium' : 900 | 333 | 450 | 2 # mode 'High' : 950 | 450 | 450 | 6 # mode 'Turbo' : 1000 | 500 | 500 | 6 # arm_freq=700 # core_freq=250 # sdram_freq=400 # over_voltage=0 # set to 'force_turbo=1' to disable dynamic overclocking (you can lose your warranty!) force_turbo = 0

The Modest, Medium, High and Turbo are the suggested presets which, allegedly, have been tested. In order to use one, uncomment the four overclocking values, and insert the ones from the preset. I jumped directly to the last one, so my config at the end looked like this:

# Overclock mode settings. # # default recommended values are: arm_freq | core_freq | sdram_freq | over_voltage # no overclocking : 700 | 250 | 400 | 0 # mode 'Modest' : 800 | 300 | 400 | 0 # mode 'Medium' : 900 | 333 | 450 | 2 # mode 'High' : 950 | 450 | 450 | 6 # mode 'Turbo' : 1000 | 500 | 500 | 6 arm_freq=1000 core_freq=500 sdram_freq=500 over_voltage=6 # set to 'force_turbo=1' to disable dynamic overclocking (you can lose your warranty!) force_turbo=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 # Overclock mode settings. # # default recommended values are: arm_freq | core_freq | sdram_freq | over_voltage # no overclocking : 700 | 250 | 400 | 0 # mode 'Modest' : 800 | 300 | 400 | 0 # mode 'Medium' : 900 | 333 | 450 | 2 # mode 'High' : 950 | 450 | 450 | 6 # mode 'Turbo' : 1000 | 500 | 500 | 6 arm_freq = 1000 core_freq = 500 sdram_freq = 500 over_voltage = 6 # set to 'force_turbo=1' to disable dynamic overclocking (you can lose your warranty!) force_turbo = 0

Note 1: the sdram_freq have been said that should be configured to 600 for the Turbo mode. Some users have reported SDcard corruption when said to be 500. I haven’t tested this out yet.

Note 2: leave the force_turbo=0. This means that the device will dynamically increase and decrease the frequency based on the load. This can prolong your Pi’s life, and will probably prevent some corruptions happening. Forcing the turbo mode uses the overclocked values as constants, but also voids your hardware warranty.

After editing the config.txt file, save it, and put the SD card back to the Pi and boot it. The system should now run with the changed settings.

Since the force_turbo option remains zero, the CPU frequency changes, and some tools will still report the same 700MHz. If you make some heavier load, this will change though. After some playing around, I snapped this:

After the overclocking, I got some very noticeable improvements in the xbmc navigation. Stuff started to move smoother. It’s still not perfect, but it’s much more manageable now.

Also, the thermal sinks seem to be really needed. The one on the cpu seems was quite hot after having the Pi run for about three hours.