DIY: Linux Media Center Computer or Digital Photo Frame Viewer using old laptop
Recently I got an old laptop.. sorry, pretty old – 10 years old – DELL C400. But it has some decent hardware like 1.2GHz / 1GB RAM / 40GB HDD with Windows XP preinstalled. It’s Wi-Fi doesn’t support WPA authentication, so obviously I can’t plug into my home network without compromising security of other systems. So thought of converting this cute little machine to a decent Media Center Computer which can behave as a digital photo frame viewer also. The basic objective is to play some videos, music playing, photo viewing and weather report.
Infrared Remote controller is the only additional hardware required. Remote control makes media experience more smooth. So I used my MediaGate GP-IR02BK Remote Control, 2 Channel IR for this purpose. It is a USB based remote control. The only USB port in the laptop powers its Infrared Receiver.
For weather report it needs to be connected to internet always through its ethernet connection (since it’s Wi-Fi does not support decent security authentication like WPA). The hard disk had free space of 16GB. Low processor speed, always online requirement, less hard disk space and pretty wide choice of media center applications made me to choose Linux as OS for this system. I wanted to customize the OS to the bare minimum level of installation for better performance. So the obvious choice is GNU/Debian. Since Freevo is the engine behind many linux media centers I selected this as safe choice for media center application. lirc provided infrared remote control support. This is the software stack behind this media center computer.
Step 1: Installing the GNU/Debian Operating System
GNU/Debian is my favourite Linux distribution, which is powered by the most easier, powerful and flexible software package management system. I downloaded the stable Lenny – network install ISO image from here. The most important issued I faced to start with installation is lack of CDROM drive and USB pen drive boot capability of this laptop. So, I thought of network PXE boot installation option which I had not tried so far. The following two links helped me to install the base Debian from my Ubuntu 10.04 (Beta) laptop through PXE boot option in laptop.
The base installation does not install X Windows. So the following command will do it.
# apt-get install xserver-xorg
The another important package is ALSA installation – it is Linux Sound support – go ahead with the following command.
# apt-get install alsa-utils alsa-tools
Next one is network connectivity to copy the media files from your laptop or workstation. So install the samba (SMB/CIFS network file server) as shown below.
# apt-get install samba
Then you need another powerful and useful tool, called SSH server to configure and control your machine from remote machine. This is necessary since you won’t have easier access to our media center keyboard once we pass the step-4.
# apt-get install ssh
Last but not least, the codecs necessary to play any media files we throw – just follow the below command.
# apt-get install gstreamer0.10-*
Update: Since Freevo uses mplayer as backend by default, which does not use gstreamer codecs. But I need these codecs when some of the media formats which does not work on mplayer, can utilize these codecs with other media players. No harm in installing it.
I want to connect my media center with my old TV. I have a PC to TV converter which sits in between VGA port of this laptop and TV. I installed just xrand package. It automatically detected my external TV. The beauty is whenever I play video files, the laptop display became blank and TV output was enabled. When I play other media like Pictures and Audio, both TV and Laptop screen enabled. I did not do any configuration
# apt-get install xrandr
Step 2: Installing the lirc remote control system:
The following command will install lirc in your system.
# apt-get install lirc
Now I connect my USB Infrared receiver in USB port. How to check whether this remote works or not? The following link in freevo web site describes this neatly – http://doc.freevo.org/Lirc
I have configured (a lot of reading on internet and some common sense to get the working configuration file). I have attached the working configuration files your reference. Please note that this configuration is meant for my remote which is USB based and it is MCE2 model.
/etc/lirc/hardware.conf (618 bytes, 474 hits)
In this file you can configure your driver for infrared remote control, corresponding device file and driver specific to remote model.
/etc/lirc/lircd.conf (4.6 KiB, 408 hits)
This file is meant for mceusb2 model remote (Since my remote is compatible with Windows Media Center Edition 2 & USB based)
Step 3: Installing the Freevo Media Center Software:
Next task is to install freevo application – the below command will do it.
# apt-get install freevo
As a post installation step, the package manager will give an option of starting X server configured for freevo, which will start freevo automatically during every boot. It is better to say Yes for this option, which will reduce a lot of configuration time. And also this wizard will help you to select where you are going to store your media files and your screen size.
The following links helped me to configure freevo.
Here are my configuration files, which may be helpful for you.
/usr/share/freevo/freevo_config.py (76.6 KiB, 1,446 hits)
This is the default installation configuration file, which may be overwritten during the update. So you should not do any customization here.
/etc/freevo/debconf.py (709 bytes, 450 hits)
This is a configuration file updated by debian package management system (dpkg) during installation. The wizard created one.
/etc/freevo/lircrc (6.0 KiB, 504 hits)
This is the important configuration file which maps your remote buttons with freevo functionalities. Feel free to tweak this to suit to your requirement.
/etc/freevo/local_conf.py (57.6 KiB, 1,395 hits)
This is the most important configuration file to add/remove plugins and configure every element of your freevo screens and functionalities. Just hack it to your requirement.
Automatic power up during morning – this can be achieved through configuring local_conf.py file or through BIOS settings. In my laptop, the auto start time option was there, which made the job more simple.
Step 4: Mechanical hack and Art work:
At this stage, we should have a working media center in the physical form of a laptop. Let’s convert it into a Photo frame kind of setup, so that we can use it either as Digital Photo Frame or Media Center – any damn name!
First thing is we should not display a keyboard for a digital photo frame. So we have to reverse the laptop lid with LCD screen. So that keyboard plane of laptop will become base for our to-be digital photo frame. From front view you should see only the LCD screen which is focussing now towards audience – NOT keyboard. To do this I referred the following link which shows how to disassemble a similar DELL laptop. This tutorial does not talk about reverse fitting of LCD screen. Do it at your own risk.
Next move is to get a nice looking photo frame fitting to your laptop screen size. Except frame, remove all other template stuff in it. Fit this frame around your LCD screen nicely with a simple clips.
I use this system for my quick weather update, devotional songs playing and cartoons for my kids and also occasional movie songs playing. Hope you too will enjoy it!