xbmc-dharma: split init script in setup and run part, add some more default options (folders), use vblank option only on nvidia and ati graphics, because of problems with intel graphic

Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
Stephan Raue 2010-09-04 04:18:13 +02:00
parent 6d3b31599a
commit ee7fff31b8
2 changed files with 126 additions and 26 deletions

View File

@ -0,0 +1,126 @@
#!/bin/sh
################################################################################
# Copyright (C) 2009-2010 OpenELEC.tv
# http://www.openelec.tv
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
# setup XBMC
#
# runlevels: openelec
. /etc/profile
progress "setup XBMC"
nvidiaGpuType=$(lspci -nn | grep 'VGA' | grep 'nVidia Corporation')
amdGpuType=$(lspci -nn | grep 'VGA' | grep 1002)
#
# clean temp dir
#
rm -rf $HOME/.xbmc/temp/*
#
# add some default settings
#
mkdir -p $HOME/.xbmc/userdata
# use dds fanarts by default
if [ ! -f $HOME/.xbmc/userdata/advancedsettings.xml ] ; then
cat > $HOME/.xbmc/userdata/advancedsettings.xml << EOF
<advancedsettings>
<useddsfanart>true</useddsfanart>
</advancedsettings>
EOF
fi
#
# setup directories for XBMC sources
#
[ ! -d "$HOME/music" ] && mkdir -p $HOME/music
[ ! -d "$HOME/pictures" ] && mkdir -p $HOME/pictures
[ ! -d "$HOME/tvshows" ] && mkdir -p $HOME/tvshows
[ ! -d "$HOME/videos" ] && mkdir -p $HOME/videos
mkdir -p $HOME/.xbmc/userdata
if [ ! -f $HOME/.xbmc/userdata/sources.xml ] ; then
cat > $HOME/.xbmc/userdata/sources.xml << EOF
<sources>
<video>
<default pathversion="1"></default>
<source>
<name>Videos</name>
<path pathversion="1">$HOME/videos/</path>
</source>
<source>
<name>TV Shows</name>
<path pathversion="1">$HOME/tvshows/</path>
</source>
</video>
<music>
<default pathversion="1"></default>
<source>
<name>Music</name>
<path pathversion="1">$HOME/music/</path>
</source>
</music>
<pictures>
<default pathversion="1"></default>
<source>
<name>Pictures</name>
<path pathversion="1">$HOME/pictures/</path>
</source>
</pictures>
</sources>
EOF
fi
#
# common setup guisettings for amd and nvidia graphic
#
mkdir -p $HOME/.xbmc/userdata
[ ! -d "$HOME/screenshots" ] && mkdir -p $HOME/screenshots
if [ ! -f $HOME/.xbmc/userdata/guisettings.xml ] ; then
echo "<settings>" > $HOME/.xbmc/userdata/guisettings.xml
cat >> $HOME/.xbmc/userdata/guisettings.xml << EOF
<debug>
<screenshotpath pathversion="1">$HOME/screenshots/</screenshotpath>
</debug>
EOF
#
# common setup for amd and nvidia graphic
#
# Always sync to vblank
if [ -n "$amdGpuType" -o -n "$nvidiaGpuType" ] ; then
cat >> $HOME/.xbmc/userdata/guisettings.xml << EOF
<videoscreen>
<vsync>2</vsync>
</videoscreen>
EOF
fi
echo "</settings>" >> $HOME/.xbmc/userdata/guisettings.xml
fi

View File

@ -30,32 +30,6 @@ progress "starting XBMC"
XBMC_ARGS="--standalone -fs --lircdev /dev/lircd"
# clean temp dir
rm -rf $HOME/.xbmc/temp/*
# add some default settings
mkdir -p $HOME/.xbmc/userdata
# use dds fanarts by default
if [ ! -f $HOME/.xbmc/userdata/advancedsettings.xml ] ; then
cat > $HOME/.xbmc/userdata/advancedsettings.xml << EOF
<advancedsettings>
<useddsfanart>true</useddsfanart>
</advancedsettings>
EOF
fi
mkdir -p $HOME/.xbmc/userdata
# Always sync to vblank
if [ ! -f $HOME/.xbmc/userdata/guisettings.xml ] ; then
cat > $HOME/.xbmc/userdata/guisettings.xml << EOF
<settings>
<videoscreen>
<vsync>2</vsync>
</videoscreen>
</settings>
EOF
fi
# starting pulseaudio if avaible
[ -f /usr/bin/pulseaudio ] && /usr/bin/pulseaudio \
--start --log-target=syslog --daemonize 2>&1 > /dev/null