Installation
The installation of Disko is highly customizable. Since lots of developers
asked for a minimal installation, we provide the steps to do so. Based on
this, you can add the features you want, as you can see in the following
sections.
Minimal installation
To use basic disko features but avoid the installation of lots of
dependencies, you can use this type of installation. You still have to
install some packages first. Usually your distribution will provide them,
if not, you can use the download links.
Required packages
Now you're ready to choose the graphics backend, you're going to use.
The following table shows the available backends as well as their
dependencies:
Then you have to choose one database backend. Here is a list of the
supported ones and their dependencies:
Building and Installing
After you have finished installing the required packages described in the
previous section, you can start building the Disko-Framework.
# cd <path to disko directory>
# scons graphics=[fbdev|x11|dfb]
# scons [prefix=...] install
The parameter graphics lets you choose
the graphics backend.
The database backend will be chosen automatically by checking the
installed requirements (priority order: SQLite3, MySQL, ODBC).
If you want to choose it manually, use the database
option (i.e. database=sqlite3).
prefix is used to determine the location of
your disko installation. The default is /usr.
Note: Remember to set the environment variable
PKG_CONFIG_PATH if you are installing to
an extraordinary location.
If you meet all requirements of the minimal installation
and want to use media playback facilities, you can choose between xine and/or gstreamer.
At first you have to install libxine. Please
install at least version 1.1.15 otherwise disko won't compile.
Now you can build disko with the parameter media=xine
to enable xine-support.
Disko was and is using libxine for media playback for good reason for years now.
In the last years GStreamer developed into a very serious alternative
on embedded devices. Now that TI is going to support GStreamer for their
Davinci and OMAP platforms there is a way to add GSreamer support to Disko.
Actually thats a bit tricky, because a little bootstrapping needs to be done here.
This section will create a basic GSTreamer instance from scratch, not
using any distribution GStreamer packages.
We assume that you have already a working disko installation. If not, see
here. To install gstreamer there are
some more dependencies. Probably your distribution will have packaged them.
Once you meet all dependencies, you can start by downloading and installing GStreamer:
# wget http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-0.10.23.tar.bz2
# tar jxf gstreamer-0.10.23.tar.bz2
# cd gstreamer-0.10.23
# ./configure [--prefix=<gstreamer-location>] && make && make install;
If you are using --prefix, don't forget
to set PKG_CONFIG_PATH:
# export PKG_CONFIG_PATH=<gstreamer-location>/lib/pkgconfig
Now you can install the GStreamer base plugins:
# wget http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-0.10.23.tar.bz2
# tar jxf gst-plugins-base-0.10.23.tar.bz2
# cd gst-plugins-base-0.10.23
# ./configure [--prefix=<gstreamer-location>] && make && make install;
And now the bad plugins. Naturally the Disko output plugin resides here,
as we plan to propose Disko to be added to the GStreamer upstream.
# wget http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-0.10.12.tar.bz2
# tar jxf gst-plugins-bad-0.10.13.tar.bz2
# cd gst-plugins-bad-0.10.13
Before the bad plugins are installed the disko patch has to be applied.
It can be found in the disko source tree as ext/gst-plugins-bad-0.10.13_diskovideosink.diff.
# patch -Np1 < gst-plugins-bad-0.10.13_diskovideosink.diff
After that compile and install the plugins the usual way. Make sure that
the PKG_CONFIG_PATH includes the current
disko installation.
# ./configure [--prefix=<gstreamer-location>] && make && make install;
After gstreamer is installed, Disko needs to be rebuilt. This is necessary
to compile the now provided GStreamer support into the Disko installation.
This process is needed because disko is a single package within the SCons
build system. This should be fixed somewhen, but today this seems to be
sufficent for testing.
If the PKG_CONFIG_PATH is set correctly
and scons is invoked with the parameter media=gstreamer,
the build should result in a Disko installation supporting GStreamer.
Some words on how it works:
Multimedia playback is done using the mmsmedia component. Using xine as
backend made the handling of different content fairly easy, by using
MRLs to identify sources. GStreamer does not support this by its engine.
Therefore we are using the GSTreamer playbin plugin to achieve
this result.
To cut a long story short, from the application point of view there are
no changes to be made. An application like Morphine.TV
is working without any change on GStreamer.
The mixer classes of mmsmedia provide a simple interface to access
volume settings of your soundcard.
To install the mixer classes, you have to install
alsa-libs first. In Debian
based distributions the package is named libasound2-dev. Now the mixer
will be enabled automatically if using one of the media backends.
<<< Overview