Making a smart TV with XBMC and a Raspberry Pi

Add-ons and Skins

Thanks to a powerful and efficient add-on interface [6], XBMC enjoys a large community that supports plugins with additional XBMC functions. Most Plugins are developed in Python. XBMC maintains officially recognized extensions in a packet source that is incorporated in house [7]. However, numerous unofficial repositories are offered by diverse XBMC communities. These repositories sometimes contain add-ons that are not necessarily legal. For example, an add-on may offer the option of directly loading Live Streaming from pay TV channels into XBMC

You will find official XBMC add-ons under System | Settings | Add-ons | Get Add-ons | Add-ons. It is a good idea to also activate the Watchdog from the Add-ons | Services menu. The Watchdog monitors incorporated media sources and updates the XBMC database with changes. If you like to watch the original version of foreign language movies and need subtitles, go to XBMC Subtitles. The Subtitle add-on connects to by default. You'll need to configure some add-ons after installation.

The Video Add-ons also have a part to play. This option lets you incorporate YouTube and other media libraries. I'll address the video add-ons function in more detail later in this article.

The XBMC packet sources contain numerous and highly distinctive skins. However, you will need to keep interaction with the Rasp Pi in mind when making your choice. Most of the skin themes can have an impact on performance, and a Rasp Pi can quickly become overwhelmed by too many images or too much animation.

Therefore, choose themes with some care. Otherwise, don't be surprised by a sluggish interface. Eminence [8] and Refocus [9] are good alternatives to the gaudy and basic original Confluence. These skins work with a sleek interface (Figure 2) and therefore barely use more CPU performance than Confluence. You won't need to be afraid of comparisons to the look found in the interfaces for modern smart TVs.

Figure 2: Thin skins, for example the Eminence skin discussed in this article, give XBMC a modern appearance without over-taxing the resources of the Raspberry Pi.

Overclocking the Rasp Pi

If you want Eminence or other resource-hungry skins to really run smoothly, consider overclocking your XBMC Rasp Pi. Overclocking is now officially permitted by the Raspberry Pi foundation [10], and it does not lead to loss of any warranty rights. Configuring overclocking is easy via Raspbmc Settings.

If you have already switched to Eminence, you will find the appropriate settings under Programs | Program Add-ons | Raspbmc Settings | System Configuration | System Performance Profile. The Fast setting is fast enough for the Eminence skin; Super is not actually necessary. If you are set on using OpenELEC as the XBMC distribution, you need to overclock the Rasp Pi via the config.txt file [11]. This approach makes for a little more work. You will need to take the memory card out of the Raspberry Pi and then read it with the card reader on a PC.

You will find the config.txt file in the flash/ subfolder of the memory card. Edit the file with a text editor. The overclocking options are located in Overclock mode settings. Listing 1 shows customary settings for arm_freq, core_freq, sdram_freq, and over_voltage.

Listing 1

Overclock Settings

01 # Overclock mode settings.
02 #
03 # default recommended values are: arm_freq | core_freq | sdram_freq | over_voltage
04 # no overclocking               :    700   |    250    |    400     |      0
05 # mode 'Modest'                 :    800   |    300    |    400     |      0
06 # mode 'Medium'                 :    900   |    333    |    450     |      2
07 # mode 'High'                   :    950   |    450    |    450     |      6
08 # mode 'Turbo'                  :   1000   |    500    |    500     |      6
10 arm_freq=950
11 core_freq=450
12 sdram_freq=450
13 over_voltage=6

You can log into a running OpenELEC system via SSH. Activate the service in the installation assistant, either immediately after installing the system or at a later point in time, by going to OpenELEC settings and following System | OpenELEC | Services | activate SSH. Connect to OpenELEC as indicated in Listing 2. The login credentials are called root and openelec in the standard settings. Next you should configure the flash partition with permission to write and edit the config.txt file with Nano. Save the changes with Ctrl+O, close the editor with Ctrl+X, and reboot OpenELEC.

Listing 2

Connecting to OpenELEC

01 $ ssh root@<openelec-ip>
02 $ sudo mount /flash -o remount,rw
03 $ sudo nano /flash/config.txt
04 $ sudo reboot

If you like to work on system settings, it is a good idea to install OpenELEC RPi Config [12]. This XBMC add-on lets you change numerous system-related settings directly from OpenELEC. You can install the configuration tool by downloading the installation archive in the form of the zip file from the Internet and then placing the file in the storage/ folder of the memory card.

Install the ZIP file via System | Addons | Install from Zip File | Home Folder. Then activate the add-on via the deeply nested menu path System | Addons | Other Addons | Leopold's Addons | Services | Other Addons | OpenELEC RPi Config. Once you have finished this configuration, you will see the OpenELEC RPi Config option under Programs. Speed up the Rasp Pi with the Preset option in the Overclocking tab.

Buy this article as PDF

Express-Checkout as PDF

Pages: 8

Price $2.95
(incl. VAT)

Buy Raspberry Pi Geek

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content