Freevo: media center based on Puppy - Part I

How to do things, solutions, recipes, tutorials
Post Reply
Message
Author
dr_bones
Posts: 2
Joined: Sun 09 Nov 2008, 01:05

Freevo: media center based on Puppy - Part I

#1 Post by dr_bones »

Freevo on Puppy

I decided to write this walkthrough for all of you who wish to build media center based on lightweight Linux distribution. My idea is to get one of those mini-itx boards put it all together in hand made custom case install Linux with some kind of media center. Ofcourse I could do it on windows media center and had all of this out of the box but I wanted to learn something out of this experience and besides the idea is to have something in similar to standalone dvd player in terms of boot time. Other consideration is mATX board because the VIA doesn't give a damn about decent Linux graphics drivers and this would be nice to play HD movies in a while.

Time to build a prototype. My choice was Puppy Linux - don't ask me why, it simply took so little resources and managed to play divx video on my old k6 processor. The hardware for this task was my old Dell c640 laptop - if everything goes smoothly as I planned I will do an install on final hardware I promise you that will write some scripts to automate the process.

1) The first thing was to build compile environment - I took binaries from puppy site but i decided to build gcc again (really time consuming - you don't have to do this trust me).

2) Then I took openssl and openssh so I can connect from my desktop remotely (ofcourse you don't have to do this either). The error I encountered during make was "separation privileges" so you have to make a sshd user and a group

in /etc/group
sshd:!:33:

and in /etc/passwd
sshd:x:71:65:SSH daemon:/var/lib/sshd:/bin/false

and add a root password - just to connect remotely - locally you don't need it anyway.

3) Now I started to gather needed sources: Freevo and mplayer, what i also needed was Python that was used by freevo and SDL needed later on, ofcourse lame for mplayer and freetype.
Started building it all encountered and missing videoproto libraries so I got them from x.org site (http://xorg.freedesktop.org/wiki/).
While compiling SDL I had to "--disable-arts" in ./configure script otherwise it wont go.
Lame no problem as I recall
Freetype same
mplayer - same here but you may want to add some additional libraries later on (like xvid, x264, dvdnav your choice)
Then I guess I had to make SDL_ttf, SDL_image, SDL_mixer I don't remember if it was for mplayer or freevo's kaa library needed it - anyway I have it on my disc I had to do it ;)
While you have mplayer it is good thing to test it and watch a movie - besides you have to make subtitles work, right?

4) Then its time for Python - I took 2.4.4 because I had some problems with python libraries and freevo in Python 2.5 (will try newest one in couple of months)

5) Then requirements for Freevo and Pygame
pyxml
kaa-base
kaa-metadata
imlib
lib xcb (well here I had to manually correct /etc/ld* file to have the libraries be found, took the sleep of my eyes)
xcb proto
imlib-loaders
kaa-imlib2

Then beautifulsoup and numeric.
Remember that all python software goes with python setup.py install - and sometimes it doesn't show that something is missing making it really painful in a butt ;)

Then smpeg that needed some corrections - oh brother what would I do without search engines
MPEGaudio.h needs extra following code - my Puppy did not like it at the beginning

class MPEGaudio;
void Play_MPEGaudioSDL(void*, Uint8*, int);
int Play_MPEGaudio(MPEGaudio*, Uint8*, int);

#ifdef THREADED_AUDIO
int Decode_MPEGaudio(void*);
#endif

So we have then to make some more

pygame
zope
twisted
Imaging
elementtree


6) Right. Now you're ready to make Freevo (python setup.py install). It takes some time not to compile but to setup the environment like directories - make a copy of configure file and play with local_config.py to set it all up.

What I did and really got on my nerves was to set up MAME and ZSNES emulators to have some old games to play on my TV. Remember it is not a final setup just a prototype so I wanted to know if it all works, besides I'm still waiting for Freevo 2 and this eye candy GUI to compete with Windows Media Center.
(XMAME unfortunately is only supported by Freevo natively, but you can setup config file to run SDLMAME which is more uptodate) MAME went smoothly but on my Puppy I had to make some corrections in ZSNES - first of all I had to force g++ compiler in configure and then link GL directories to avoid unresolved references ( ln -s /usr/X11R7/include/GL GL) in ZSNES source directory (I dunno why --includedir like options in ./configure didn't work).

7) Ofcourse I didn't stop with that, I tried to install direct frame buffer before but I guess some software relays on X so I wont be able to resign it And I installed splashy to have this boot screen (as I said something like standalone DVD player) - its still buggy though on my Puppy Linux.

Ofcourse Lirc is a must to have remote control over the installation system but the voltage on COM port on my laptop is 5V and I build the IR reciever from schematics on Lirc page that uses 9V so is no good for my system now. Will save it for later.


Thats about it - my prototype works so I'm ready to think of final architecture. If you have any questions or suggestions please let me know I'd be really glad to receive them.

User avatar
ezeze5000
Posts: 347
Joined: Tue 10 May 2005, 17:48
Location: Missouri U.S.A
Contact:

re-Freevo

#2 Post by ezeze5000 »

I have an old Acer 3680 1.8ghz processor (celeron M)
512mb of ram
120gb hard drive

This might be a good candidate for a puppy Freevo.
What do you think?

The screen is busted but I hooked up an external monitor and it works fine.

I also want to use a 40" Polaroid TV using a 15 pin VGA cable.
And a surround sound for the jams.

Do you have an ISO I could download to play around with?


Thanks.
If at first you don't succeed try try again!

dr_bones
Posts: 2
Joined: Sun 09 Nov 2008, 01:05

#3 Post by dr_bones »

sure is enough - on this hardware I guess however you will not be able to get HD output right (x264) with mplayer - but I can be mistaken (just give it a try). But for divx, dvd, music, pictures, old game emulation its enough - besides you have 5channel audio - make sure you set up alsa to get the output right.
As I said I built the prototype to find out if it's worth an effort, the final hardware will be more suitable - I got to know Puppy so I guess it stays :)

no... im sorry I dont have an iso - i did all from scratch from the source - started with the fresh Puppy
regards
bns

vampire666
Posts: 29
Joined: Thu 15 Nov 2007, 19:33

#4 Post by vampire666 »

I have an old Celeron 488Mhz with 384MB of Ram and I was wondering if I could use it as a very simple mediacenter: play standard-definition movies (divx/xvid), music and display photos.

Since the hardware is really poor I thought of Puppy linux (which I already used on this machine but for other purposes)...and Freevo.
Is there an easier way to install Freevo on Puppy?
Will I be able to use the TV-Out of mu Geforce4 440MX?

Thanks

Post Reply