The GeeXboX's OSD Menu can easily
be controlled using either a single keyboard or a remote controller. Use the up
and down arrows keys to switch between the main menu options. The right arrow
is used to go to a specific submenu (i.e
"Ok") and the left one is for coming back (i.e
"Cancel").
Here are the main menu's items :
* Open
+++ Open file ... # Open a single media file (Audio or Video)
+++ Open playlist # Open a MPlayer compatible playlist (.m3u
files are supported)
+++ Play DVD # Play the first DVD chapter and title
+++ Play VCD # Used to play (S)VCD ((Super) VideoCD)
at the first track
+++ Play Audio CD # Play an Audio CD
* Controls
+++ Pause # Pause/Resume function
+++ Stop # Stop the media from playing.
+++ Eject # Eject the CD from the drive.
+++ Chapter selection ... # Let you dynamically change the chapter
for DVDs and Matroska files.
+++ Prev/Next # Go to the Next/Previous
loaded stream
+++ Jump to # Jump to another stream / vcd
track / dvd title
* Options
+++ Aspect # Lets you dynamically change image aspect ratio
------ Original # Reset ratio to its original value
------ 4:3 # Switch video to a 4:3 (1.33) height/width ratio
------ 16:9 # Switch video to a 16:9 (1.78) height/width ratio
------ Cinemascope # Switch video to a Cinemascope (2:35)
height/width ratio
+++ Audio Channel ... # Lets you dynamically change the audio output
channel
+++ Subtitle Selection ... # Lets you dynamically change the subtitle
to be displayed
+++ Switch TV-Out # Switch from monitor's output to TV-Out
+++ Switch Vertical Sync # Switch On/Off the Vertical Synchronization
(may be useful for nVidia cards)
* Help # Display OSD Help
* Quit # Shutdown the GeeXboX
The GeeXboX has been compiled with support for the
ATI Remote Wonder. It means that if you're using another kind of remote, you
may have to build your own GeeXboX, using the ISO
generator. If you would like to use another kind of remote that is not
currently supported by the GeeXboX, you'll have to
build the sources and modify ./packages/lirc/lircd.conf.
See the LIRC WebSite
for further details about how to modify this file.
GeeXboX
can be controlled using a LIRC-compliant remote and receiver. The only officially
supported remote is the Remote Wonder, provided by ATI. Many other
brands sell exactly the same controller and if the one you bought looks like
the one above, it means that it's supported.
Even if the remote is user-friendly, here's the complete key bindings between
the Remote Wonder and GeeXboX
Here comes the same for the Pinnacle PcTV remote :
Booting from CD on a Mac is very easy: just hold the 'c' key
at boot time. Same goes for network boot, but with the 'n'
key instead.
Now, if you want to use a Mac as a GeeXboX only
computer, it's a pain to have to hold a key at every boot. The solution is then
to setup the boot-device open-firmware variable. There's at least two easy ways
to do it:
* from a MacOSX shell, you can use the following
command:
sudo nvram
boot-device='cd:,\\:tbxi'
note that you can also 23423r1717x display variables content with:
nvram -p
* directly from the open-firmware prompt (by pressing command-option-O-F at
boot time):
setenv boot-device cd:,\\:tbxi
note that you can also 23423r1717x display variables content with:
printenv
Some of the possible boot-devices are :
* cd:,\\:tbxi for CDROM boot
* hd:,\\:tbxi for harddisk
boot
* enet:, for network boot
Post-Processing is a software way to get a smoother and more
accurate render of your videos. It however consumes a lot of CPU time to
magnify pictures but, as a result, it looks far better. Using MPlayer internal filters, GeeXboX
lets you make horizontal and vertical deblocking, deringing and auto luminance to enhance your image. By
default, post-processing is disabled to avoid lagging on small configurations.
You can enable it simply by editing the /etc/mplayer/mplayer.conf file :
# Set Post Processing (h deblock, v deblock, dering, auto luminance)
# Consumes CPU power, disabled for low configs,
uncomment to enable it.
#vf=pp=hb:a/vb:a/dr:a/al:a
First, you have to be root (the building scripts need to
mount the boot disk image in loopback).
Then you can build the iso with :
make
Or you can directly burn this iso with :
make burn
When done, you can save disk space by cleaning the build tree :
make clean
or by doing a full cleaning, even removing downloaded sources :
make distclean
There's also more advanced commands if you want hack around the GeeXboX :
scripts/get package # download the package
scripts/unpack package # unpack and prepare the package
scripts/build package # build the package
scripts/install package # install the package with the $INSTALL
prefix
scripts/clean package # clean the package source tree
make exec # launch directly the GeeXboX in
a jail (i.e. chroot - EXPERIMENTAL FEATURE - Use it
at your own risks !!)
If you've made a hacked version of the GeeXboX, you
can easily build a small tar.gz for it with :
make dist
or a full tar (containing all sources) with :
make fulldist
or even, create the ISO generator package thanks to :
make generator
or, create the Linux GeeXboX's installator
version with :
make installator
The only thing you will have to worry about is the GeeXboX
configuration file.
The GeeXboX is built as specified
in its configuration file, describing the compilation's options, remote to be
used, language to be supported, burner's
specifications and so on.
To sum up, the GeeXboX configuration files can be
found here :
* ./config/options : main GeeXboX
build options and burner specification
* ./packages/linux/linux.conf : this is the
kernel config file, used to build the GeeXboX. It can be edited to suit your needs.
* ./packages/MPlayer/menu_lang.conf modify this file to edit your menu items.
* ./packages/MPlayer/mplayer.conf this file contains MPlayer's
start options.
The GeeXboX uses MPlayer. As this player is one of the most powerful media
players, it can be started in several different ways. In the GeeXboX, two files are used to control MPlayer's
options :
* ./packages/MPlayer/menu_lang.conf
* ./packages/MPlayer/mplayer.conf
The menu_lang.conf is used to generate
the OSD Menu. You may have to modify it if you wish to add or remove items from
the menu, or to change the items captions to fit your needs.
The mplayer.conf is related to MPlayer's lauching options. The
default config file contains some of the following
lines :
vo=vesa:vidix,vesa
# Video Output driver (Use VidiX if available,
VESA otherwise)
ao=alsa #
Audio Output driver
alang=en,fr #
DVD Audio language : try first one then go to second if first does not exists
and so on ...
mixer-channel=Master # Device to be controlled by volume keys
framedrop=yes # When set to 'yes', MPlayer may skip decoding some frames if the video plays
too slowly
vsync=yes # Activate Vertical
Synchronization
fs=yes # Enable Fullscreen
(need more CPU)
zoom=yes #Enable Zoom - modify aspect ratio (need more CPU)
menu=yes # Display OSD Menu
double=yes # Enable Double Buffering
fixed-vo=yes # Use a fixe
image ratio
nocolorkey=yes # Deactivate the Colorkey
cache=1500 # Cache Size (in kB)
idx=yes # Let MPlayer
rebuild a file with broken headers
lircconf=/etc/lirc
# Path to LIRC configuration file
subfont-text-scale=3 # OSD Fonts
Size
screenw=800 # Screen Width
screenh=600 # Screen Height
More documentation about MPlayer and its
configuration files may be found at MPlayer's Documentation.
Thanks to this generator, it's now possible to build a
bootable image of the GeeXboX from the binaries. This
lets you build the GeeXboX after slight changes in
the configuration files, for example, with no need to build the full sources.
Besides, the generation process can be done both under Linux and Windows. Just
execute the ./generator.sh (under Linux) script or
generator.exe (under Windows) and watch the magic ;-)
GeeXboX's customization is interesting in many ways,
such as :
* Include a movie : You just have to put your movie or sound files and
the playlist into the iso
directory of the generator and regenerate the image. The GeeXboX
will then boot off the CD and will automatically play the provided list/file.
* Add extra codecs Even though GeeXboX has now
support for RealMedia and Windows Media 9 codecs, these are not rights-free and we do not get
authorization to provide them in the released ISO :-( So, you'll have to add
them and regenerate the ISO if you want them to be included. Don't worry, we
could hardly make it easier !! Just add the following
files to the iso/GEEXBOX/codecs generator's directory :
Please download this archive
which contains the RealMedia 8/9/10 (used to read the
RV9/10-encoded movies for example) and Windows Media 9 (WMV9/WMA9) codecs. Only the files atrc.so.6.0, cook.so, sipr.so.6.0, drvc.so
for RealMedia and wma9dmod.dll and wmv9dmod.dll
for Windows Media are really useful. The other ones can be dropped.
* Modify MPlayer's launch
options :
You just have to edit the contents fo the file iso/GEEXBOX/etc/mplayer/mplayer.conf and to generate
the new ISO.
Of course, many other changes are available, such as changing the supported
remote, using another background video ... but we'll let you study the
README.txt file carefully to see the possibilities ;-)
First make sure your font is not included in the official GeeXboX package, by using the generator and looking up your
font in the section above. Most fonts are already included in official package, some are supported but not included because of
their size (Chinese fonts for example).
* General support : To add support for new
fonts you should extract your font into font directory and add your font name
to language/lang.conf FONTS variable.
* Chinese support : To include Chinese fonts in
your generated geexbox iso
you should get either the big5 or the gb2312 font from MPlayer
contributed fonts :
https://www1.mplayerhq.hu/MPlayer/contrib/fonts/chinesefonts/
and unpack and copy into generator ./font/big5 or ./font/gb2312 the directory
which ends with `24` (font size 24).
For example if you wish to use the 'gb2312 kai' font :
- GNU/Linux users :
wget https://www1.mplayerhq.hu/MPlayer/contrib/fonts/chinesefonts/gb2312-kai.tar.bz2
tar -jxf gb2312-kai.tar.bz2
mv gb2312-kai/gkai00mp24
../path/to/generator/font/gb2312
- Windows users :
Download https://www1.mplayerhq.hu/MPlayer/contrib/fonts/chinesefonts/gb2312-kai.tar.bz2
Open it up with WinZip.
And extract gb2312-kai\gkai00mp24 directory from the archive into
..\path\to\generator\font\gb2312
GeeXboX maybe is a LiveCD but it can also be installed on disk (only on i386
for now). Then, you're able to quickly and easily install the system on any IDE
hard disk, Compact Flash or USB keys (check that your motherboard's BIOS
support boot from USB-HDD). You can install GeeXboX
on a new disk (standalone partition) or on an empty partition from your current
disk. All you need is a partition with at least 8 MB of disk storage (16 MB
would be nice, so that you can add more codecs and
backgrounds).
Installation is not at all difficult. You can either do it from an existing
GNU/Linux system or directly when booting the GeeXboX
CDROM (recommended). At the IsoLinux prompt "boot:"
(just before loading GeeXboX), just hit a key and
type install. The GeeXboX will now load on a
menu for disk install.
Just follow the instructions and choose the hard disk on which you want GeeXboX to be installed. Disks are named with Linux systems
notation (hda, hdb, hdc, hdd
for IDE disks or sda, sdb
... for Serial ATA, SCSI or USB disks). The 'a' letter stands for the master
IDE 0 device, 'b' for the slave IDE 0 device ('c' and 'd'
are the same but for IDE 1 channel). The same goes for non-IDE controllers.
When you're done, you'll get a cfdisk screen
which will let you partition your disk. Use the arrows to go to any partition
representing Free Space and hit the New
button. Then, you go choose the type of partition you want. Many filesystems are currently supported :
FAT 16/32 and EXT2/3. Please choose Type 0B for FAT32 (recommended if
you want to see and edit your disk from Windows) of Type 82 for EXT (Linux)
filesystem. Finish with Write and then Finish.
Please note that it does not matter anymore if the partition where you want GeeXboX to be installed is a primary or logical one, nor if
it has the bootable flag turned on or off.
Confirm the partition where you want the system to be installed and format it
if you like to (recommanded).
The GeeXboX installer will autodetect the kind of filesystem
you've choosed before and format it accordingly. If
you've decided to use EXT filesystem, it is
recommended to format it in EXT3.
The next steps or optional. The GeeXboX
installer propose you to configure the system the way
you can have done it using the ISO generator. You'll then be prompted a network
configuration wizard. Following the different screens, you'll be able to
specify whether you want to use an ethernet or WiFi NIC, if you want to use DCHP IP addressing or define
it manually, but also determines the Samba login and password to use to mount
remote shares.
After that, the installer will check your computer for the presence of an
analog TV card. If you do have a supported one, you'll be able to start for
frequencies scanning in order to automatically detect available channels and
configure MPlayer for such a future use.
Then, the installer asks you whether you want a bootloader
to be installed or not . A bootloader
is software that lets you boot from a partition. You can choose between GRUB or SysLinux as bootloaders.
It is highly recommended to choose GRUB, which has much more features. Only
choose SysLinux if you're trying to boot from USB
disk and has a pretty old BIOS that doesn't support booting from USB-HDD (so
use SysLinux for compatiblity
problems only).
If you already have a bootloader on your disk,
there's no need to install a new one, but you'll have to add boot arguments to
it by hand to boot GeeXboX from it. Otherwise, if you
have no other operating system on this disk or if you have a computer with a
Microsoft Windows system, that doesn't allow multiboot,
it is recommended to accept installing the bootloader.
The GeeXboX installer will scan your disk for
existing operating systems and create a multiboot
that let you choose whether you want to be your former OS or boot GeeXboX. When done, you should be able to boot GeeXboX from hard disk just like any other system.
If you really like GeeXboX and use it frequently, it
would be a really good idea to install it on a hard disk. Indeed, the system
can be seen as a new drive on Windows (if you'd choose to install on a FAT
partition) or Linux and hence, it can be easily modified to fit your needs
(changing MPlayer's configuration file, supported
remote, network configuration ...) without having to regenerate the ISO and
burn a CD.
GeeXboX now supports TV inputs and
tuners. Unfortunately, not all cards are supported. For the supported ones, the
system tries to autodetect the card and the tuner. In
some cases, autodetection may fail, resulting in an
ugly distorted picture. That's why you can force the settings and skip the autodetection attempt. Please modify the /etc/tvsettings as described :
# TV CARD/TUNER Model (AUTO for autodetection or
look at the following URLs)
# https://www.linuxhq.com/kernel/v2.6/2/Documentation/video4linux/CARDLIST.bttv
# https://www.linuxhq.com/kernel/v2.6/2/Documentation/video4linux/CARDLIST.tuner
* TV_CARD=AUTO
* TV_TUNER=AUTO
Please use the AUTO parameter if you want to keep autodetection
active, or replace it by the number of your card and tuner types, according to
the previous URL. Please be careful : in order to
force the card and tuner types, you have to know the EXACT SPECIFICATIONS of
your hardware.
Once done, you should be able to use the TV inputs (Composite and S-VHS) of
your TV card. In the same way, you can use the tuner to watch TV. For that, you
will have to define the region you belong to and the frequency of the TV
channels you want to watch. Once again, simply edit the /etc/tvsettings file :
# TV Channels
# Syntax : CHAN="Channel Frequency:Channel
Title"
# Example:
* #CHAN="29:France 2"
* #CHAN="K08:Canal +"
# TV Channels List
# Available : france, europe-east,
europe-west, us-bcast,
us-cable
* CHANLIST=france
Please be careful when editing channels and simply use the same syntax as
described above and TV channels should be present in the main menu.
GeeXboX 0.90-4 and above come with network support for most Ethernet cards
(not all of them, unfortunately) and Samba (Windows shares) support. GeeXboX is running a DHCP client which is trying to autoconfigure your network adapter. If you do not have a
DHCP server on your network, you'll have to modify the /etc/network file
which contains the following lines :
* HOST="" # GeeXboX IP ("" for
DHCP)
* SMB_USER="SHARE" # User Login ("" for none)
* SMB_PWD="" # User Password ("" for none)
You can easily modify the IP and Samba Login and Password. On boot, the GeeXboX checks for
remote computers from a common domain and tries to automount
the Samba Windows shares. Be sure that all of your computers are on the same
domain/subnet in order to mount all the shares.
If you are a lucky owner of a Linux-compatible WiFi card, you will be pleased to know that the 0.97
release comes with support for it. By default, GeeXboX
tries to autodetect your network settings. If you
have both traditional NIC and WiFi cards, only the
latter will be set up. One again, you may have to modify the /etc/network
file in order to match your network's settings. In this case, 4 lines are
related to wireless cards :
* PHY_TYPE="auto" # Network physical type (auto|ethernet|wifi)
* WIFI_MODE="managed" # Wifi working
mode (managed|ad-hoc)
* WIFI_WEP="" # Wifi WEP key
* WIFI_ESSID="any" # Wifi SSID
These lines let you configure most of the settings. You can enable autodetection, or even force the use of ethernet
or WiFi adapters. In the same way, this lets you
choose between the managed and the ad-hoc mode and lets you
define your WEP key and SSID.
With the 0.97 release, GeeXboX now
supports access to the Internet. Of course, there's no support for a direct
connection to the Internet (no dial-up modem support and there never will be).
If you've got a connection to the Internet, you may share it with your
multimedia box, using a router or a gateway. For this, simply define the
gateway IP address in the /etc/network file.
* GATEWAY="" # Gateway IP ("" for DHCP or no internet
connection)
If you have a DHCP server, you don't even have to bother with these settings :p
So GeeXboX is now fully able to play live videos,
sounds or streaming, regardless of the contents. You simply have to put in a playlist file which contains the URL of the streams that
you want to play (like Web-Radios for example ...).
GeeXboX 0.96 and above comes with
NFS shares support, and lets you boot from the network with a diskless station
using the PXE boot method. To achieve this you will need :
* a DHCP server
* a TFTP server
* a NFS server
* a PXE capable station :-)
Using a GNU/Linux system :
First, configure your DHCP server to send PXE boot information. Here is an
example using ISC DHCP :
allow booting;
allow bootp;
subnet 192.168.0.0 netmask 255.255.255.0
The next-server option is the address of the TFTP server. Then,
configure your TFTP server (such as atftpd) to
serve the /tftpboot directory and copy a full
GEEXBOX tree into this directory. For example, you can copy the contents of a GeeXboX CD from Linux WITH THE CDROM TRANSPARENT
DECOMPRESSION ENABLED !!
(to verify this, look at the sbin/init
file in the GeeXboX tree and verify that it does not
contain garbage). If you've built the GeeXboX
yourself from sources, you can also generate the GEEXBOX tree with make pxe.
Then you should edit the file /tftpboot/GEEXBOX/boot/pxelinux.cfg/default
to set nfsroot to the right NFS path to the GEEXBOX
tree.
Finally set up your NFS to export the GEEXBOX tree with a /etc/exports
that contains something like this :
/tftpboot/GEEXBOX (ro)
and a /etc/hosts.allow which contains
something like :
ALL: ALL
That should do the trick. Boot your PXE station and see what happens ...
Using a Microsoft Windows system :
In order to boot in PXE mode from a Windows host, you'll need the following
software :
* An TFTP and a DHCP Server (for example tftpd32 ).
* An NFS Server (for example Allegro
NFS server ).
* A computer supporting PXE boot mode.
Download and uncompress (no need to install) the tftpd32 folder somewhere
on your disk. In this example, lets assume it is : C:\tftpd32
Copy the complete GEEXBOX tree in the same directory (C:\tftpd32\GEEXBOX)
Start tftpd32 :
- Choose the C:\tftpd32 folder for "current directory".
- Choose the interface (network card) to be used in "server interface".
In the example here it's 192.168.0.1
- Go in "setting" and make sure DHCP server is checked
(enabled)
- In the "DHCP server" tab, fill in all the box using the
following example (Please refer to some documentation about DHCP all around the
net in order to understand) :
* IP starting pool : 192.168.0.10
* Size of pool : 10
* Boot file : ./GEEXBOX/boot/pxelinux.0
* WINS/DNS server : 192.168.0.254
* Default router : 192.168.0.254
* Mask : 255.255.255.0
* Domain name : mydomain.net
- Click "save" to apply modifications.
First part is done, you can now boot the client computer (the one starting GeeXboX), and will see it loading until the logo appears.
After a while it'll freeze because your NFS server is not set yet.
Install "Allegro NFS server" and fill in the boxes following
these settings :
Exports tab :
* Add a "new name" : and call it "/tftpboot/GEEXBOX"
* In "path" just below : choose "C:\tftp32\GEEXBOX"
folder
* In "allowed host list" , choose "all"
* "Read write", and "read only user list",
choose "root" and "everyone" (if you want
some log just check all in the last tab)
Apply settings.
Don't forget to modify the file : C:\tftp32\GEEXBOX\boot\pxelinux.cfg\default
and change the IP address "192.168.0.2" to "192.168.0.1"
(or the one you've previously setup).
Just start the client computer and now GeeXboX should
be running fine.
|