Project D

Freevo Anyone?

Why do you want freevo? Perhaps you own an old pc box and a large screen lcd tv but still watching your pirated anime or movie in your pathetic tiny laptop?

If that is the case…. GET FREEVO and liberate your eyes.

Screenshots

Shamefully ripped from freevo official site :)

Freevo Blurr SkinFreevo blurr skinFreevo Blurr skin

Hardware

Tested hardware is a bit overkill just for a freevo only system.

CPU : Pentium 4 3ghz, Socket 478
Memory : DDR 400, 512 mb
Motherboard : ASUS P4S800
Chipset : SiS
DVD-RW : Liteon
Harddisk : Primary master - 80 gb, secondary master - 250 gb
Video card : ASUS ATI Radeon 9200
Wifi : on board asus wifi@home

Casing : old cheap casing
Fan : 3 old cheap small fan in front, side and back
CPU fan : OEM that comes with the cpu

Other peripheral : Cheap Keyboard, 5 Meter PS-2 Cable extender, 5 Meter Cheap Vga cable, 5 Meter Cheap sound card jack cable, 1 Cheap USB

joypad and 1 Cheap USB extender.

Looks like a cheap install? HELL YEAH! I dont need silent pc, I dont want Remote Control, I CANT HAVE TV feature like tivo (why?) and Cheap

Is GOOD!.

Software Installation

I choose to use gentoo as the operating system, why? Just my personal preferences…. you can use other linux distro if you want to.

Get the minimal gentoo install CD burn them and boot them. I use

href="http://www.gentoo.org/doc/en/gentoo-x86-quickinstall.xml">this guide to install gentoo in my system.

Remember to edit your /etc/make.conf properly and don’t forget to recompile your kernel to match your hardware options first.

You will need also X server to up and configured properly to get the most out of freevo and mplayer.

Installing mplayer

Now Assuming that you have gentoo properly configured and running, install mplayer first.

Get Mplayer use flag to match your specification

emerge -vp mplayer

If you want to use my useflag :

echo "media-video/mplayer X a52 alsa cddb cdio cdparanoia cpudetection dga dts dvd encode fbcon gif iconv joystick jpeg lzo mad 

mmx mmxext mp3 opengl png quicktime rar rtc samba sse sse2 theora truetype unicode v4l v4l2 vorbis win32codecs x264 xinerama xscreensaver xv 

xvid" >> /etc/portage/package.use

or change the use flag to your need.

Next install svgalib_helper, recommended for gaming emulator in freevo

emerge svgalib_helper

Load the svgalib kernel module

modprobe svgalib_helper

Install gaming for freevo

Super nintendo emulator, I use zsnes but you can use snes9x if you want to.

echo "games-emulation/zsnes opengl png" >> /etc/portage/package.use
emerge zsnes

You will need to tweak ~/.zsnes/zsnesl.cfg to match your need

edit ~/.zsnes/zinput.cfg or you can use mine

; PSR-produced config file (stock default in CAPS)

; Input Device: 0 = Unplugged, 1 = KEYBOARD/GAMEPAD
pl1contrl=1
; Keys for Select, Start, Up, Down, Left, Right, X, A, L, Y, B, R
pl1selk=54
pl1startk=28
pl1upk=90
pl1downk=96
pl1leftk=92
pl1rightk=94
pl1Xk=31
pl1Ak=45
pl1Lk=32
pl1Yk=30
pl1Bk=44
pl1Rk=46
; Turbo Keys for A, B, X, Y, L, R
pl1Atk=0
pl1Btk=0
pl1Xtk=0
pl1Ytk=0
pl1Ltk=0
pl1Rtk=0
; Diagonal Keys for Up-Left, Up-Right, Down-Left, Down-Right
pl1ULk=0
pl1URk=0
pl1DLk=0
pl1DRk=0

joy_sensitivity=16384
pl12s34=0
AllowUDLR=0
Turbo30hz=1
mouse1lh=0 ;First device
mouse2lh=0 ;Second device
SSAutoFire=13
SSPause=14
device1=0
device2=0

GameBoyAdvance emulator, I use visualboyadvance

echo "games-emulation/visualboyadvance mmx -gtk" >> /etc/portage/package.use

next install visualboyadvance

emerge games-emulation/visualboyadvance

You will need to tweak ~/Visualboyadvance.cfg

or you can use mine

Left          Left Arrow  (0114)
Right         Right Arrow (0113)
Up            Up Arrow    (0111)
Down          Down Arrow  (0112)
A             Z           (007a)
B             X           (0078)
L             A           (0061)
R             S           (0073)
Start         ENTER       (000d)
Select        BACKSPACE   (0008)
Speed up      SPACE       (0020)
Capture       F12         (0125)
#
#Joy0_Left=0114
#Joy0_Right=0113
#Joy0_Up=0111
#Joy0_Down=0112
#Joy0_A=007a
#Joy0_B=0078
#Joy0_L=0061
#Joy0_R=0073
#Joy0_Start=000d
#Joy0_Select=0008
#Joy0_Speed=0020
#Joy0_Capture=0125

###### WORKING JOYSTICK
#Joy0_Left=1004
#Joy0_Right=1005
#Joy0_Up=1006
#Joy0_Speed=1084
#Joy0_Capture=1085
#Joy0_GS=1080
#Joy0_Down=1007
#Joy0_A=1083
#Joy0_B=1082
#Joy0_L=1086
#Joy0_R=1087
#Joy0_Start=1089
#Joy0_Select=1088
#Joy1_Left=0
#Joy1_Right=0
#Joy1_Up=0
#Joy1_Speed=0
#Joy1_Capture=0
#Joy1_GS=0
#Joy1_Down=0
#Joy1_A=0
#Joy1_B=0
#Joy1_L=0
#Joy1_R=0
#Joy1_Start=0
#Joy1_Select=0
#Joy2_Left=0
#Joy2_Right=0
#Joy2_Up=0
#Joy2_Speed=0
#Joy2_Capture=0
#Joy2_GS=0
#Joy2_Down=0
#Joy2_A=0
#Joy2_B=0
#Joy2_L=0
#Joy2_R=0
#Joy2_Start=0
#Joy2_Select=0
#Joy3_Left=0
#Joy3_Right=0
#Joy3_Up=0
#Joy3_Speed=0
#Joy3_Capture=0
#Joy3_GS=0
#Joy3_Down=0
#Joy3_A=0
#Joy3_B=0
#Joy3_L=0
#Joy3_R=0
#Joy3_Start=0
#Joy3_Select=0
#joyVersion=1
#Motion_Left=75
#Motion_Right=77
#Motion_Up=72
#Motion_Down=80

# Motion support keys. Same format as above
#
# Default keys are (value in parenthesis):
#
# Left          Numeric Pad 4 (0104)
# Right         Numeric Pad 6 (0106)
# Up            Numeric Pad 8 (0108)
# Down          Numeric Pad 2 (0102)
#
#Motion_Left=0104
#Motion_Right=0106
#Motion_Up=0108
#Motion_Down=0102

frameSkip=0
gbFrameSkip=5
video=4
fullScreen=1
disableMMX=0
useBios=0
biosFile=none
filter=3
disableStatus=0
borderOn=0
emulatorType=0
colorOption=1
saveDir=/home/duckz/.vgba-saves
batteryDir=/home/duckz/.vgba-saves
captureFormat=0
soundQuality=1
soundEcho=0
soundLowPass=0
soundReverse=0
saveType=0
flashSize=1
soundVolume=0
ifbType=0
showSpeed=1
showSpeedTransparent=1
autoFrameSkip=0
throttle=0
pauseWhenInactive=0
agbPrint=0
rtcEnabled=0
soundOff=0
soundEnable=30f
borderAutomatic=0
skipBios=0
rewindTimer=0
enhancedDetection=1

If you want to read comic or manga on freevo, you can install comix

echo media-gfx/comix -debug rar" >> /etc/portage/package.use
emerge comix

later on you will need to modify /etc/freevo/local_conf.py

GAMES_ITEMS = [
        ('Visual Boy Advance', '/home/duckz/Multimedia/GameBoy',
             ('GENERIC', '/usr/games/bin/VisualBoyAdvance', '', '', [ 'gba', 'zip' ] )),
        ('SUPER NINTENDO', '/home/duckz/Multimedia/Snes',
             ('SNES', '/usr/bin/zsnes', '-m -r 3 -k 100 -u -v 4', '', None )),
        ('COMIX', '/home/duckz/Multimedia/Picture/Manga',
             ('GENERIC', '/usr/bin/comix', '', '', [ 'rar', 'zip', 'jpg', 'png', 'gif', 'bmp' ] ))
#        ('MAME', '/home/duckz/Multimedia/Mame',
#             ('MAME', '/usr/games/bin/xmame.SDL', '-fullscreen -modenumber 6' ))
]

you will need to configure comix to run in full screen, otherwise it will run in small box.

Installing Freevo

To install freevo you will need to check the use flag first

emerge -vp freevo

or you can use my useflag

echo "media-tv/freevo X cdparanoia doc dvd encode gphoto2 jpeg lame mixer snes sqlite vorbis xine" >> 

/etc/portage/package.use

after successful installation, edit /etc/freevo/freevo.conf Please make sure that the freevo screen resolution is similar to your X server

screen resolution. Otherwise if you installed comix, it will show in small windows.

Next Edit /etc/freevo/local_conf.py this is the only part that makes freevo hard to install, you will need to read and configure it manually.

Be careful since this is a python script no white space in the beginning of line is allowed.

Now if your have finished the configuration, test if freevo is running well

/usr/bin/freevo -fs

After if your system is mainly for freevo only, you will need to configure it to run freevo on boot.

If you dont care when freevo is running as root its much simpler to use gentoo original init.d script just do

/etc/init.d/freevo start
rc-update add freevo default

and try rebooting the machine, it should load freevo on boot.

Now if you DONT want freevo to be run as root, you will need to replace the original init.d script to a modified one.

execute this as root

mv /etc/init.d/freevo /etc/init.d/freevo.orig
mv /etc/conf.d/freevo.conf /etc/conf.d/freevo.conf.orig

create /etc/init.d/freevo as root

#!/sbin/runscript
# /etc/init.d/freevo
# $Header: $

depend() {
        need numlock
        use net
        before synergy
}

checkconfig() {
        if [ ! -e /etc/conf.d/freevo ] ; then
                eerror "This script requires /etc/conf.d/freevo"
                return 1
        fi
        . /etc/conf.d/freevo
        if [ "$freevo" = "no" ] && [ "$webserver" = "no" ] && \
                [ "$recordserver" = "no" ]; then
                eerror "Please check /etc/conf.d/freevo"
                return 1
        fi
}

start() {
        checkconfig || return 1
        . /etc/conf.d/freevo   

        if [ "$freevo" == "daemon" ]; then
                        ebegin "Starting Freevo Daemon mode"
                        start-stop-daemon --start -b -v -p /tmp/freevo.pid -m -c ${FREEVO_USER} -x ${FREEVO_EXEC} -- ${FREEVO_DAEMON_OPTS}
                        eend $? "Failed to start Freevo"                 

        elif [ "$freevo" == "yes" ]; then
                        ebegin "Starting Freevo"
                        start-stop-daemon --start -b -v -p /tmp/freevo.pid -m -c ${FREEVO_USER} -x ${FREEVO_EXEC} -- ${FREEVO_OPTS}
                        eend $? "Failed to start Freevo"
        fi
	        if [ "$webserver" == "yes" ]; then
                ebegin "Starting Freevo webserver"
                start-stop-daemon --start -b -v -c ${FREEVO_USER} -x ${FREEVO_EXEC} -- ${FREEVO_WEBSERVER_OPTS}
                eend $? "Failed to start Freevo webserver"                  

        fi

        if [ "$encodeserver" == "yes" ]; then
                ebegin "Starting Freevo encoding server"
                start-stop-daemon --start -b -v -c ${FREEVO_USER} -x ${FREEVO_EXEC} -- ${FREEVO_ENCODE_OPTS}
                eend $? "Failed to start Freevo encoding"                  

        fi      

}

stop() {

        if [ "$webserver" == "yes" ]; then
                ebegin "Stopping Freevo webserver"
                start-stop-daemon --start -c ${FREEVO_USER} -x ${FREEVO_EXEC} -- ${FREEVO_WEBSERVER_OPTS} stop
                eend $?
        fi

        if [ "$recordserver" == "yes" ]; then
                ebegin "Stopping Freevo recordserver"
                start-stop-daemon --start -c ${FREEVO_USER} -x ${FREEVO_EXEC} -- ${FREEVO_RECORD_OPTS} stop
                eend $?
        fi

        if [ "$encodeserver" == "yes" ]; then
                ebegin "Stopping Freevo recordserver"
                start-stop-daemon --start -c ${FREEVO_USER} -x ${FREEVO_EXEC} -- ${FREEVO_ENCODE_OPTS} stop
                eend $?
        fi

        if [ "$freevo" == "daemon" ]; then
                ebegin "Stopping Freevo daemon"
                 start-stop-daemon --start -c ${FREEVO_USER} -x ${FREEVO_EXEC} -- ${FREEVO_DAEMON_OPTS} stop
                start-stop-daemon --stop -x ${FREEVO_EXEC} -p /tmp/freevo.pid -q
                eend $? "Failed to stop Freevo daemon"

        elif [ "$freevo" == "yes" ]; then
                ebegin "Stopping Freevo"
                start-stop-daemon --stop -x ${FREEVO_EXEC} -p /tmp/freevo.pid -q
                eend $? "Failed to stop Freevo"
        fi
}

chmod +x /etc/init.d/freevo
rc-update add freevo default

Then Create /etc/conf.d/freevo dont forget to edit the options that you dont want to run

# /etc/conf.d/freevo: configuration options for the freevo init script.
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License, v2
# $Header: /var/cvsroot/gentoo-x86/media-tv/freevo/files/freevo.conf,v 1.3 2004/07/14 22:52:05 agriffis Exp $
#
# Before using this, make sure your settings in /etc/freevo are correct.

# Mode to start Freevo itself. Possible values are
#
# no:     don't start Freevo
# yes:    start Freevo on startup. You should only use this when the
#         computer is for Freevo only or you use Freevo with a DXR3
# daemon: start Freevo in daemon mode. The daemon will wait for you to
#         press QUIT or POWER on your remote and will than start
#         Freevo. After Freevo shut down, the daemon will wait again.
#
# You don't need a X server running to start Freevo from init. If
# needed, Freevo will start a X server on its own. Make sure your X
# server can handle the resolution defined in /etc/freevo/freevo.conf

freevo="yes"

# Mode the start the webserver. Possible values are "no" and "yes".
# If you start the webserver with Freevo itself, you should say "no" here.

webserver="yes"

# Mode the start the recordserver. Possible values are "no" and "yes". 

recordserver="yes"

# Mode the start the encodingserver. Possible values are "no" and "yes".

encodeserver="yes"

#####  Some freevo options

FREEVO_EXEC="/usr/bin/freevo"
FREEVO_USER="duckz"
FREEVO_DAEMON_OPTS="daemon"
FREEVO_OPTS="-fs"
FREEVO_RECORD_OPTS="recordserver"
FREEVO_ENCODE_OPTS="encodingserver"
FREEVO_WEBSERVER_OPTS="webserver"

then try to run freevo

/etc/init.d/freevo start

If you can run it then enjoy freevo…

-=end transmission=-

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • LinkedIn
  • Slashdot
  • StumbleUpon
  • blinkbits
  • eKudos
  • Live
  • Share/Save/Bookmark

RSS Fresh Ebuild