by Nick Heath
The Raspberry Pi is one of the most eagerly-awaited computers of 2012. With more than 350,000 people on the Raspberry Pi waiting list, it's an enthusiasts' machine with mainstream appeal.
The computer provides exceptional value. It's a $40 computer with a range of intuitive programming tools and the capability of an average PC - browsing the web, running office software or playing HD video. The Pi is also suited to projects as diverse as controlling robots and building an in-car computer.
But in its present form novice computer users - weaned on the simplicity of Windows PCs, smartphones and iPads - may struggle to get to grips with the Raspberry Pi.
The difficulties that some noobs may experience stem from the nature of its operating system. Several Linux distributions are recommended for use with the Pi - Debian Squeeze, Arch Linux ARM, Fedora 14 and QtonPi - with Debian Squeeze suggested for first-time Linux users.
The Pi that was shipped to TechRepublic had Debian Squeeze with the Lightweight X11 Desktop Environment, which provides a GUI based on windows and a start menu that will be familiar to most PC users.
However, lifelong Windows users are in for a surprise. Using the Pi means getting comfortable with typing commands, as the command-line interface of LX Terminal is essential for carrying out everyday tasks, from changing screen resolution to installing programs.
After a week of using the Pi, I'm more familiar with Debian and its commands, and none of these tweaks is particularly tricky. But I do worry that some people may lack the patience to learn how to control the OS - especially as the device is being sold as a machine for encouraging children to learn to code. If kids run into enough of these barriers just trying to use the machine, isn't there a danger that they'll lose interest?
The counter argument is that anyone interested in learning how to code will probably enjoy getting to grips with the Pi's OS. After all, one of the reasons for making the Pi was to give users control over a machine in a way that isn't possible with today's glossy, abstracted PC interfaces.
Also, the Pi has just come out and technically skilled early adopters are already tweaking the system and its software to make it far more intuitive for future users.
This gallery walks through the Debian OS and software running on a model B Pi, starting with the boot screen, seen here.
The Debian Squeeze system I used booted in just over 30 seconds to the LDXE desktop, and it had no problems recognising the mouse, keyboard or a variety of screens - connected via both HDMI and composite.
This is the LDXE GUI, which provides an easily accessible front end for the system.
Navigating the desktop felt responsive, most native programs open reasonably swiftly and I was able to have a lightweight web page and a four word processor windows open without any slowdown.
While the Pi can multi-task undemanding programs such as Abiword and the Midori browser, it does object if you load more demanding apps like the GNU Image Manipulation Program (GIMP). GIMP took more than one minute to start up and caused a noticeable lag in programs running alongside it. If you want to eke out more multitasking performance from the machine, then you can alter how the board's 256MB memory is shared between the CPU and the GPU
The Raspberry Pi is one of the most eagerly-awaited computers of 2012. With more than 350,000 people on the Raspberry Pi waiting list, it's an enthusiasts' machine with mainstream appeal.
The computer provides exceptional value. It's a $40 computer with a range of intuitive programming tools and the capability of an average PC - browsing the web, running office software or playing HD video. The Pi is also suited to projects as diverse as controlling robots and building an in-car computer.
But in its present form novice computer users - weaned on the simplicity of Windows PCs, smartphones and iPads - may struggle to get to grips with the Raspberry Pi.
The difficulties that some noobs may experience stem from the nature of its operating system. Several Linux distributions are recommended for use with the Pi - Debian Squeeze, Arch Linux ARM, Fedora 14 and QtonPi - with Debian Squeeze suggested for first-time Linux users.
The Pi that was shipped to TechRepublic had Debian Squeeze with the Lightweight X11 Desktop Environment, which provides a GUI based on windows and a start menu that will be familiar to most PC users.
However, lifelong Windows users are in for a surprise. Using the Pi means getting comfortable with typing commands, as the command-line interface of LX Terminal is essential for carrying out everyday tasks, from changing screen resolution to installing programs.
After a week of using the Pi, I'm more familiar with Debian and its commands, and none of these tweaks is particularly tricky. But I do worry that some people may lack the patience to learn how to control the OS - especially as the device is being sold as a machine for encouraging children to learn to code. If kids run into enough of these barriers just trying to use the machine, isn't there a danger that they'll lose interest?
The counter argument is that anyone interested in learning how to code will probably enjoy getting to grips with the Pi's OS. After all, one of the reasons for making the Pi was to give users control over a machine in a way that isn't possible with today's glossy, abstracted PC interfaces.
Also, the Pi has just come out and technically skilled early adopters are already tweaking the system and its software to make it far more intuitive for future users.
This gallery walks through the Debian OS and software running on a model B Pi, starting with the boot screen, seen here.
The Debian Squeeze system I used booted in just over 30 seconds to the LDXE desktop, and it had no problems recognising the mouse, keyboard or a variety of screens - connected via both HDMI and composite.
This is the LDXE GUI, which provides an easily accessible front end for the system.
Navigating the desktop felt responsive, most native programs open reasonably swiftly and I was able to have a lightweight web page and a four word processor windows open without any slowdown.
While the Pi can multi-task undemanding programs such as Abiword and the Midori browser, it does object if you load more demanding apps like the GNU Image Manipulation Program (GIMP). GIMP took more than one minute to start up and caused a noticeable lag in programs running alongside it. If you want to eke out more multitasking performance from the machine, then you can alter how the board's 256MB memory is shared between the CPU and the GPU
Running the Pi as a media centre is a popular choice, and open-source XBMC media-centre software runs well on the device.
On TechRepublic's Pi, XBMC smoothly streamed both a 1080p H.264 video and a 720p YouTube clip without any problems. Other users report that online TV catch-up services, such as BBC iPlayer, also work well with XBMC on the Pi.
There was some lag in the menus - particularly for the YouTube add-on - and I was unable to rewind YouTube videos on the XBMC build I used.
Anyone planning to use XBMC to stream films from Netflix or Lovefilm will be disappointed as both of their online streaming services rely on Microsoft Silverlight, which is currently incompatible with the OSes that run on the Pi.
There are already several varieties of XBMC software available for the Pi, each offering different features, with new releases shared online.
On TechRepublic's Pi, XBMC smoothly streamed both a 1080p H.264 video and a 720p YouTube clip without any problems. Other users report that online TV catch-up services, such as BBC iPlayer, also work well with XBMC on the Pi.
There was some lag in the menus - particularly for the YouTube add-on - and I was unable to rewind YouTube videos on the XBMC build I used.
Anyone planning to use XBMC to stream films from Netflix or Lovefilm will be disappointed as both of their online streaming services rely on Microsoft Silverlight, which is currently incompatible with the OSes that run on the Pi.
There are already several varieties of XBMC software available for the Pi, each offering different features, with new releases shared online.
Here is XBMC running the the video Big Buck Bunny, a 1080p movie encoded using the H.264 codec and with 5.1 channels of audio.
Video playback was smooth thanks to the help from the GPU, which accelerates the playback of video encoded using H.264. The Pi's VideoCore IV GPU is capable of Blu-ray quality playback using H.264 at 40Mbps.
XBMC playback via HDMI was fine but I had an issue using composite, which hopefully will be fixed by a tweak or a different build of XBMC.
Video playback was smooth thanks to the help from the GPU, which accelerates the playback of video encoded using H.264. The Pi's VideoCore IV GPU is capable of Blu-ray quality playback using H.264 at 40Mbps.
XBMC playback via HDMI was fine but I had an issue using composite, which hopefully will be fixed by a tweak or a different build of XBMC.
Here is the YouTube trailer for the movie Ice Age 4 playing in XBMC.
XBMC provides access to YouTube through a software add-on. The media-centre software supports a range of plug-ins, which allow it to play a wide range of video and audio from a variety of sources on- and offline.
Note, both this shot and the previous image are photos of the TV running XBMC. In reality the image quality on the Pi is sharper and more vibrant than the pictures may suggest.
XBMC provides access to YouTube through a software add-on. The media-centre software supports a range of plug-ins, which allow it to play a wide range of video and audio from a variety of sources on- and offline.
Note, both this shot and the previous image are photos of the TV running XBMC. In reality the image quality on the Pi is sharper and more vibrant than the pictures may suggest.
The Pi's Debian Squeeze OS includes Midori, a lightweight web browser capable of loading most sites I tried.
The browser's performance is perfectly acceptable for most web pages. It loads sites light on graphics and JavaScript, such as Raspberrypi.org and Stack Overflow, in five seconds or less and lets you browse them without a hitch. More demanding sites, such as the BBC News page, take longer to load - about 10 seconds but are still browsable with only a very slight lag.
However, graphically-rich sites or those with sophisticated user interfaces - such as YouTube and Twitter - took just under 15 seconds to load and lagged when browsed.
The browser supports multiple tabs and I noticed hardly any slowdown in page load times or browsing speeds after opening six tabs displaying BBC News.
The browser's performance is perfectly acceptable for most web pages. It loads sites light on graphics and JavaScript, such as Raspberrypi.org and Stack Overflow, in five seconds or less and lets you browse them without a hitch. More demanding sites, such as the BBC News page, take longer to load - about 10 seconds but are still browsable with only a very slight lag.
However, graphically-rich sites or those with sophisticated user interfaces - such as YouTube and Twitter - took just under 15 seconds to load and lagged when browsed.
The browser supports multiple tabs and I noticed hardly any slowdown in page load times or browsing speeds after opening six tabs displaying BBC News.
You may also struggle to watch much streaming video through the web browser, as the Pi's GPU is not licensed to accelerate Flash video playback.
I was unable to get any Flash video playback in Midori, which preventing me from watching any YouTube videos or Flash videos on other sites.
YouTube and an increasing number of video sites offer streams using HTML5, which may provide a way of watching streaming video in the Midori browser, although I was also unable to get this to work.
I was unable to get any Flash video playback in Midori, which preventing me from watching any YouTube videos or Flash videos on other sites.
YouTube and an increasing number of video sites offer streams using HTML5, which may provide a way of watching streaming video in the Midori browser, although I was also unable to get this to work.
The MIT program Scratch is designed to provide an accessible way for kids to learn about coding.
The program's interface makes it easy to build and change software by dragging and dropping commands and changing variable values through simple menus.
The version installed on the Pi came loaded with a simple car-racing game. Users can add and remove commands from the game, then press play and immediately see the effect of those changes - for instance, tweaking how cars handle or adjusting the animation for car crashes.
The program ran smoothly and without a hitch.
The program's interface makes it easy to build and change software by dragging and dropping commands and changing variable values through simple menus.
The version installed on the Pi came loaded with a simple car-racing game. Users can add and remove commands from the game, then press play and immediately see the effect of those changes - for instance, tweaking how cars handle or adjusting the animation for car crashes.
The program ran smoothly and without a hitch.
The OS also includes a program to help write and compile software in the Python programming language.
The IDLE integrated development environment (IDE) for Python booted up reasonably quickly and was able to compile the program above, the game Four in a Row, in about 25 seconds.
With a bit of tweaking it should be possible to set up the Pi to boot straight into a Python IDE, so programmers can crack on with coding immediately.
The IDLE integrated development environment (IDE) for Python booted up reasonably quickly and was able to compile the program above, the game Four in a Row, in about 25 seconds.
With a bit of tweaking it should be possible to set up the Pi to boot straight into a Python IDE, so programmers can crack on with coding immediately.
Here's the game Four in a Row running on the Pi after being compiled.
Running the program demonstrates the limits of the Pi's 256MB memory and 700MHz Arm11 CPU - with the program maxing out the system and causing a noticeable slowdown in other software.
The OS also shipped with Geany, a simple IDE that supports a variety of programming and scripting languages, including C and Perl.
Running the program demonstrates the limits of the Pi's 256MB memory and 700MHz Arm11 CPU - with the program maxing out the system and causing a noticeable slowdown in other software.
The OS also shipped with Geany, a simple IDE that supports a variety of programming and scripting languages, including C and Perl.
The 1999 first-person shooter Quake III runs at 1280x1024 on the Pi without a hitch to the frame rate, thanks to the computer's relatively powerful graphics processing unit (GPU).
The Pi graphics capabilities equal that of a first-generation Xbox. But don't expect the latest games to be available on the Pi. The only reason Quake III was able to be converted is that its code is freely available online.
The Pi's GPU is capable of processing 1Gpixel per second and 1.5Gtexel per second, and can carry out 24 gigaflops.
The Pi graphics capabilities equal that of a first-generation Xbox. But don't expect the latest games to be available on the Pi. The only reason Quake III was able to be converted is that its code is freely available online.
The Pi's GPU is capable of processing 1Gpixel per second and 1.5Gtexel per second, and can carry out 24 gigaflops.
Abiword is a lightweight word processor with an intuitive layout and many of the core features - such as easy formatting and spellcheck - found in popular packages such as Microsoft Word and OpenOffice.
The word processor boots up quickly and is happy running with a couple of documents open at the same time.
The LX Terminal may be daunting to those unfamiliar with Linux but it is a powerful interface that allows users to control the system with typed commands.
Even though the LDXE GUI can carry out basic tasks such as moving and copying files, the terminal gives the user much more granular control. It allows commands to be strung together to carry out complex operations - for instance, monitoring a folder and automatically removing all files of a particular type.
Expect to be calling this terminal up a lot - every time you need to install a new software package or configure the system in some way.
Luckily even Linux novices like me can pick up commands and write simple bash scripts to control the system relatively rapidly, thanks to the wealth of wikis, forum postings and other information about Debian available online.
The word processor boots up quickly and is happy running with a couple of documents open at the same time.
The LX Terminal may be daunting to those unfamiliar with Linux but it is a powerful interface that allows users to control the system with typed commands.
Even though the LDXE GUI can carry out basic tasks such as moving and copying files, the terminal gives the user much more granular control. It allows commands to be strung together to carry out complex operations - for instance, monitoring a folder and automatically removing all files of a particular type.
Expect to be calling this terminal up a lot - every time you need to install a new software package or configure the system in some way.
Luckily even Linux novices like me can pick up commands and write simple bash scripts to control the system relatively rapidly, thanks to the wealth of wikis, forum postings and other information about Debian available online.