Tree [074eb8] /

Repo status: analyzing...

HTTPS access

File Date Author Commit
 XBMC.xcodeproj 2009-01-26 davilla davilla [c44840] removed:[OSX] purge internal Apple IR remote co...
 credits unknown
 guilib 2009-01-27 d4rkm4ster d4rkm4ster [218cf5] added: support for a new type of visualisation ...
 language 2009-01-27 blittan blittan [d8d283] updated: Italian translation #5778, based on En...
 media 2008-10-20 jezz_x jezz_x [cb9967] Changed : default splash graphic to be less Pro...
 project 2009-01-26 elupus elupus [3f6c8f] fixed: compile with vs2003
 screensavers 2009-01-15 ceros7 ceros7 [a8526a] Add dummy file to help users using git-svn or h...
 scripts 2008-12-31 monkeyman_67156 monkeyman_67156 [e69b65] removed: .rar script archives from svn, convert...
 skin 2009-01-24 gyunaev gyunaev [180a5d] Merging with karaoke branch.
 sounds 2008-08-26 blittan blittan [0f035d] cleanup: removed more Xbox Media Center, XboxMe...
 system 2009-01-27 TeknoJuce TeknoJuce [91e25d] Added: 51 more formats.
 tools 2009-01-26 wiso wiso [1d326b] [WIN32] added a Xbox 360 Controller EventClient...
 userdata 2008-09-11 pike2k pike2k [c066a5] Changed: default rss feed, thx to Jon Maddox fo...
 visualisations 2009-01-27 d4rkm4ster d4rkm4ster [218cf5] added: support for a new type of visualisation ...
 web 2008-09-01 yuvalt yuvalt [8c810a] new version of the web server that includes: im...
 xbmc 2009-01-27 spiff_ spiff_ [074eb8] fixed: compilation errors on linux + use unix f...
 .cproject 2008-03-11 leafmuncher leafmuncher [d6cb62] changed: [OS X] Eclipse project files.
 .project 2008-03-11 leafmuncher leafmuncher [d6cb62] changed: [OS X] Eclipse project files.
 Build.bat 2008-07-25 charlydoes charlydoes [300783] [WIN32] changed: vs2003 build.bat to reflect ne...
 LICENSE.GPL 2008-05-19 vulkanr vulkanr [4c5516] merge with trunk. rev. 13144 2008-07-27 monkeyman_67156 monkeyman_67156 [17cde2] converted: remote keymap from RAR to ZIP. Is t... 2009-01-24 gyunaev gyunaev [180a5d] Merging with karaoke branch. 2009-01-20 davilla davilla [3ea923] update configure/makefile to build osx from com...
 README.linux 2009-01-20 ceros7 ceros7 [cf157c] Revert "Commit changes from external-libraries-...
 README.osx 2009-01-26 modhack2 modhack2 [0676ac] [OSX]: updated for missing's libs and xcode's v...
 XBMC.kdevelop 2008-08-26 blittan blittan [0f035d] cleanup: removed more Xbox Media Center, XboxMe...
 XBMC.kdevelop.filelist 2009-01-25 gyunaev gyunaev [e39d25] As requested, the numbering dialogs will not po... 2008-11-26 AlTheKiller AlTheKiller [ba4f3b] changed: Formally deprecated
 config.guess 2009-01-06 monkeyman_67156 monkeyman_67156 [69c2c3] changed: even newer config.guess and config.sub... 2009-01-20 ceros7 ceros7 [cf157c] Revert "Commit changes from external-libraries-...
 config.sub 2009-01-06 monkeyman_67156 monkeyman_67156 [69c2c3] changed: even newer config.guess and config.sub...
 configure 2009-01-25 davilla davilla [9bc406] fixed: [OSX] removed gawk dependency in configu... 2009-01-25 davilla davilla [9bc406] fixed: [OSX] removed gawk dependency in configu...
 copying.txt 2008-05-17 vulkanr vulkanr [3cb951] merge with trunk. revision 13100.
 install-sh 2009-01-06 monkeyman_67156 monkeyman_67156 [4d0e74] changed: mark install-sh as executable
 keymapping-schematic.pdf 2008-03-18 spiff_ spiff_ [71f322] changed: removed executable property on files t...
 keymapping.txt unknown
 known_issues.txt 2008-11-03 pike2k pike2k [a58d40] Added: Atlantis known_issues.txt
 xbmc-xrandr.c 2008-10-25 elupus elupus [a2d28f] changed: output refresh rate more accurately us... unknown

Read Me

1. Introduction
2. Getting the source code
3. Installing the required Ubuntu packages
4. How to compile
	4.1 Using
	4.2 Manual build
5. How to run
6. Tips n' Tricks section
7. Endword

1. Introduction

This is a very early port of XBMC to Linux. It's target is developers
and not end-users. We don't offer end-user support yet, and we're not
really interrested to hear about bugs unless you can help track it
down and possibly help with fixing it. We currently recommend Ubuntu
7.10 (Gutsy Gibbon) as a development platform. A gfx-adapter with
OpenGL acceleration is highly recommended and 24/32 bitdepth is
required with OpenGL.

NOTE TO NEW LINUX USERS: All lines that are prefixed with the '#'
character are commands that need to be typed into a terminal window /
console (similar to the command prompt for Windows). Note that the '#'
character itself should NOT be typed as part of the command.

2. Getting the source code

   # sudo apt-get install subversion
   # cd $HOME
   # svn checkout

3. Installing the required Ubuntu packages

Two methods exist to install the required Ubuntu packages :

3.1. Copy and paste the following line corresponding to your system

For Ubuntu (all versions >= 7.04):

   # sudo apt-get install subversion make g++ gcc gawk pmount libtool nasm automake cmake gperf unzip bison libsdl1.2-dev libsdl-image1.2-dev libsdl-gfx1.2-dev libsdl-mixer1.2-dev libsdl-sound1.2-dev libsdl-stretch-dev libfribidi-dev liblzo-dev libfreetype6-dev libsqlite3-dev libogg-dev libasound-dev python-sqlite libglew-dev libcurl4-gnutls-dev x11proto-xinerama-dev libxinerama-dev libxrandr-dev libxrender-dev libmad0-dev libtre-dev libogg-dev libvorbis-dev libmysqlclient-dev libpcre3-dev libdbus-1-dev libhal-dev libhal-storage-dev libjasper-dev libfontconfig-dev libbz2-dev libboost-dev libfaac-dev libenca-dev libxt-dev libxmu-dev libpng-dev libjpeg-dev libpulse-dev

3.2. Use a single command to get all build dependencies

For this, you need to specify the PPA in your apt sources. Please find them on the forum

Update apt :
   # sudo apt-get update

Here is the magic command to get the build dependencies (used to compile the version on the PPA).
   #  sudo apt-get build-dep xbmc

*** For developers and anyone else who compiles frequently it is recommended to use ccache
sudo apt-get install ccache

*** A tip for those with multiple computers at home is to check out distcc (totally unsupported from xbmc ofcourse)
sudo apt-get install distcc

4. How to compile

4.1 Using
NOTE: This is no longer the recommended build method

AlTheKiller has made a fantastic script that makes it a breeze to
build a working (depending on state of SVN naturally) XBMC solution.
It handles the SVN update, build process and the copying of all needed
files to the folder of your choice.  ./BUILD is the default target
location. The script also creates a backup of your UserData, scripts
and 3rd party skin/s folders.  Do './ --help' to get all

Usage (examples):

.1 Make a 3D version with debug (requires OpenGL hardware acceleration
   support on gfx-adapter)
   # ./

.2 Make a SDL 2D version (very slow) + no debug (more CONFIGOPT's are
   listed below in section 4.2)
   # ./ CONFIGOPT=--disable-gl CONFIGOPT=--disable-debug supports reading options from an external file:
'~/.xbmc-build-settings'.  The options are delimited with space,
here's an example line which disables debug and never ask for
confirmation unless an error occur: 'CONFIGOPT=--disable-debug
CONFIRM'(remove the ''). Do --help for more options

4.2 Manual build

To create the XBMC executable manually perform these two steps:

.1  # ./configure <option1> <option2> <etc>

These configure options exist:
  --disable-debug          disable debug mode (default is enabled)
  --disable-gl             disable OpenGL rendering and instead use 2D SDL (default is enabled). This is not recommended.
  --enable-profiling       enable gprof profiling (default is disabled)
  --disable-joystick       disable SDL joystick support (default is enabled)
  --prefix=/path           install XBMC to /path rather than default (/usr/local)
  --help                   shows all options, useful fallback if this README becomes outdated

.2  # make

Tip: by adding -j<number> to the make command, you describe how many
     concurrent jobs will be used. So for dualcore the command is: 

    # make -j2

.3  # make install  

This will install XBMC in the prefix provided in 4.2.1 as well as a launcher script.

NOTE: You may need to run this with sudo (sudo make install) if your user
doesn't have write permissions to the prefix you have provided (as in the
default case, /usr/local).

NOTE2: You can now run xbmc by issuing the command "xbmc" in a terminal or
creating an application launcher which executes it.  You should NEVER run
xbmc.bin directly as this will not have platform mode enabled and hence xbmc
will not have write access to its home directory (ie. it will probably crash).

NOTE: XBMC can be uninstalled from the system by issuing "make uninstall" 
from the root of the source tree (sudo applies here as above).  If you have
rerun configure with a different prefix (or you've run you will need
to rerun configure with the appropriate prefix BEFORE issuing "make uninstall"

5. How to run

If using with default options, simply:
   # cd BUILD
   # ./xbmc.bin

5.2 Manual
If compiling manually you can use to prepare the BUILD
What it does:
* Copies needed files & folders to a BUILD folder incl. main executable
* Backs up UserData, scripts and 3rd party skin/s folders
* Fixes case sensitivity issues by renaming some files & folders
   # cd BUILD
   # ./xbmc.bin

6. Uninstalling

6.1 install
Remove your BUILD directory (rm -rf /path/to/BUILD).  Keep in mind that your
settings are stored in BUILD/userdata/ and any 3rd party addons (skins, 
scripts, etc) are also stored in BUILD, so if you plan to use any of them later
they should be backed up first.

6.2 Manual install
Issue "make uninstall"  ("sudo make uninstall" if you user doesn't have write
permission to the install directory) from your source tree.  If you would like
to also remove any settings and 3rd party addons (skins, scripts, etc) you 
should also run "rm -rf ~/.xbmc/".

NOTE: If you have rerun configure with a different prefix, or used
since installing you will need to rerun configure with the correct prefix for
this step to work correctly.

7. Tips n' Tricks section

7.1 Fullscreen

The best way is to go into settings\Appearance\Screen and set Resolution 
to the one with (Full Screen) next to it eg: "1360x768 (Full Screen)".  
Toggle FS with the \ key while XBMC is running.

7.2 Multi-monitor Fullscreen

If you have a multi-monitor setup and you want to run XBMC fullscreen
only on one monitor, then make sure to set the environment variable
SDL_VIDEO_FULLSCREEN_HEAD to the display no.  which you want to use.

For e.g. "SDL_VIDEO_FULLSCREEN_HEAD=1 ./xbmc.bin" to tell XBMC 
to use display no.1.

Note: Nvidia Twinview users should be aware that X treats the
twinviewed displays as the same head.  If you want to run fullscreen
XBMC on one display and start it from the other you must configure X
with two "Device" sections against the same physical card. See chapter
16 of the Nvidia user guide for information on how to do this.

7.3 Channel downmixing

(This is Not required Anymore since revision 10937) 
If your machine only has 2 speakers and you would like to watch movies
with more channels (e.g. 5.1) then you need to configure your
.asoundrc file. The .asoundrc file is a configuration file located in
the user's home directory. A sample configuration named "demo-asoundrc"
can be found in same folder as this README, so:

.1 backup your .asoundrc if it exists (e.g. # cp ~/.asoundrc ~/.asoundrc.backup)

.2 copy the demo asoundrc - # cp demo-asoundrc ~/.asoundrc

.3 you can edit the file and change the downmix setup by changing the
   "ttable" values. The values range from 0.0 to 1.0 and are actaully the
   volume pct from the original channels volume.

7.4 Fullscreen Mouse Sensitivity

If you find that your mouse is not sensitive enough in fullscreen, set
the environment variable SDL_VIDEO_X11_MOUSEACCEL to adjust mouse
acceleration. From SDL docs:

  "For X11, SDL_VIDEO_X11_MOUSEACCEL sets the mouse acceleration. The
  value should be a string on the form: n/d/t where n and d are the
  acceleration numerator/denumerators (so mouse movement is
  accelerated by n/d), and t is the threshold above which acceleration
  applies (counted as number of pixels the mouse moves at once)."

7.5 Turning off on screen debug info

The proper way is to compile with the --disable-debug option this will 
make a smaller executeable as well.
Add -q to the commandline "./xbmc.bin -q" will remove the on screen
Debug info when you have compiled with debug mode on (default)

7.6 experimental - SMB mount shares 

this is an experimental feature. it will mount all smb sources externally (on filesystem under /media/xbmc/smb)
and make xbmc access those shares as if they are local (let the OS do all the dirty work).
this feature is turned off by default since its currently performing worse than the current libsmbclient solution.
in order to enable this feature, smbfs is needed. 
a simple "sudo apt-get install smbfs" would do.

since mounting/unmounting can only be done by root, xbmc uses "sudo" to perform this action.
you will beed to add the user that runs xbmc to the sudoers file.
1. sudo visudo
2. add the following line to the end of the file ("xbmc" is used as an example, this should be the user id that runs xmbc):
xbmc ALL=NOPASSWD: /bin/mount, /bin/umount, /bin/mkdir
|--instead of "xbmc" use the user id which runs xbmc.

3. turn on the "mount SMB shares" option. under Settings->Network->SMB Client

8. Endword

Don't expect too much, yet.


Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.

No, thanks