Difference between revisions of "OpenSuSE 11.3"

From MythTV Official Wiki
Jump to: navigation, search
(A good start.)
 
 
(15 intermediate revisions by 5 users not shown)
Line 11: Line 11:
 
* openSUSE 1-click install technology, packages or package bundles can be installed with 1 click (No need to compile)
 
* openSUSE 1-click install technology, packages or package bundles can be installed with 1 click (No need to compile)
 
** '''mythTV packages''' are available as a bundle with '''1-click install''' on [http://packman.links2linux.org/package/mythtv pacman]
 
** '''mythTV packages''' are available as a bundle with '''1-click install''' on [http://packman.links2linux.org/package/mythtv pacman]
** '''restricted formats''' (proprietary, patented formats) like MP3, Codecs, encrypted DVD support etc. are available with '''1-click install''' on [http://opensuse-community.org/Restricted_Formats/11.1 opensuse-community]
+
** '''restricted formats''' (proprietary, patented formats) like MP3, Codecs, encrypted DVD support etc. are available with '''1-click install''' on [http://opensuse-community.org/Restricted_Formats/11.3 opensuse-community]
 
** '''proprietary video drivers''' for both AMD/ATI and NVIDIA are available with '''1-click install'''
 
** '''proprietary video drivers''' for both AMD/ATI and NVIDIA are available with '''1-click install'''
 
** '''additional packages''' for the advanced user are also available with one '''1-click install''' from [http://software.opensuse.org/search software.opensuse.org] (e.g. lcd support)
 
** '''additional packages''' for the advanced user are also available with one '''1-click install''' from [http://software.opensuse.org/search software.opensuse.org] (e.g. lcd support)
Line 86: Line 86:
  
 
As a normal user:
 
As a normal user:
# Download from ftp://ftp.osuosl.org/pub/mythtv/mythtv-0.23.tar.bz2
+
# Download from ftp://ftp.osuosl.org/pub/mythtv/mythtv-0.24.tar.bz2
   bunzip2 mythtv-0.23.tar.bz2
+
   bunzip2 mythtv-0.24.tar.bz2
   tar xvf mythtv-0.23.tar
+
   tar xvf mythtv-0.24.tar
  
As root, in directory where tar file is:
+
As root, in directory containing the files extracted from the tarball:
 
   zypper install make gcc-c++ libqt4-devel libmp3lame-devel alsa-devel
 
   zypper install make gcc-c++ libqt4-devel libmp3lame-devel alsa-devel
# Something in here was required (likely libQtWebKit-devel).
+
  # Something in here was required (likely libQtWebKit-devel).
 
   zypper install ibus-qt-devel libQtTapioca-devel  libQtTelepathy-devel libQtWebKit-devel
 
   zypper install ibus-qt-devel libQtTapioca-devel  libQtTelepathy-devel libQtWebKit-devel
 
   ./configure --prefix=/usr/local
 
   ./configure --prefix=/usr/local
 
   make
 
   make
 
   make install
 
   make install
 +
  mv database/mc.sql /usr/local/share/mythtv
  
 
= Configure mythTV server components (mythbackend)=
 
= Configure mythTV server components (mythbackend)=
Line 105: Line 106:
 
http://www.mythtv.org/modules.php?name=MythInstall mythtv.org Documentation
 
http://www.mythtv.org/modules.php?name=MythInstall mythtv.org Documentation
 
{{Wikipage|User_Manual:Index|Manual}}
 
{{Wikipage|User_Manual:Index|Manual}}
 +
 +
== Create Mythbackend Daemon ==
 +
 +
Create /etc/init.d/mythbackend as root as follows:
 +
 +
  #! /bin/sh
 +
  ### BEGIN INIT INFO
 +
  # Provides:          mythbackend
 +
  # Required-Start:    $syslog $remote_fs mysql
 +
  # Should-Start:      $time
 +
  # Required-Stop:    $syslog $remote_fs mysql
 +
  # Should-Stop:      $time
 +
  # Default-Start:    3 5
 +
  # Default-Stop:      0 1 2 6
 +
  # Short-Description: MythTV backend daemon
 +
  # Description:      Start the MythTV backend daemon
 +
  ### END INIT INFO
 +
 
 +
  MYTHBACKEND_BIN=/usr/local/bin/mythbackend
 +
  test -x $MYTHBACKEND_BIN || { echo "$MYTHBACKEND_BIN not installed";
 +
        if [ "$1" = "stop" ]; then exit 0;
 +
        else exit 5; fi; }
 +
 
 +
  # Check for existence of needed config file and read it
 +
  MYTHBACKEND_CONF=/etc/sysconfig/mythbackend
 +
  test -r $MYTHBACKEND_CONF || { echo "$MYTHBACKEND_CONF not existing";
 +
        if [ "$1" = "stop" ]; then exit 0;
 +
        else exit 6; fi; }
 +
 
 +
  . $MYTHBACKEND_CONF
 +
 
 +
  : ${MYTHBACKEND_USERID:=mythbackend}
 +
  : ${MYTHBACKEND_GROUPID:=video}
 +
  : ${MYTHBACKEND_HOME:=$(eval echo -n ~${MYTHBACKEND_USERID})}
 +
 
 +
  . /etc/rc.status
 +
 
 +
  # Reset status of this service
 +
  rc_reset
 +
 
 +
  case "$1" in
 +
      start)
 +
        echo -n "Starting MythTV backend"
 +
        touch /var/log/mythtv/mythbackend.log
 +
        chown ${MYTHBACKEND_USERID}.${MYTHBACKEND_GROUPID} /var/log/mythtv/mythbackend.log
 +
        HOME=${MYTHBACKEND_HOME} /sbin/startproc \
 +
                -u ${MYTHBACKEND_USERID} -g ${MYTHBACKEND_GROUPID} \
 +
                -p /var/run/mythbackend.pid $MYTHBACKEND_BIN --daemon \
 +
                --logfile /var/log/mythtv/mythbackend.log $MYTHBACKEND_OPTIONS
 +
        rc_status -v
 +
        ;;
 +
      stop)
 +
        echo -n "Shutting MythTV backend"
 +
        /sbin/killproc -TERM $MYTHBACKEND_BIN
 +
        rc_status -v
 +
        ;;
 +
      try-restart|condrestart)
 +
        if test "$1" = "condrestart"; then
 +
                echo "${attn} Use try-restart ${done}(LSB)${attn} rather than condrestart ${warn}(RH)${norm}"
 +
        fi
 +
        $0 status
 +
        if test $? = 0; then
 +
                $0 restart
 +
        else
 +
                rc_reset        # Not running is not a failure.
 +
        fi
 +
        rc_status
 +
        ;;
 +
      restart)
 +
        $0 stop
 +
        $0 start
 +
 
 +
        rc_status
 +
        ;;
 +
      force-reload)
 +
        echo -n "Reload service MythTV backend"
 +
        /sbin/killproc -HUP $MYTHBACKEND_BIN
 +
        #touch /var/run/mythbackend.pid
 +
        rc_status -v
 +
 
 +
        ## Otherwise:
 +
        #$0 try-restart
 +
        #rc_status
 +
        ;;
 +
      reload)
 +
        # If it supports signaling:
 +
        echo -n "Reload service MythTV backend"
 +
        /sbin/killproc -HUP $MYTHBACKEND_BIN
 +
        #touch /var/run/mythbackend.pid
 +
        rc_status -v
 +
 
 +
        ## Otherwise if it does not support reload:
 +
        #rc_failed 3
 +
        #rc_status -v
 +
        ;;
 +
      status)
 +
        echo -n "Checking for service MythTV backend"
 +
        /sbin/checkproc $MYTHBACKEND_BIN
 +
        rc_status -v
 +
        ;;
 +
      probe)
 +
        test $MYTHBACKEND_CONF -nt /var/run/mythbackend.pid && echo reload
 +
        ;;
 +
      *)
 +
        echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}"
 +
        exit 1
 +
        ;;
 +
  esac
 +
  rc_exit
 +
  
 
== Start required services ==
 
== Start required services ==
Line 134: Line 245:
  
 
Once MySQL is setup, install the mythTV Database. This is done by running:
 
Once MySQL is setup, install the mythTV Database. This is done by running:
  mysql -u root -p < /usr/share/doc/packages/mythtv-doc/database/mc.sql
+
  mysql -u root -p < /usr/local/share/mythtv/mc.sql
 
(and key-in the previously entered password)
 
(and key-in the previously entered password)
 
You should see no output - this is a good thing!  
 
You should see no output - this is a good thing!  
Line 150: Line 261:
 
  '''mysql>''' quit;
 
  '''mysql>''' quit;
 
}}
 
}}
 +
 +
== XvMC ==
 +
 +
[[XvMC]] is great, it is a MPEG-2 video accelerator.  Prior to 11.3, I would follow the instructions given on this page, and the improvement would be significant, as demonstrated by System Monitor (Press Alt-F1, then type "System Monitor").
 +
 +
In 11.3, XvMC comes installed and enabled, as demonstrated by:
 +
  #> cat /var/log/Xorg.0.log | grep Motion
 +
  [    23.046] (II) Loading extension XVideo-MotionCompensation
 +
 +
An attempt to use /etc/X11/xorg.conf.d/50-device.conf to load in the [[XvMC#NVIDIA_2 | 3 Device options and the Extensions option]] did not pass the test to see if they were used.  [http://en.opensuse.org/SDB:Configuring_graphics_cards#Without_SaX2 | Creating a /etc/X11/xorg.conf] instead did succeed in setting the values, as demonstrated with:
 +
 +
  #> grep -i XvMC /var/log/Xorg.0.log
 +
  [    24.566] (**) NVIDIA(0): Option "XvMCUsesTextures" "false"
 +
 +
There was no noticeable difference though.  Until someone states otherwise, I think it safe to assume that XvMC is fine with OpenSuSE 11.3 right from the install.  But if you find problems, you might want to review the links in this section.
  
 
==  MythTV backend setup application (mythtv-setup) ==
 
==  MythTV backend setup application (mythtv-setup) ==
Line 194: Line 320:
  
 
If there is no /dev/dvb* device - the driver does not support your hardware  
 
If there is no /dev/dvb* device - the driver does not support your hardware  
 
 
1.) Check (and update) the hardware specific section on the mythTV wiki
 
{{Wikipage|Hauppauge_WinTV_Nova-T_500_PCI|Hauppauge_WinTV_Nova-T_500_PCI}}
 
  
 
=== Analogue Video capture card (IVTV)===
 
=== Analogue Video capture card (IVTV)===
 
[[Image:Pvr500.jpg|right|100px|]]A TV capture card, also called a TV tuner card, is a device that receives TV signals and converts
 
[[Image:Pvr500.jpg|right|100px|]]A TV capture card, also called a TV tuner card, is a device that receives TV signals and converts
 
them into a digital format. With a minimum of one TV tuner card installed, you can watch and record TV by using your mythTV system. If you install a second TV tuner, you can record or watch TV from more than one channel at the same time.
 
them into a digital format. With a minimum of one TV tuner card installed, you can watch and record TV by using your mythTV system. If you install a second TV tuner, you can record or watch TV from more than one channel at the same time.
 
 
If you have one TV tuner, for example the Hauppauge PVR-150, you can:
 
 
* Record TV on one channel
 
* Watch live TV on one channel
 
* Watch a recorded show while you record another show
 
 
 
If you have two TV tuners, for example the Hauppauge PVR-500, you can:
 
 
* Record TV on two different channels at the same time
 
* Watch live TV on one channel while another show that is on a different channel is recorded
 
* Watch a recorded show while you record two shows at the same time
 
 
 
mythTV supports a myriad of different video capture cards by utilizing the IVTV driver, a kernel driver for Linux and a driver for X11 for hardware based on Conexant's CX23415/CX23416 codec chip. The recommended analogue Standard Definition Cable (SDC) capture cards are the Hauppauge PVR.
 
 
 
{{SUSE_head|ADDITIONAL INFORMATION}}
 
{{Webpage|www.ivtvdriver.org/index.php/Supported_hardware|a complete list of supported hardware by IVTV}}
 
{{Wikipage|Video_capture_card#Capture_Card_Matrix|capture card matrix on the mythTV wiki page}}
 
{{Webpage|ivtvdriver.org/index.php/Howto:Suse#openSUSE_10.2|ivtv wiki, primary resource}}
 
{{Webpage|en.opensuse.org/HCL/TV_Cards|openSUSE wiki, supported TV cards}}
 
 
 
 
openSUSE 10.3 ships with IVTV version 0.10.3 and ivtv-firmware 0.10.3, everything is auto detected on the x86 and x86-64 bit version of the OS.
 
Please make sure you install the ivtv-firmware from YaST from the NON-OSS openSUSE repository.
 
 
{{Download|ivtv|ivtv, located on 10.3 media OSS}}
 
{{Download|ivt_firmware|ivt_firmware, located on 10.3 media NON_OSS}}
 
 
{{SUSE_head|FIRMWARE}}
 
IVTV-based cards are hardware encoders, but the firmware does not exist in the card itself. Instead, you must point your hardware to an extracted version of the firmware on disk. One of the benefits of openSUSE is that it has the closed source ivtv-firmware drivers available in the NON-OSS repository.
 
This Firmware is licensed for use only in conjunction with Hauppauge component products. More info about the license can be found in the license agreement included in the package.
 
 
  
 
{{SUSE_head|Configuration Tips }}
 
{{SUSE_head|Configuration Tips }}
Line 261: Line 346:
 
  ivtv0: Encoder revision: 0x02060039
 
  ivtv0: Encoder revision: 0x02060039
 
  etc..
 
  etc..
 
  
 
{{SUSE_head|The lspci command can give you more information about your card and tuner:}}
 
{{SUSE_head|The lspci command can give you more information about your card and tuner:}}
Line 270: Line 354:
 
  03:08.0 Multimedia video controller: Internext Compression Inc iTVC16 (CX23416) MPEG-2 Encoder (rev 01)
 
  03:08.0 Multimedia video controller: Internext Compression Inc iTVC16 (CX23416) MPEG-2 Encoder (rev 01)
 
  03:09.0 Multimedia video controller: Internext Compression Inc iTVC16 (CX23416) MPEG-2 Encoder (rev 01)
 
  03:09.0 Multimedia video controller: Internext Compression Inc iTVC16 (CX23416) MPEG-2 Encoder (rev 01)
 
  
 
{{SUSE_head|Check if the firmware is installed in the correct location:}}
 
{{SUSE_head|Check if the firmware is installed in the correct location:}}
Line 350: Line 433:
 
{{SUSE_head|Check (and update) the hardware specific section on this page and the dedicated mythTV wiki pages}}
 
{{SUSE_head|Check (and update) the hardware specific section on this page and the dedicated mythTV wiki pages}}
 
{{Wikipage|Video_capture_card|Video capure cards on the}}
 
{{Wikipage|Video_capture_card|Video capure cards on the}}
 
;Hauppauge PVR-150
 
{{SUSE_head|Hauppauge PVR-150}}
 
{{Wikipage|Hauppauge_PVR-150|Hauppauge_PVR-150, single tuner}}
 
{{Wikipage|Opensuse_11.x_Hauppauge_PVR-150|Hauppauge_PVR-150, with IR Blaster support}}
 
 
;Hauppauge PVR-250
 
{{SUSE_head|Hauppauge PVR-250}}
 
{{Wikipage|Hauppauge_PVR-250|Hauppauge_PVR-250}}
 
 
 
;Hauppauge PVR-350
 
{{SUSE_head|Hauppauge PVR-350}}
 
{{Wikipage|Hauppauge_PVR-350|Hauppauge_PVR-350, single tuner and TV-out}}
 
 
 
;Hauppauge PVR-500
 
{{SUSE_head|Hauppauge PVR-500}}
 
{{Wikipage|Hauppauge_PVR-500|Hauppauge_PVR-500, dual tuner}}
 
  
 
If you are lost; [http://www.flickr.com/photos/98068939@N00/tags/mythtv/ here] are some screenshots of mythtv-setup for a PVR-500 in the [[Netherlands]].
 
If you are lost; [http://www.flickr.com/photos/98068939@N00/tags/mythtv/ here] are some screenshots of mythtv-setup for a PVR-500 in the [[Netherlands]].
 
=== Channels and frequencies ===
 
You can fill the channel table and frequencies from mythtv-setup
 
 
Since there must be more MythTV users in your area, this could be a good moment to make some new friends.
 
Chances are that someone already did this and exported this channel information and published it on the web.
 
Check the country specific information on the mythtv wiki or some local mythtv sites and with some luck you can
 
import a channel file to your database.
 
 
 
'''Country specific information''' <small>
 
[http://tvfreq.laupro.nl/ Generate mythTV Channels for the Netherlands,]
 
[[place holder|place holder,]]
 
[[place holder|place holder,]]
 
</small>
 
 
 
 
{{Tip box|For some countries, providers, areas there are channel.sql files available that hold all channels and frequencies for your area and that can be imported directly into the mySQL database. See the [[XMLTV]] page for more details about your country specific information.}}
 
 
 
;<debug>Show the channel table from the mythtv database from the commandline</debug>
 
mysql -u''user'' -p''password'' mythconverg -e 'SELECT name, freqid, chanid, channum, xmltvid  FROM `channel`  WHERE sourceid = "1"  ';
 
 
== Electronic Program Guide (EPG) ==
 
The most difficult part of installing/configuring MythTV is getting the data, name and frequency of all the channels in the database.
 
One of the reasons is; it's country and region specific information and it also depends on your type of TV signal.
 
Most analogue mythTV systems need to grab information from some local website and import it into the mythTV datastore. For this to work, a technology called grabbers is used.  A grabber, 'grabs' EPG information from a website and transforms the data to XML format.
 
Most DVB-C infrastructures send EPG information in streams over the cable so other techniques are used.
 
 
The best advise we can give you, is to search for country/provider specific information because for EPG there is no 'one size fits all'.
 
 
'''Country specific information''' <small>
 
[http://wiki.mythtv.nl//index.php/Grabbers Netherlands,]
 
[[Data_Direct|North America data direct,]]
 
[[zap2it|North America zap2it,]]
 
[[Uk_xmltv|UK,]]
 
[[XMLTV|more]]
 
</small>
 
 
 
=== mythfilldatabase ===
 
[[mythfilldatabase]] is nothing more that a nice wrapper around your EPG handler. Normally mythfilldatabase is run automatically by [[mythbackend]] every 24 hours. It uses your EPG handler (grabber) as defined in [[mythtv-setup]].
 
 
 
===  XMLTV ===
 
Most grabbers use XMLTV to get the EPG data into the database. Make sure you install the XMLTV software packages.
 
XMLTV ships with a set of standard grabbers per country. Although these might work - again, search for country specific information - better grabbers may be around.
 
 
The program guide in mythTV is a listing of TV shows that you receive over the network.
 
 
XMLTV is a set of utilities to transfer and store EPG (Electronic Program Guide) in a XML format for various countries.
 
 
It's good to understand the following components before you begin:
 
 
*XMLTV Grabber = country specific module to grab EPG (Electronic Program Guide) info from a source and translates it to XML format.
 
 
*XMLTV ID = Value that exists in the XMLTV data and in the Channel table. It's the link/mapping to get the information on the correct channel.
 
 
*CHANNELS = Your TV channels, with their channel number and frequencies as defined in mythtv-setup
 
 
*CHANNEL_ICONS = Bitmaps that are displayed by mythfrontend as a graphical representation of the channel. (example: CNN logo)
 
 
*mythfilldatabase = An mythTV application that uses the XMLTV grabber that you defined in mythtv-setup and stores the information in the MySQL database.
 
 
 
The most essential data in your database is the channel mapping: The mythconverg_channel table in the database links/maps the following information
 
channel number frequency name of the channel XMLTV number
 
Without this information the EPG (Electronic Program Guide) can not work.
 
 
{| cellspacing=0 cellpadding=2 border=0
 
|width=146|{{Click || image=1click.jpg | link=Opensuse_10.3 | width=146px | height=52px}}
 
|[http://packman.links2linux.org/package/xmltv Install XMLTV from pacman]
 
|}
 
 
For most European countries you need XMLTV and a grabber.
 
 
 
The first thing you should do to get listings into the database is to set up your channels. In mythtv-setup, after you have set up your card, you can configure a video source based on your geographic location. The video source config page has a field for "grabber"; select your country there and mythTV will be ready to run a program called "mythfilldatabase" that will use XMLTV and tv_grab_XX, where XX is your country specific method. So, XMLTV works by running a custom grabber for your country. This grabber collects guide data from the sources appropriate to your country.
 
 
 
'''Country specific information''' <small>
 
[[Netherlands|Netherlands,]]
 
[[Data_Direct|North America,]]
 
[[Uk_xmltv|UK,]]
 
[[XMLTV|more]]
 
</small>
 
 
 
 
Different countries and providers have different ways of configuring XMLTV.
 
 
{{Wikipage|XMLTV|XMLTV}} to see specifics for your country about XMLTV and the EPG:
 
 
 
 
{{SUSE_head|TROUBLESHOOT/CONFIGURATION TIPS}}
 
1.) Understand what grabber technology you should use and are currently trying to configure - read !
 
 
2.) Location of the grabber config file and current user. The grabber for your country may have it's settings stored in the users home directory (~./.xmltv or ~./.mythtv).
 
Normally your should run mythfilldatabase as user and not as root!!
 
 
3.) Check the XML-TV-ID in database and grabber
 
 
Have a quick look in the database
 
This will show channel numbers, xmltvid etc.
 
mysql -u''<username>'' -p''<password>'' mythconverg -e 'SELECT name, freqid, chanid, channum, xmltvid  FROM `channel`  WHERE sourceid = "1"  ';
 
 
The XMLTVID should match the ID's in your grabbers configuration file. (if exists for your country)
 
 
;Example bash script to check the EPG days in the database
 
 
{{Code box|check_epg.sh|<pre>
 
SQL='SELECT TO_DAYS(max(endtime)) - TO_DAYS(now()) FROM program;'
 
EPG_DB_DAYS=`mysql -u<<your userid>> -p<<your password>> --skip-column-names -B -D mythconverg --execute "$SQL"`
 
if [ $EPG_DB_DAYS -lt 8 ]; # Check for 8 days of EPG
 
then
 
  # run mythfilldatabase
 
  echo "Need to update the EPG - run mythfilldatabase"
 
else
 
  # EPG seems fine
 
  echo "$EPG_DB_DAYS days in your database."
 
fi
 
</pre>}}
 
 
= Use and configure mythTV clients (frontends) =
 
== Integrated LCD or VFD panel (LCDProc) ==
 
[[Image:LCDproc.jpg|right|135px|LCDproc is used by mythTV]]Mythfrontend (the integrated [[mythlcdserver]]) can control a LCD (Liquid Crystal Display) or a VFD (Vacuum Fluorescent Display) panel through the LCDproc API. [http://lcdproc.omnipotent.net/ LCDproc] is a small piece of software that displays real-time system information from your Linux box on a LCD/VFD.
 
 
 
{{SUSE_head|STEPS}}
 
* Install LCDproc and configure your device
 
:[http://lcdproc.omnipotent.net/ LCDproc] is not part of the openSUSE 10.3 distribution, but a rpm is available:
 
{{Download|software.opensuse.org/download/LCD/|download LCDproc rpm from opensuse.org}}
 
 
or
 
 
{| cellspacing=0 cellpadding=2 border=0
 
|width=146|{{Click || image=1click.jpg | link=Opensuse_10.3 | width=146px | height=52px}}
 
|[http://software.opensuse.org/search?baseproject=ALL&p=1&q=lcdproc LCDproc for openSUSE]
 
|}
 
* Configure mythfrontend to use the LCD/VCD
 
:The mythlcdserver is started automatically when configured in mythfrontend.
 
:You can find the setup options in Utilities/Setup->Setup->Appearance->LCD device display Check the Enable LCD device.
 
 
 
{{SUSE_head|TROUBLESHOOT/CONFIGURATION TIPS }}
 
Here are some tips that can help you find the best information to configure your hardware specific device information.
 
 
 
 
{{SUSE_head|Check (and update) the hardware specific section on the mythTV wiki}}
 
{{Wikipage|LCDproc|LCDproc}}
 
{{Wikipage|Imon|iMON (Silverstone, Cooler Master) }}
 
{{Wikipage|Futaba|Futaba (MSI Media Live, Hiper HMC-2K53A) }}
 
 
 
 
{{SUSE_head|The most important files of the LCDproc package:}}
 
 
:*/usr/sbin/LCDd - executable can be started with option -c /etc/LCDd.conf
 
 
:*/etc/LCDd.conf - configuration file
 
 
 
{{Todo_box|Don't think LCDproc comes with a startup/init script. Please describe howto create a init script from the skeleton for the newbies
 
}}
 
 
 
{{SUSE_head|NOTE}} The LCDproc deamon (?LCDd?) is not started automatically by default after a reboot. 
 
:As root start 'yast2 runlevel', select (?LCDd>) and make sure it's started at boot time.}}
 
 
 
 
{{SUSE_head|ADDITIONAL INFORMATION}}
 
{{Wikipage|LCDproc|LCDproc}}
 
{{Wikipage|Imon|IMON (Silverstone Technology, Cooler Master, Thermaltake Technology, Zalman Tech, 3R System)}}
 
{{Wikipage|Futaba|Futaba (MSI Media Live, Hiper HMC-2K53A)}}
 
{{Wikipage|mythlcdserver|mythlcdserver}}
 
  
 
== Remote Control (LIRC) ==
 
== Remote Control (LIRC) ==
[[Image:imon_pad.jpg|right|80px|mythTV uses LIRC for the iMON_PAD]]The configuration of your remote control can be one of the most time consuming aspects of your mythTV setup. The remote controller itself can never be detected by the system so it requires some manual work. If your remote control device is not supported, it's required to learn the system about your device and define it's behavior.
 
 
 
LIRC is the package that allows you to decode and send infra-red signals of many commonly used remote controls.
 
openSUSE 11.1 ships with LIRC 0.8.4. To use LIRC, you need a configuration file for your remote control. A list of supported remote control is available on http://lirc.org/remotes/
 
 
If you can't find a configuration file for your remote control on the [http://lirc.org/remotes lirc page], it does not mean that your remote control is  not supported but there is no configuration file for it yet. You don't have to be a developer to create a configuration file by using [http://lirc.org/html/irxevent.html irxevent] and [http://lirc.org/html/mode2.html mode2]. More info about these LIRC programs can be found on http://lirc.org/html/programs.html
 
  
If you have created a new configuration file for a remote control, please send it to the LIRC team.
+
'''There is a very good chance that this information is out-of-date.'''  I highly recommend a wireless keyboard instead of a remote control:
  
 +
* They are more dynamic/useful (not as specialized).
 +
* They are are cheaper (big bonus).
 +
* You won't loose them as easily (big bonus).  Some may say their size is a draw-back, but they are thin and fit
 +
under chairs very easily!
  
 
{{SUSE_head|REMOTE CONTROL CONFIGURATION FILES}}
 
{{SUSE_head|REMOTE CONTROL CONFIGURATION FILES}}
Line 570: Line 452:
 
  sudo zypper in lirc-kmp-default
 
  sudo zypper in lirc-kmp-default
  
{{Tip box|You can check the kernel version from the command line with 'uname'. The word 'default' in the below example means a default kernel (in most cases the only other possibility is 'bigsmp').
+
{{Tip box|You can check the kernel version from the command line with 'uname -r'. The word 'desktop' in the below example means a default kernel (in most cases the only other possibility is 'bigsmp').
# uname -r
+
  # uname -r
   2.6.25.5-1.1-default}}
+
   2.6.34-12-desktop}}
  
 
You must edit this file so that lirc knows which device to use. For example, if you have a PVR-150 make the following changes:
 
You must edit this file so that lirc knows which device to use. For example, if you have a PVR-150 make the following changes:
Line 648: Line 530:
 
{{SUSE_head|DEVICE SPECIFIC}}
 
{{SUSE_head|DEVICE SPECIFIC}}
 
{{Wikipage|ATI_Remote_Wonder#openSUSE_10.2|ATI Remote Wonder}}
 
{{Wikipage|ATI_Remote_Wonder#openSUSE_10.2|ATI Remote Wonder}}
{{Wikipage|Hauppauge_WinTV_Nova-T_500_PCI|Hauppauge WinTV Nova T500 Remote Control}}
 
 
{{Wikipage|Imon|iMON}}  
 
{{Wikipage|Imon|iMON}}  
 
{{Wikipage|Logitech_Harmony_880_remote|Logitech Harmony 880}}
 
{{Wikipage|Logitech_Harmony_880_remote|Logitech Harmony 880}}
 
{{Wikipage|MCE_Remote|Microsoft MCE Remote}}
 
{{Wikipage|MCE_Remote|Microsoft MCE Remote}}
 
{{Wikipage|Remote_Controls|more Remote Control}}
 
{{Wikipage|Remote_Controls|more Remote Control}}
 
== Audio setup ==
 
For PulseAudio setup, see [[Configuring Digital Sound#PulseAudio]]
 
 
== TV Output (Proprietary Driver) ==
 
You can use several different types of connections to connect your mythTV frontend PC to a TV.
 
The S-Video cable works well with most standard TVs. The picture below explains the different types of connections that can be used to connect yout TV.
 
 
The type of output your PC's video card can do, and the type of inputs your TV can handle are primarily what dictates what you should use to connect them. From highest- to lowest-quality, the order of consideration is: HDMI, DVI (both of which are digital), VGA, Component, S-Video and finally Composite (all of the rest are analog).
 
 
.
 
[[Image:Hdmiconnector.jpg|thumb|80px|left|HDMI digital]][[Image:Dviconnector.jpg|thumb|80px|left|DVI digital]]
 
[[Image:Vgaconnector.jpg|thumb|80px|left|VGA analog]]
 
[[Image:Componentconnector.jpg|thumb|80px|left|Component analog]][[Image:Svideoconnector.png|thumb|80px|left|S-Video analog]][[Image:Compositeconnector.jpg|thumb|80px|left|Composite analog]]
 
 
 
 
 
 
 
 
 
 
 
 
 
;ATI/AMD
 
{{SUSE_head|Install the ATI driver with 1-Click Install}}
 
{| cellspacing=0 cellpadding=2 border=0
 
|width=146|{{Click || image=1click.jpg | link=Opensuse_10.3 | width=146px | height=52px}}
 
|[http://opensuse-community.org/ati.ymp ATI driver from the opensuse-community]
 
|}
 
 
 
{{SUSE_head|Manual download and install the driver}}
 
{{Download|ati.amd.com/support/driver.html|Download the latest driver from ATI}}
 
 
 
 
{{SUSE_head|ADDITIONAL INFORMATION}}
 
{{Wikipage|AtiProprietaryDriver|AtiProprietaryDriver}}
 
{{Webpage|en.opensuse.org/ATI|openSUSE AMD/ATI page}}
 
 
;NVIDIA
 
{{SUSE_head|Install the NVIDIA driver with 1-Click Install}}
 
{| cellspacing=0 cellpadding=2 border=0
 
|width=146|{{Click || image=1click.jpg | link=Opensuse_10.3 | width=146px | height=52px}}
 
|[http://opensuse-community.org/nvidia.ymp If you have a new NVIDIA cards]
 
|}
 
{| cellspacing=0 cellpadding=2 border=0
 
|width=146|{{Click || image=1click.jpg | link=Opensuse_10.3 | width=146px | height=52px}}
 
|[http://opensuse-community.org/nvidia-legacy.ymp If you have a legacy NVIDIA cards]
 
|}
 
 
List of [http://en.opensuse.org/NVIDIA/Legacy Legacy NVIDIA cards]
 
 
  
  
{{SUSE_head|Manual download and install the driver}}
+
== Graphic Drivers ==
{{Download|www.nvidia.com/object/unix.html|Download the latest driver from NVIDIA}}
 
  
 +
SuSE 11.3 has introduced significant changes to the way graphics cards and screen resolutions are handled. You almost certainly will hit problems installing proprietary graphics drivers, which are easy to over come, once you understand what has changed.
  
 +
Linux and XWindow has moved to a more automated way of detecting displays and monitors. This new method is called Kernel Mode Settings(KMS), The Kernel is now responsible for detecting screen resolutions on boot up, X configurations that were in /etc/X11/xorg.conf are now no longer needed (but can be used). If you get a blank screen, or wrong resolutions then this is what you are seeing.
  
{{SUSE_head|ADDITIONAL INFORMATION}}
+
11.3 has the open source Nouveu driver as standard for Nvidia based systems. See [http://wiki.opensuse.org/Category:SDB:Hardware SDB Hardware] to see if there may be a better driver for your graphic card.  If you have trouble, view [http://en.opensuse.org/SDB:Configuring_graphics_cards Configuring Graphic Cards].
{{Wikipage|NVidiaProprietaryDriver|NVidiaProprietaryDriver}}
 
{{Webpage|en.opensuse.org/Nvidia|openSUSE NVIDIA page}}
 
 
 
;Hauppauge PVR-350
 
{{SUSE_head|Hauppauge PVR-350}}
 
{{Wikipage|Hauppauge_PVR-350|Hauppauge_PVR-350, single tuner and TV-out}}
 
 
 
 
 
  
 
== Web frontend (mythweb) ==
 
== Web frontend (mythweb) ==
[[Image:MythWebList.png|right|170px|]] MythWeb provides a frontend for scheduling and managing recordings on your mythTV system from a web browser located on another machine. Provided the security is set up correctly on your MythBox you can access your machine from anywhere on the internet, or even your mobile phone as long as you have a compatible browser. Of course it is just as useful to browse your myth content from your laptop while your partner is watching their favorite programme.
+
[[Image:MythWebList.png|right|170px|]] MythWeb provides a frontend for scheduling and managing recordings on your mythTV system from a web browser located on another machine.  In OpenSuSE, start YaST and goto the HTTP server menu (commandline: yast2 http-server)
 
 
 
 
Make sure the following packages are installed
 
  yast2-http-server, apache2, apache2-mod-php5
 
 
 
You can quickly check if the package is already installed with the following command
 
rpm -qa | grep apache
 
 
 
 
 
{{SUSE_head|Activate the required server module for the Apache HTTP server}}
 
The Rewrite Server Module provides a rule-based rewriting engine to rewrite requested URLs on the fly. By default it's turned off and you need to turn it on.
 
The Environment Server Module modifies the environment passed to CGI scripts and SSI pages
 
 
 
Start YaST and goto the HTTP server menu (commandline: yast2 http-server)
 
 
follow the menu's by next,next,next,next and click the HTTP Server Expert Configuration, here you see a tab with 'Server Modules'
 
follow the menu's by next,next,next,next and click the HTTP Server Expert Configuration, here you see a tab with 'Server Modules'
  
Line 776: Line 580:
  
 
{{Tip box|You can access your MythWeb remotely if you know your IP address.  However, if you are a DHCP client, your IP will probably change.  To resolve the issue of having an IP address that is constantly changing, you can sign up for an account with a dynamic DNS site (such as http://www.yi.org) and create a unique unchanging hostname that can be forwarded to your IP address - even if it changes. }}
 
{{Tip box|You can access your MythWeb remotely if you know your IP address.  However, if you are a DHCP client, your IP will probably change.  To resolve the issue of having an IP address that is constantly changing, you can sign up for an account with a dynamic DNS site (such as http://www.yi.org) and create a unique unchanging hostname that can be forwarded to your IP address - even if it changes. }}
 
= Making it an appliance =
 
Start all required services
 
remove the services
 
crom cron and database maintencance tricks
 
acpi wakeup
 
mythfilldatabase scheduled
 
 
== Wakeup using the bios ==
 
 
Switching computers that do not need to run 24 by 7 on and off as required can cut your power consumption. There are different methods of programming a wakeup time under Linux without needing to set the time manually in the computer’s BIOS.
 
 
NVRAM wakeup uses the BIOS settings stored in non-volatile RAM (NVRAM).
 
The nvram kernel module allows Linux to access a maximum of 128 bytes of non-volatile memory.
 
To get this to work, you need to compile the nvram kernel module.
 
Basically nvram is directly poking into your bios.
 
 
 
ACPI has a (limited) standard interface to change the value in the bios.
 
 
The kernel transfers the time directly to your computer’s RTC (real time clock), but not the date. This leads to the computer
 
waking up at the same time every day, and not just on the given date. The problem is that there is a more-orless
 
standardized method of transferring the time to the RTC, but no such standard for the wakeup date.
 
 
 
; ACPI RTC Alarm works with openSUSE 11.1 - more information on the following page:
 
 
 
{{Wikipage|ACPI_Wakeup|ACPI Wakeup}}
 
 
{{Pdf|www.linux-magazine.com/issue/46/Wakeup_Call_For_Computers.pdf|Wakeup call}}
 
 
 
== Remove KDE or GNOME ==
 
autorun mythfrontend or automatically start mythfrontend and not start the full gnome
 
The mythtv rpm's create an xsession configuration for you, so that you can select mythtv as your session from gdm, this way
 
gnome is not started (faster and saver you some memory)
 
You can select the session from the initial login screen (logout and select another session)
 
 
gdm sessions are stored on the following locations:
 
* Directory for xsession  configuration files = /usr/share/xsessions
 
* ~/.dmrc = stored the xsession for the current user
 
 
If you want to add an xsession for mythwelcome;
 
* Add a xsession by copying cp /usr/share/xsessions/mythtv.desktop /usr/share/xsessions/mythwelcm.desktop
 
* Edit /usr/share/xsessions/mythwelcm.desktop so that it executes /usr/bin/mythwelcome and the name = mythwelcm
 
* Now edit ~/.dmrc and change your session to mythwelcm
 
 
Result,
 
gnome is not started but mythwelcome is started
 
  
 
= Tips and tricks =
 
= Tips and tricks =
== Working with phpMyAdmin ==
 
 
Install phpMyAdmin from the build server.
 
http://software.opensuse.org/search?baseproject=openSUSE%3A11.1&p=1&q=phpmyadmin
 
 
directory = /srv/www/htdocs/phpMyAdmin
 
 
http://''ip address''/phpMyAdmin
 
 
I don't need a password on phpMyAdmin
 
cd /srv/www/htdocs/phpMyAdmin
 
cp ./config.sample.inc.php ./config.inc.php
 
edit ./config.inc.php
 
 
Make the following changes:
 
 
/* Authentication type */
 
$cfg['Servers'][$i]['auth_type'] = 'http';
 
 
 
 
/* User for advanced features */
 
$cfg['Servers'][$i]['controluser'] = '';
 
$cfg['Servers'][$i]['controlpass'] = '';
 
 
 
== Upgrading from 10.2 with Packman ==
 
Over the weekend I managed to upgrade-in-place my existing MythTV installation from [[Opensuse_10.2|OpenSUSE 10.2]] to 11. I did not nuke my root partition and just do a new install, I upgraded my / partition. It went rather well, but there were a few speed bumps. First, the speed-bumps:
 
* The Lirc install still doesn't support the IR Blaster on a Hauppauge PVR150.
 
* Due to the number of packages being thrown around, several reboots are needed for things to settle down.
 
* 11 sets up XGL/Compiz by default, which may have some affect on how MythTV renders video. This will have to be diddled after the install is completed, and will probably depend on hardware. This guide doesn't cover that.
 
 
And now, the process I followed.
 
# Back up everything you need to back up. This makes recovery a lot easier if things go badly.
 
# Boot to the installation media and perform the upgrade.
 
## Pay attention to the packages and patterns you are installing. Go through them and verify everything you want is checked. I didn't have any troubles with this, but this is an area where things can go wrong.
 
## During the upgrade process it will remove all packages not part of the OS, and not flagged as locked. Since the Packman MythTV packages show up as locked, they'll still be around. We'll fix this later.
 
# Log in as Root to your console.
 
# Run Online Update to get the latest openSUSE patches, which includes a kernel already and will require a reboot.
 
# Log in again, launch YaST, and run Software Repositories
 
# Select Community Repositories (at the top of the list)
 
# Add Packman and any others you might need, like the NVidia repo.
 
# Exit Software Repositories, and launch Software Management
 
# Search for "myth". Note the MythTV packages you have installed, and explicitly remove them. These are the 10.2 packages and will not work with 11.0. Especially since most of their multimedia dependencies were removed as part of the OS upgrade.
 
# Once that is completed, go back into Software Management and reinstall the MythTV packages you removed in the previous step.
 
# It will give a big list of dependencies required by the MythTV packages; OK their install, and let it go.
 
# Once everything is installed, reboot to settle things down.
 
# By this point things should be in a good state. From a terminal window, launch "mythtvsetup" and see if it segfaults. If it runs correctly, MythTV as a whole should run correctly. If it does segfault, then this guide has failed you and I apologize.
 
# If you are using a Hauppauge PVR150 and its IR Blaster, you will have to compile a "lirc_pvr150" module from source. You already had to do this with 10.2, so the process should be familiar. The update to 11.0 doesn't require any config file changes.
 
# Go into YaST and launch System Services. Set "mythtvbackend" (and "lirc" if you use an IR remote) to run automatically, if that's what you do.
 
# Log in as your MythTV user and make any Gnome/KDE/whatever changes you need. 11.0 includes significant updates to the desktop from 10.2. In my case I just nuked my profile and began anew. Your mileage may vary.
 
# A final reboot to make sure everything is working as planned.
 
 
The above worked for me, and should be pretty solid for 10.2 to 11.0 while using the Packman MythTV packages.
 
  
 
==Using Firefox as integrated Mythbrowser==
 
==Using Firefox as integrated Mythbrowser==
Line 902: Line 602:
  
  
= External Links =
+
= See Also =
  
[http://wiki.opensuse.org wiki.opensuse.org]
+
* [http://wiki.opensuse.org wiki.opensuse.org]
 +
* [[Opensuse 11.0 - 11.2 | Opensuse 11.0 - 11.2]], which this document is based on.
  
 
[[Category:OpenSUSE]]
 
[[Category:OpenSUSE]]
 
[[Category:Distribution Specific Install Guides]]
 
[[Category:Distribution Specific Install Guides]]

Latest revision as of 17:01, 11 February 2011

Other openSUSE version

Introduction

Benefits of using openSUSE 11 for mythTV
  • Best hardware support available
  • Super fast software installation (package management) based on libzypp
  • openSUSE 1-click install technology, packages or package bundles can be installed with 1 click (No need to compile)
    • mythTV packages are available as a bundle with 1-click install on pacman
    • restricted formats (proprietary, patented formats) like MP3, Codecs, encrypted DVD support etc. are available with 1-click install on opensuse-community
    • proprietary video drivers for both AMD/ATI and NVIDIA are available with 1-click install
    • additional packages for the advanced user are also available with one 1-click install from software.opensuse.org (e.g. lcd support)
  • New and super fast installation, completing in roughly just 35 minutes (including mythTV software)
  • Good openSUSE, mythTV documentation and a friendly community ;-)

read more


Hardware considerations

Installing mythTV all starts with good hardware. The first requirement is a machine capable of running openSUSE x86 or x86-64 and that can be connected to the Internet. You will also need a decent audio card and a video card, a hard drive with as much storage space as you desire, as well as a TV tuner capable of performing hardware-level video encoding. Many people run mythTV without any problems on older hardware; however, if you are planning on doing anything with high definition video or complex transcoding jobs, you will need to have sufficient memory and processing power. Check this wiki and the mailinglist before you purchase any new hardware.

You might also find it useful to look at http://www.silentpcreview.com/ if you build a machine for your living room, in order to get advice on low power-consumption, low noise setups.

Wikipage.png - Bare_Bones_System mythTV wiki page

Wikipage.png - Cases mythTV wiki page

more

Join the community and get some help
Subscribe to the mythTV users mailing list

mythTV user mailing list www.mythtv.org/mailman/listinfo/mythtv-users

mythTV user mailing list archive www.gossamer-threads.com/lists/mythtv/users/

Chat with other mythTV users

IRC irc.freenode.net #mythtv-users

Initial system setup and considerations

Partitions and File Systems

OpenSuSE ships with a number of different file systems. Each file system has its own advantages and disadvantages that can make it more suited to a scenario. Professional high-performance setups may require a different choice of file system than a home user's setup.

FILE SYSTEM RECOMMENDATIONS

Use Ext4 as your default file system. Consider using XFS for your video data. XFS is very good at manipulating and deleting large files and performs well on high-end hardware.

OTHER RECOMMENDATIONS

Make sure you understand what hardware you have - especially if you have issues an need to Google.

lspci -v and lsusb and hwinfo


ADDITIONAL INFORMATION

Wikipage.png - File Systems mythTV wiki page

Webpage.png - SUSE Linux Enterprise documentation about file systems

Install mythTV software on openSUSE

STEP (1 of 2) - Multimedia

Read restricted formats. If you are OK with installing the restricted formats, place the installation DVD into the reader, and run the following as root.

Everybody

 # Make sure you are up-to-date
 zypper update
 zypper update
 # Add the restricted formats.
 zypper addrepo -f http://www.opensuse-guide.org/repo/11.3 libdvdcss
 zypper install ffmpeg flash-player libdvdcss libxine1-codecs w32codec-all lame
 # Install Framework
 zypper in dvb libid3tag mysql php5 xine-ui fame libcdaudio libfame MPlayer phpPgAdmin pvm transcode apache2 yast2-http-server apache2-mod_php5


Those Outside North America

 zypper install -l perl-xmltv xmltv xmltv-grabbers


STEP (2 of 2) - mythtv

Packman does not yet have Mythtv, so we'll do it manually:

As a normal user:

  1. Download from ftp://ftp.osuosl.org/pub/mythtv/mythtv-0.24.tar.bz2
 bunzip2 mythtv-0.24.tar.bz2
 tar xvf mythtv-0.24.tar

As root, in directory containing the files extracted from the tarball:

 zypper install make gcc-c++ libqt4-devel libmp3lame-devel alsa-devel
 # Something in here was required (likely libQtWebKit-devel).
 zypper install ibus-qt-devel libQtTapioca-devel  libQtTelepathy-devel libQtWebKit-devel
 ./configure --prefix=/usr/local
 make
 make install
 mv database/mc.sql /usr/local/share/mythtv

Configure mythTV server components (mythbackend)

The server components within mythTV are referred to as the mythbackend.

Because the configuration of the mythTV application itself is not openSUSE specific, you find mainly links to the information.

http://www.mythtv.org/modules.php?name=MythInstall mythtv.org Documentation

Wikipage.png - Manual mythTV wiki page

Create Mythbackend Daemon

Create /etc/init.d/mythbackend as root as follows:

 #! /bin/sh
 ### BEGIN INIT INFO
 # Provides:          mythbackend
 # Required-Start:    $syslog $remote_fs mysql
 # Should-Start:      $time
 # Required-Stop:     $syslog $remote_fs mysql
 # Should-Stop:       $time
 # Default-Start:     3 5
 # Default-Stop:      0 1 2 6
 # Short-Description: MythTV backend daemon
 # Description:       Start the MythTV backend daemon
 ### END INIT INFO
 
 MYTHBACKEND_BIN=/usr/local/bin/mythbackend
 test -x $MYTHBACKEND_BIN || { echo "$MYTHBACKEND_BIN not installed"; 
       if [ "$1" = "stop" ]; then exit 0;
       else exit 5; fi; }
 
 # Check for existence of needed config file and read it
 MYTHBACKEND_CONF=/etc/sysconfig/mythbackend
 test -r $MYTHBACKEND_CONF || { echo "$MYTHBACKEND_CONF not existing";
       if [ "$1" = "stop" ]; then exit 0;
       else exit 6; fi; }
 
 . $MYTHBACKEND_CONF
 
 : ${MYTHBACKEND_USERID:=mythbackend}
 : ${MYTHBACKEND_GROUPID:=video}
 : ${MYTHBACKEND_HOME:=$(eval echo -n ~${MYTHBACKEND_USERID})}
 
 . /etc/rc.status
 
 # Reset status of this service
 rc_reset
 
 case "$1" in
     start)
       echo -n "Starting MythTV backend"
       touch /var/log/mythtv/mythbackend.log
       chown ${MYTHBACKEND_USERID}.${MYTHBACKEND_GROUPID} /var/log/mythtv/mythbackend.log
       HOME=${MYTHBACKEND_HOME} /sbin/startproc \
               -u ${MYTHBACKEND_USERID} -g ${MYTHBACKEND_GROUPID} \
               -p /var/run/mythbackend.pid $MYTHBACKEND_BIN --daemon \
               --logfile /var/log/mythtv/mythbackend.log $MYTHBACKEND_OPTIONS
       rc_status -v
       ;;
     stop)
       echo -n "Shutting MythTV backend"
       /sbin/killproc -TERM $MYTHBACKEND_BIN
       rc_status -v
       ;;
     try-restart|condrestart)
       if test "$1" = "condrestart"; then
               echo "${attn} Use try-restart ${done}(LSB)${attn} rather than condrestart ${warn}(RH)${norm}"
       fi
       $0 status
       if test $? = 0; then
               $0 restart
       else
               rc_reset        # Not running is not a failure.
       fi
       rc_status
       ;;
     restart)
       $0 stop
       $0 start
 
       rc_status
       ;;
     force-reload)
       echo -n "Reload service MythTV backend"
       /sbin/killproc -HUP $MYTHBACKEND_BIN
       #touch /var/run/mythbackend.pid
       rc_status -v
 
       ## Otherwise:
       #$0 try-restart
       #rc_status
       ;;
     reload)
       # If it supports signaling:
       echo -n "Reload service MythTV backend"
       /sbin/killproc -HUP $MYTHBACKEND_BIN
       #touch /var/run/mythbackend.pid
       rc_status -v
 
       ## Otherwise if it does not support reload:
       #rc_failed 3
       #rc_status -v
       ;;
     status)
       echo -n "Checking for service MythTV backend"
       /sbin/checkproc $MYTHBACKEND_BIN
       rc_status -v
       ;;
     probe)
       test $MYTHBACKEND_CONF -nt /var/run/mythbackend.pid && echo reload
       ;;
     *)
       echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}"
       exit 1
       ;;
 esac
 rc_exit


Start required services

Make sure all required system services are running on startup: As root start 'yast2 runlevel' and enabel the following services and click OK after popup dialog

  • ntp
  • mysql

Notice there is a mythbackend option, would suggest that you do not enable "mythbackend" just yet, until you have tried running in a terminal window as below. If all steps below work then enable this to run.


Information.png Tip: You can manually add things to /etc/init.d/boot.local. After initializing and processing the boot procedure the boot.local script us executed, which can execute the local commands.

Create the database (mysql)

mythTV uses MySQL to store it's settings, listings, recording schedules, and other information. So we have to make sure openSUSE starts MySQL when it boots, and we have to initialize the database with some basic information that mythTV can work with. The database is probably the most important component of mythTV because without it, absolutely none of mythTV can function.


TROUBLESHOOT/CONFIGURATION TIPS

1.) The MySQL deamon (mysql) is not started automatically by default after a reboot. As root start 'yast2 runlevel', select mysql and make sure it's started at boot time.

2.) Create the database If the database is not started, start mysql (as root) by typing

/etc/init.d/mysql start

Watch for errors. Set up a root password by typing

mysqladmin -u root password <yourpasswordhere>

Once MySQL is setup, install the mythTV Database. This is done by running:

mysql -u root -p < /usr/local/share/mythtv/mc.sql

(and key-in the previously entered password) You should see no output - this is a good thing!


By default, the database is named mythconverg and contains a set of tables that interact with one-another.


Information.png Tip: make the database multi user, so you can access it from more than 1 machine; this will assign a user named "mythtv" with a password of "mythtv " to the "mythconverg" database:

mysql -u root -p mythconverg

You will then be connected directly to the database. Enter the following commands at the mysql> prompt.

mysql> grant all on mythconverg.* to mythtv@"%" identified by "mythtv";
mysql> flush privileges;
mysql> quit;

XvMC

XvMC is great, it is a MPEG-2 video accelerator. Prior to 11.3, I would follow the instructions given on this page, and the improvement would be significant, as demonstrated by System Monitor (Press Alt-F1, then type "System Monitor").

In 11.3, XvMC comes installed and enabled, as demonstrated by:

 #> cat /var/log/Xorg.0.log | grep Motion
 [    23.046] (II) Loading extension XVideo-MotionCompensation

An attempt to use /etc/X11/xorg.conf.d/50-device.conf to load in the 3 Device options and the Extensions option did not pass the test to see if they were used. | Creating a /etc/X11/xorg.conf instead did succeed in setting the values, as demonstrated with:

 #> grep -i XvMC /var/log/Xorg.0.log
 [    24.566] (**) NVIDIA(0): Option "XvMCUsesTextures" "false"

There was no noticeable difference though. Until someone states otherwise, I think it safe to assume that XvMC is fine with OpenSuSE 11.3 right from the install. But if you find problems, you might want to review the links in this section.

MythTV backend setup application (mythtv-setup)

mythtv-setup

The server components within mythTV are referred to as the mythbackend.

Because the configuration of the mythTV application itself is not openSUSE specific, you find mainly links to the information.

http://www.mythtv.org/modules.php?name=MythInstall mythtv.org Documentation

Wikipage.png - Manual mythTV wiki page

Wikipage.png - User Manual mythTV wiki page


NOTE
When everything works. The mythserver process (mythbackend) is not started automatically by default after a reboot.

As root start 'yast2 runlevel', select mythbackend and make sure it's started at boot time.


Digital Video capture card (DVB)

TROUBLESHOOT/CONFIGURATION TIPS

If you are lucky, your DVB device is automatically detected and drivers are automatically loaded. More information about Linux support for DVB cards can be found on: http://www.linuxtv.org/

In general:

1.) Check if your card is auto detected by Linux - You can see this in YaST / TV settings

2.) Google and find out if you need/can define your card manual in YaST / TV settings

3.) load the kernel module(s) for your hardware (if auto detected it's automatically done) YaST will write the modprobe settings to /etc/modprobe.d/tv. Alternative you load the kernel modules (drivers) with the modprobe <drivername>.

4.) See if everything get started

dmesg | grep dvb


Check if devices are created

ls /dev/dvb*


If there is no /dev/dvb* device - the driver does not support your hardware

Analogue Video capture card (IVTV)

Pvr500.jpg
A TV capture card, also called a TV tuner card, is a device that receives TV signals and converts

them into a digital format. With a minimum of one TV tuner card installed, you can watch and record TV by using your mythTV system. If you install a second TV tuner, you can record or watch TV from more than one channel at the same time.

Configuration Tips
Check the IVTV console output with dmesg
dmesg | egrep -i '(ivtv|tveeprom|tuner)'

Your output should look something like this example from the Hauppauge PVR500:

ivtv:  ==================== START INIT IVTV ====================
ivtv:  version 0.x.x (tagged release) loading
ivtv:  Linux version: x.x.xx.x-default SMP mod_unload gcc-4.1
ivtv:  In case of problems please include the debug info between
ivtv:  the START INIT IVTV and END INIT IVTV lines, along with
ivtv:  any module options, when mailing the ivtv-users mailinglist.
ivtv0: Autodetected Hauppauge WinTV PVR-150 card (cx23416 based)
ivtv0: loaded v4l-cx2341x-enc.fw firmware (262144 bytes)
ivtv0: This is the first unit of a PVR500
tuner 1-0043: chip found @ 0x86 (ivtv i2c driver #0)
tuner 1-0060: chip found @ 0xc0 (ivtv i2c driver #0)
tuner 1-0061: chip found @ 0xc2 (ivtv i2c driver #0)
cx25840 1-0044: cx25843-23 found @ 0x88 (ivtv i2c driver #0)
wm8775 1-001b: chip found @ 0x36 (ivtv i2c driver #0)
ivtv0: Encoder revision: 0x02060039
etc..
The lspci command can give you more information about your card and tuner
lspci | grep -i itv
Your output should look something like this example from the Hauppauge PVR500:
03:08.0 Multimedia video controller: Internext Compression Inc iTVC16 (CX23416) MPEG-2 Encoder (rev 01)
03:09.0 Multimedia video controller: Internext Compression Inc iTVC16 (CX23416) MPEG-2 Encoder (rev 01)
Check if the firmware is installed in the correct location
ls /lib/firmware -l
  • license-end-user.txt
  • license-oemihvisv.txt
  • v4l-cx2341x-dec.fw
  • v4l-cx2341x-enc.fw
  • v4l-cx2341x-init.mpg
  • v4l-cx25840.fw
  • v4l-pvrusb2-24xxx-01.fw
  • v4l-pvrusb2-29xxx-01.fw


Check what version of ivtv is installed

To check what version is installed, issue the command:

rpm -qa | grep ivtv

Your output should look something like:

ivtv-kmp-default-0.10.3
ivtv-0.10.3


The IVTV configuration is maintained by YaST and it is not recommended to edit the file directly. To see the configuration of the device
cat /etc/modprobe.d/tv

Your output should look something like this example from the Hauppauge PVR500:

alias char-major-81 videodev
options i2c-algo-bit bit_test=1
# YaST configured TV card
# Uog3.chCB1CyIbw9:WinTV PVR 150
alias char-major-81-0 ivtv
# YaST configured TV card
# ZvjX.sZc4ePByvkF:WinTV PVR 150
alias char-major-81-1 ivtv
alias char-major-81-2 off
alias char-major-81-3 off


Reload the ivtv module manually
rmmod ivtv
modprobe ivtv


Check if the video devices are available to the system
ls /dev/vi* -l

Your output should look something like this example from the (dual tuner) Hauppauge PVR500:

lrwxrwxrwx 1 root root 6 Dec 29 06:27 /dev/video -> video0
crw-rw----+ 1 root video 81, 0 Dec 29 06:27 /dev/video0
crw-rw----+ 1 root video 81, 1 Dec 29 06:27 /dev/video1
crw-rw----+ 1 root video 81, 24 Dec 29 06:27 /dev/video24
crw-rw----+ 1 root video 81, 25 Dec 29 06:27 /dev/video25
crw-rw----+ 1 root video 81, 32 Dec 29 06:27 /dev/video32
crw-rw----+ 1 root video 81, 33 Dec 29 06:27 /dev/video33

The above is for a PVR-500. Here is what each device corresponds to in this case:

Tuner unit #1: - For your info

/dev/video0 – The encoding capture device (Read-only)
/dev/video24 – The raw audio capture device (Read-only)
/dev/video32 – The raw video capture device (Read-only)
/dev/radio – The radio tuner device
/dev/vbi0 – The "vertical blank interval" (Teletext) capture device


Tuner unit #2: - For your info

/dev/video1 – The encoding capture device (Read-only)
/dev/video25 – The raw audio capture device (Read-only)
/dev/video33 – The raw video capture device (Read-only)
/dev/vbi1 – The "vertical blank interval" (Teletext) capture device


Check (and update) the hardware specific section on this page and the dedicated mythTV wiki pages

Wikipage.png - Video capure cards on the mythTV wiki page

If you are lost; here are some screenshots of mythtv-setup for a PVR-500 in the Netherlands.

Remote Control (LIRC)

There is a very good chance that this information is out-of-date. I highly recommend a wireless keyboard instead of a remote control:

  • They are more dynamic/useful (not as specialized).
  • They are are cheaper (big bonus).
  • You won't loose them as easily (big bonus). Some may say their size is a draw-back, but they are thin and fit

under chairs very easily!

REMOTE CONTROL CONFIGURATION FILES
  • /etc/sysconfig/lirc = Hardware config file

You must install the lirc kernel modules package that corresponds to your installed kernel.

sudo zypper in lirc-kmp-default


Information.png Tip: You can check the kernel version from the command line with 'uname -r'. The word 'desktop' in the below example means a default kernel (in most cases the only other possibility is 'bigsmp').

 # uname -r
 2.6.34-12-desktop

You must edit this file so that lirc knows which device to use. For example, if you have a PVR-150 make the following changes:

LIRCD_DRIVER="default"
LIRCD_DEVICE="/dev/lirc"
LIRC_MODULE=lirc_i2c

See PVR150 Remote for more information.


Information.png Tip: If your lirc kernel module is working and detects the card properly you will see the device /dev/lirc appear when lirc is started. If that device does not appear check /var/log/messages and dmesg for clues. Also, it has been reported that a full cold boot is sometimes required to bring the PVR150's IR back to life even going so far as to remove the card from the motherboard for a few moments. Be sure to try this before taking any other drastic steps (such as compiling lirc from source).

  • /etc/lircd.conf = LIRC remote control configuration file that maps scancodes to logic functions (like value to play, poweroff, pause etc.)
  • lircrc = Application specific mapping of the remote functions (play, poweroff etc) to the app specific functions for mythTV, mplayer and or Xine
Every application that you want to control with your remote (and has support for remote control) needs it's own lircrc configuration file.
The lircrc maps the keynames defined in lircd.conf (example: poweroff) to an application specific function (example: exit application). Make sure that the key names in lircrc should correspond with the same button names in lircd.conf.


APPS AND THEIR lircrc CONFIGURATION
  • mythTV = /home/user/.mythtv/lircrc
  • xine = /home/user/.xine/lircrc (TODO: check if this is correct)
  • mplayer = /home/user/lircrc


Information.png Tip: Instead of creating an individual lircrc file for each application, you can create one master file and put symbolic links to this in the appropriate places. The command for creating a lircrc file in your /home/userid/.mythtv directory, symbolically linked to lircrc in your home directory, follows:

ln -s ~/.mythtv/lircrc ~/lircrc


NOTE

The LIRC deamon (lircd) is not started automatically by default after a reboot.

As root start 'yast2 runlevel', select lircd and make sure it's started at boot time.

The lirc deamon does not start without a configuration file. Please make sure your create the configuration file before you start lircd.


CONFIGURATION TIPS
  • Copy/rename the file to /etc/lirc.conf.
  • Start /etc/init.d/lirc deamon and try irw, irxevent, mode2
  • TODO: howto get a sample ~/.mythtv/lircrc - google for a lircrc for your remote - try the mythtv remote control wiki pages
  • there can be only one, make sure you have 1 lircrc file for mythtv. Create links to it.
  • the ~/.mythtv directory is user specific and created in the users home directory when he starts mythfrontend for the first time and ask for an ip address of the backend. If you don't have a ~/.mythtv directory, start mythfrontend first. The directory is hidden, try ls -al.


example: /etc/lircd.conf

Play      0x00007be9


The lircrc is application specific, here your define that the 'Play' key is the same as function 'P' (P is by default Play in mythfrontend)

example: ~/.mythtv/lircrc

begin
    prog   = mythtv
    button = Play
    config = P
end


ADDITIONAL INFORMATION

Webpage.png - Official LIRC page

Wikipage.png - LIRC mythTV wiki page


DEVICE SPECIFIC

Wikipage.png - ATI Remote Wonder mythTV wiki page

Wikipage.png - iMON mythTV wiki page

Wikipage.png - Logitech Harmony 880 mythTV wiki page

Wikipage.png - Microsoft MCE Remote mythTV wiki page

Wikipage.png - more Remote Control mythTV wiki page


Graphic Drivers

SuSE 11.3 has introduced significant changes to the way graphics cards and screen resolutions are handled. You almost certainly will hit problems installing proprietary graphics drivers, which are easy to over come, once you understand what has changed.

Linux and XWindow has moved to a more automated way of detecting displays and monitors. This new method is called Kernel Mode Settings(KMS), The Kernel is now responsible for detecting screen resolutions on boot up, X configurations that were in /etc/X11/xorg.conf are now no longer needed (but can be used). If you get a blank screen, or wrong resolutions then this is what you are seeing.

11.3 has the open source Nouveu driver as standard for Nvidia based systems. See SDB Hardware to see if there may be a better driver for your graphic card. If you have trouble, view Configuring Graphic Cards.

Web frontend (mythweb)

MythWebList.png
MythWeb provides a frontend for scheduling and managing recordings on your mythTV system from a web browser located on another machine. In OpenSuSE, start YaST and goto the HTTP server menu (commandline: yast2 http-server)

follow the menu's by next,next,next,next and click the HTTP Server Expert Configuration, here you see a tab with 'Server Modules'

The Rewrite module is disabled by default - Enable this option

The Env module is disabled by default - Enable this option


Securing mythweb

If you plan to open your mythweb to the internet, you should seriously consider securing it. That and more information can be found here. Follow the section specifically for openSUSE here


Security Example for mythweb

To secure your Mythweb you can configure the access to it. For example you can set up 'limit access'. It will ask you for an username and password if you try to access the mythweb page. It's very simple:

First make a file where you store the username and password for a user.

htpasswd2 -c /etc/apache2/htpasswd <username>

Type in a password (2x)

Then just add the lines below in your http.conf or default-server.conf

<Directory "/srv/www/htdocs/mythweb">
 AuthType Basic
 AuthName "Mythweb Login"
 AuthUserFile /etc/apache2/htpasswd
 Require user <username>
</Directory>

Restart apache

rcapache2 restart

If you now access the Mythweb (http://ip number/mythweb/) it will ask you for an username and password.


Information.png Tip: You can access your MythWeb remotely if you know your IP address. However, if you are a DHCP client, your IP will probably change. To resolve the issue of having an IP address that is constantly changing, you can sign up for an account with a dynamic DNS site (such as http://www.yi.org) and create a unique unchanging hostname that can be forwarded to your IP address - even if it changes.

Tips and tricks

Using Firefox as integrated Mythbrowser

In Opensuse 11 just changing the configuration setting in Mythbrowser to /usr/lib/firefox does not work any more. To make it work create a firefox.sh file in the Mythtv home directory i.e. /home/mythtv/firefox.sh

The script should contain something like:

#!/bin/sh
shift #shift down the arguments that were passed so we can access the url
shift
/usr/bin/firefox $9 --fullscreen  #what was argument 11 (the url) becomes 9
echo $* #show all the passed arguments

Make the file executable

chmod +x /home/mythtv/firefox.sh

To finalize change the default browser Utilites/Setup->Setup->Info Center Settings->Web Settings->browser box. to /home/mythtv/firefox.sh


See Also