Opensuse 10.3

From MythTV Official Wiki
Revision as of 20:39, 12 March 2011 by Wagnerrp (Talk | contribs)

Jump to: navigation, search
Other openSUSE version

Contents

Introduction

Myth suse.jpg

SUSE Linux, one of the oldest Linux distributions, was originally developed by a German company. SuSE is an acronym in the German language for “Software und System-Entwicklung” which translates as software and system development.

The openSUSE project is a community program sponsored by Novell. With the launch of the openSUSE project, openSUSE is now developed in an open model—public development builds, releases, and sources will be posted frequently and users will have access to the Bugzilla database for defect reporting.

Functional diagram.png

For rich, reliable and secure home computing like mythTV, there's no better choice than openSUSE 10.3. It features an easy-to-install Linux operating system that includes most of the required mythTV components standard in the box. While the official mythTV documentation attempts to be as distribution-agnostic as possible, this document is geared specifically toward building a mythTV system on the openSUSE 10.3 Linux distribution.

openSUSE 10.3, in combination with the PackMan (thanks Herbert Graeber for building the rpm's) repository, provides you with an easy installation and all the latest packages of the mythTV rpms, ivtv, lirc, xmltv, php, mysql, mplayer, xine and many more that are necessary for a fully functional mythTV box.

Webpage.png - openSUSE 10.3 official documentation

Webpage.png - System requirements for openSUSE 10.3

Webpage.png - All packages included in openSUSE 10.3

Wikipage.png - mythTV Executive_Overview mythTV wiki page

While mythTV can take quite some time to install, the result will be a fast box that can do nearly anything to entertain. Furthermore, the system is incredibly reliable, and if you leave it on, you can expect runtimes that last for years with little to no maintenance to be done (aside from updates if desired). We've also experienced that the WAF (Wife Acceptance Factor) for mythTV is enormous. As soon as you start playing with it, you need a second box because it becomes the most mission critical system in your house. I hope this document will help you in your quest for your ultimate mythbox. Remember this: "MythTV can be a time machine; hours can disappear for no reason at all."


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

ABOUT openSUSE 10.3

Here are some of the highlights of openSUSE 10.3 in relation to mythTV:

  • Improved boot time and shutdown
  • New one click install for third party add-on packages like LCDProc
  • Linux kernel 2.6.22.5
  • ivtv and ivtv_firmware 0.10.3
  • lirc 8.2-14
  • mysql 5.0.45


The openSUSE community creates, edits, and refines comprehensive documentation in the form of a wiki.


A lot of articles, howtos and guides are available, including:

the Support Database (SDB): solutions to problems with openSUSE, as well as more detailed explanations of certain topics

the Hardware Compatibility List (HCL): compatibility of various hardware and full systems with openSUSE


Novell also provides official documentation for the openSUSE distribution.



Partitions and File Systems

openSUSE ships with a number of different file systems, including ReiserFS, Ext2, Ext3 and XFS, from which to choose at installation time. 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.


Earlier versions of openSUSE used ReiserFS as the default filesystem. From openSUSE 10.3 and on, ext3 is the default file system.


RECOMMENDATIONS

Use ext3 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.


ADDITIONAL INFORMATION

Wikipage.png - File Systems mythTV wiki page

Webpage.png - SLES10 documentation about file systems


Configure openSUSE 10.3

Understand your hardware with the following commands:

lspci -v and lsusb and hwinfo


Add the required software repositories

Make sure that the standard openSUSE 10.3 software repositories are configured: If you don't have a dual layer DVD set with the complete OSS and NON-OSS packages on their, the package manager relies on the software repositories on the internet. I suggest you point to the online repositories (tobe sure) and so you don't need you CD/DVD anymore.

Start YaST and look at your software repositories. You can remove/disable the CD/DVD media and make sure you have the following repositories:

Warning.png Warning: Make sure the standard openSUSE 10.3 repositories are setup correct before you start installing the software.

Check 'Software Repositories' in YaST


openSUSE 10.3 Main Repository (NON-OSS)

protocol: HTTP

server: download.opensuse.org

directory: /distribution/10.3/repo/non-oss/

To add the repo using the commandline:

sudo zypper ar http://download.opensuse.org/distribution/10.3/repo/non-oss/ "openSUSE 10.3 Main Repository (NON-OSS)"
sudo zypper mr --disable-autorefresh "openSUSE 10.3 Main Repository (NON-OSS)"


openSUSE 10.3 Main Repository (OSS)

protocol: HTTP

server: download.opensuse.org

directory: /repositories/openSUSE:10.3/standard/

To add the repo using the commandline:

sudo zypper ar http://download.opensuse.org/repositories/openSUSE:10.3/standard/ "openSUSE 10.3 Main Repository (OSS)"
sudo zypper mr --disable-autorefresh "openSUSE 10.3 Main Repository (OSS)"


openSUSE 10.3 Update Respository

(this will be automatically added/configured when you select 'Online Update Configuration' in YaST.


If you added the new repos from the commandline and 'disabled the autorefresh', you need to fill the cache once

To update the repositories from the commandline, and update the local cache:

sudo zypper ref


Information.png Tip: For you information

1. You need todo the Online Update Configuration in YaST in order to get your Update Repository

2. The content in the main software repositories does not change. Disable the Automatically Refresh for these repositories will increase performance.

Install the required packages

Support for some multimedia formats cannot be included on the openSUSE CDs because they're proprietary, patented, Restricted Formats. Some of these include MP3, MPEG-4(w32codec-all), playing of Encrypted DVDs (libdvdcss), etc. In many cases you can use free formats instead. You can read more about this here


INSTALL, THE EASY WAY
Easy (1 of 3)
   
Opensuse_10.3
Install Restricted Multimedia Formats for KDE user
   
Opensuse_10.3
Install Restricted Multimedia Formats for GNOME user


Easy (2 of 3)

Package.png Install the prerequisite packages with zypper by copying and pasting the following into a terminal (as root)

sudo zypper in alsa audit-libs dvb flac gcc ivtv ivtv-firmware kernel-source libao libdvdread3
sudo zypper in libid3tag lirc mjpegtools mysql php5 python xine-ui xmms fame libcdaudio libfame1 lame MPlayer
sudo zypper in phpMyAdmin pvm transcode xvid apache2 yast2-http-server apache2-mod_php5

Make sure you install all packages (3 lines) If you receive and error, ignore it or update the package list on this page. I can not do everything here ;-)


Easy (3 of 3)
   
Opensuse_10.3
Install mythTV from packman


INSTALL, THE HARD WAY

Packman offers various additional packages for openSUSE. To add this repository, see the openSUSE Community website.

The following command will add the packman repository:

sudo rpm --import http://packman.unixheads.com/suse/10.3/gpg-pubkey-1abd1afb.asc
sudo zypper ar http://packman.iu-bremen.de/suse/10.3/ packman

Packman mirrors for openSUSE 10.3 - Australia Belgium Germany Germany Germany Germany Romania USA USA The following packages are prerequisites to the mythTV packages. Verify that they are either installed or install them through YaST --> Software --> Software Management or use zypper to install at the command line.


The bolded packages are available on the openSUSE 10.3 installation media and can be selected during the OS installation, or can be installed now if your OS is already running. The non-bolded requirements need to be retrieved from another YaST installation source such as the Packman Repository.

  • alsa, audit-libs, dvb, flac, gcc, ivtv, ivtv-firmware, kernel-source, libao, libdvdread3, libid3tag, lirc
  • mjpegtools, mysql, php5, python, xine-ui, xmms, apache2, yast2-http-server, fame, libcdaudio, libfame1, lame, MPlayer,
  • phpMyAdmin, pvm, transcode, w32codec-all, xvid, libxine1


Package.png You can install the prerequisite packages with zypper by copying and pasting the following into a terminal

sudo zypper install alsa audit-libs dvb flac gcc ivtv ivtv-firmware kernel-source libao libdvdread3
libid3tag libxine1 lirc mjpegtools mysql php5 python xine-ui xmms fame libcdaudio libfame1 lame MPlayer
phpMyAdmin pvm transcode w32codec-all xvid apache2 yast2-http-server apache2-mod_php5

NOTE
  • Make sure you install all packages (3 lines)
  • Please update the list if you notice it is not correct


INSTALL, THE HARD WAY - mythTV packages

These are the base mythTV packages that need to be installed.

  • libmyth, mythtv-backend, mythtv-frontend, mythtv-setup, mythtv-themes, mythtv-doc


Package.png You can install the mythTV base packages with zypper by copying and pasting the following into a terminal

sudo zypper install libmyth mythtv-backend mythtv-frontend mythtv-setup mythtv-themes mythtv-doc

INSTALL, THE HARD WAY - mythTV plug-ins

These are plug-ins that are written for mythTV. You can install any you find of interest. If you are unsure of which you want, you can choose to install them all.

  • mytharchive, mythbrowser, mythcontrols, mythdvd, mythflix, mythgallery, mythgame, mythmusic,
  • mythnews, mythphone, mythplugins, mythplugins-debuginfo, mythvideo, mythweb


Package.png You can install all the mythTV plug-ins with zypper by copying and pasting the following into a terminal

sudo zypper install mytharchive mythbrowser mythcontrols mythdvd mythflix mythgallery mythgame
mythmusic mythnews mythphone mythvideo mythweb

Currently there is no mythweather mythTV plugin on the Packman repository.


INSTALL, IF YOU MISS PACKAGES - The following links are your friends

Webpage.png - Get Software from the openSUSE Build Service

Webpage.png - Search with webpin



Adding a mythtv user

Create a mythtv user that you are gonna use to run the software.

sudo useradd mythtv -mG users,video,audio,cdrom
sudo passwd mythtv
AUTOLOGIN FOR THE USER

YaST - user management - expert options - login settings - check autlogin


openSUSE 10.3 Manual - Managing users with YaST

Synchronize your system clock (NTP)

Time.png

To get the correct start and stop times for programming, it's very important to setup NTP (Network Time Protocol). NTP is a protocol designed to synchronize the clocks of computers over a network.


1. Configure the NTP Client

YaST -> Network Services -> NTP Configuration

2. Ignore the warning when selecting Automatically start, there is no significant delay.

NTP daemon -> During Boot -> Check "Use Random Servers from pool.ntp.org"
Click Advanced Configuration -> Security Settings -> Check "Open Port in Firewall" -> Finish


Alternative Way: Since the npt daemon may confuse nvram-wakeup which you may want to use for automated wakeup it is sufficient to let a Custom init Script execute during the boot process, e. g. for machines in germany:

 # ntpdate de.pool.ntp.org

Everyone else chooses the appropriate server from [1].

Audio setup

Audio.png

Most sound cards are automatically recognized by openSUSE and do not need any specific configuration. Most of the time, everything is auto detected during the installation and usually just works.


ADDITIONAL INFORMATION

Wikipage.png - Configuring Digital Sound with AC3 and SPDIF mythTV wiki page

Remote Control (LIRC)

Warning.png Warning: The version of the lirc-kernel module that ships with openSUSE 10.3 (lirc 0.8.2) does not work with the WinTV PVR150. An openSUSE 10.3 package compiled from the most recent lirc CVS snapshot (lirc-0.8.3pre1 13-Oct-2007) is available here which fixes this problem. Download it then install with

rpm -hUv lirc-kmp-default-0.8.3_2.6.22.13_0.3-pre1.i586.rpm
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 10.3 ships with LIRC 0.8.2. 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 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 irxevent and 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.


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'. The word 'default' in the below example means a default kernel (in most cases the only other possibility is 'bigsmp').

# uname -r
2.6.22.13-0.3-default

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 - 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

Integrated LCD or VFD panel (LCDProc)

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. LCDproc is a small piece of software that displays real-time system information from your Linux box on a LCD/VFD.


STEPS
  • Install LCDproc and configure your device
LCDproc is not part of the openSUSE 10.3 distribution, but a rpm is available:

Download.png - download LCDproc rpm from opensuse.org

or

   
Opensuse_10.3
LCDproc for openSUSE 10.3
  • 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.


TROUBLESHOOT/CONFIGURATION TIPS

Here are some tips that can help you find the best information to configure your hardware specific device information.


Check (and update) the hardware specific section on the mythTV wiki

Wikipage.png - LCDproc mythTV wiki page

Wikipage.png - iMON (Silverstone, Cooler Master) mythTV wiki page

Wikipage.png - Futaba (MSI Media Live, Hiper HMC-2K53A) mythTV wiki page


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


List-add.png Todo: Don't think LCDproc comes with a startup/init script. Please describe howto create a init script from the skeleton for the newbies


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.


ADDITIONAL INFORMATION

Wikipage.png - LCDproc mythTV wiki page

Wikipage.png - IMON (Silverstone Technology, Cooler Master, Thermaltake Technology, Zalman Tech, 3R System) mythTV wiki page

Wikipage.png - Futaba (MSI Media Live, Hiper HMC-2K53A) mythTV wiki page

Wikipage.png - mythlcdserver mythTV wiki page

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.


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.


ADDITIONAL INFORMATION

Webpage.png - a complete list of supported hardware by IVTV

Wikipage.png - capture card matrix on the mythTV wiki page mythTV wiki page

Webpage.png - ivtv wiki, primary resource

Webpage.png - 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.png - ivtv, located on 10.3 media OSS

Download.png - ivt_firmware, located on 10.3 media NON_OSS

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.


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

Digital Video capture card (TV-in)

..

Configuration Tips

TROUBLESHOOT/CONFIGURATION TIPS


List-add.png Todo: generic tips for DVB users. What needs tobe checked when working with DVB, where are files stored. See the analogue section for inspiration

"Unable to query frontend status"

check: http://www.suseforums.net/index.php?showtopic=40881&hl=

Firewire

A firewire connection to your settopbox


List-add.png Todo: The standard used to connect FireWire to your computer is IEEE 1394, IEC 1883. All the libraw1394, libavc1394, libiec61883 are included in openSUSE.


What I suggest you check before you start:

1.) What Firewire interface does your PC have. Is it supported, see http://www.linux1394.org

2.) What brand is your settopbox Search on the mailinglist archive on the word in combination with firewire. http://www.gossamer-threads.com/lists/mythtv/users/

3.) Subscribe to the mailinglist and ask if people have experience with the combination (your brand cablebox and your brand firewire interface in the machine)

Please put your info here

Connect your system to a TV

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).

.

HDMI digital
DVI digital
VGA analog
Component analog
S-Video analog
Composite analog

.



ATI/AMD

Install the ATI driver with 1-Click Install
   
Opensuse_10.3
ATI driver from the opensuse-community


Manual download and install the driver

Download.png - Download the latest driver from ATI


ADDITIONAL INFORMATION

Wikipage.png - AtiProprietaryDriver mythTV wiki page

Webpage.png - openSUSE AMD/ATI page

NVIDIA

Install the NVIDIA driver with 1-Click Install
   
Opensuse_10.3
If you have a new NVIDIA cards
   
Opensuse_10.3
If you have a legacy NVIDIA cards

List of Legacy NVIDIA cards


Manual download and install the driver

Download.png - Download the latest driver from NVIDIA


ADDITIONAL INFORMATION

Wikipage.png - NVidiaProprietaryDriver mythTV wiki page

Webpage.png - openSUSE NVIDIA page

Wireless Keyboard

BTC9019URF.jpg

Once your Myth box has been setup you won't need to use your keyboard that much. Many users will often just SSH into their machine or use a remote desktop such as VNC to get access. Of course it's also nice to have a keyboard directly connected, in which case a wireless keyboard is preferred. Have a look at the section on Wireless Keyboards to see which ones work.

Network Interfaces

The main reason you will connect your mythTV box to the internet is because MythTV gets its program guide data over the Internet. If you don't happen to have ethernet cables around your house, you could use wireless (WiFi).


To configure your network wired or wireless card in YaST, select Network Devices>Network Card. After starting the module, YaST displays a general network configuration dialog. Choose whether to use YaST or NetworkManager to manage all your network devices. If you want to configure your network in the traditional way with the YaST, check Traditional Method with ifup and click Next. To use NetworkManager, check User Controlled with NetworkManager and click Next.

For wireless support openSUSE ships ndiswrapper, madwifi and iwlwifi


openSUSE 10.3 Documentation - wireless LAN


TIPS FOR INSTALLATION

The chipset is what determines which driver you need, not the manufacturer of the card. Here are a number of ways to find out. All the commands should be run as root.

Try this.

hwinfo --wlan

Otherwise use this command if you have a pcmcia card or an onboard card:

lspci

Or this if you have a usb card:

lsusb

This won't output very detailed information, but it'll give you a unique hardware ID, for example 046d:c01b. Search for it with Google or another internet search engine to find out which chipset is on the device.


ADDITIONAL INFORMATION

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

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: On openSUSE, you can manually add things to /etc/init.d/boot.local, that should happen directly after booting

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.

openSUSE 10.3 ships with mysql 5.0.45 (A True Multiuser, Multithreaded SQL Database Server)


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/share/doc/packages/mythtv-doc/database/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;

MythTV backend setup application (mythtv-setup)

mythtv-setup

Wikipage.png - User Manual mythTV wiki page




.


List-add.png Todo: a few notes, important things ?


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.

Add TV listings to your system (XMLTV)

The most difficult part of installing/configuring MythTV is getting the data, name and frequency of all the channels in the database. Since there must be more MythTV users in your area, chances are that someone already did this. So check the country specific information and with some luck you can import a setup file to your database.

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.

   
Opensuse_10.3
Install XMLTV from pacman

For most European countries you need XMLTV and the grabbers.


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 Netherlands, North America, UK, more


Information.png Tip: 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.

Different countries and providers have different ways of configuring XMLTV.

Wikipage.png - XMLTV mythTV wiki page

to see specifics for your country about XMLTV and the EPG:


TROUBLESHOOT/CONFIGURATION TIPS
What 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.


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"  ';


List-add.png Todo: generic tips (not country specific) about home/.xmltv and home/.mythtv, the mythfilldatabase process etc,

TV Channels and XMLTV ID

add some links to the important sections on this wiki


ADDITIONAL INFORMATION

Wikipage.png - Frontend_Channel_Editor mythTV wiki page

Shutdown and wakeup the machine

Most mythTV systems do not need to run 24 by 7. To reduce heat, noise and power consumption there are several ways to shut your machine down when it's not doing anything.

Your options:

  • Manual shutdown and start your machine


  • AC time switch and a script

A simple AC power switch, that you can purchase for a few euros can do magic. Configure a cronjob that shutdown your machine at midnight and set the a AC power switch to start the machine the next day.


  • Wake on LAN

Most machines with a build-in Network Interface Card (NIC) can wake up and startup by a simple IP package. Wake on LAN is controlled by another machine in your network that determines when your machines should startup.


  • Wake by BIOS

More or less any modern machine should have a function for time-controlled booting in the bios. The problem is how to change the wakeup time for time-controlled power up your mythTV box. There are two ways to this on Linux.

a.) NVRAM - direct poking in the BIOS memory and not recommended


b.) ACPI - a much better and standard way to switch on a computer a a preset time. Your BIOS and motherboard need good support in the kernel.

The Real Time Clock (RTC) alarm must generate a hardware wake event when in the sleeping state. The RTC can be programmed to generate an alarm. An enabled RTC alarm can be used to generate a wake event when the system is in a sleeping state.

  • ACPI S3, sleep mode 3, also referred to as suspend-to-ram. This is a state of very low power consumption, where most of the hardware is switched off, and only a little energy is used to keep the memory alive during sleep.
  • ACPI S4, also referred to as suspend-to-disk. This is a state where no power is consumed. An image of the memory is written to disk, then the hardware is switched off. Booting the system will read the image back and restore all running programs.

Warning.png Warning: Beginning with kernel 2.6.22, the user-space interface is changed from /proc/acpi/alarm to /sys/class/rtc/rtc0/wakealarm. Looks like this the ACPI Alarm function is currently not working in openSUSE 10.3. Please see the user Experiences.


User Experiences

MIB.42,November 2007 - Novell admitted it that this is not working in 10.3, but will be in 11.0. The only solution for now is to recompile the kernel with all RTC=n. This way /proc/acpi/alarm is back and working. Details are here on the problem : https://bugzilla.novell.com/show_bug.cgi?id=287539


Moosylog, November 2007 - Alternatively, you could track the HEAD kernel by adding this repository: http://download.opensuse.org/repositories/Kernel:/HEAD/openSUSE_Factory/ Did anyone try this? Please add your experience here.


ADDITIONAL INFORMATION

Wikipage.png - ACPI mythTV wiki page

Wikipage.png - Shudown & Wakeup mythTV wiki page

Webpage.png - www.mythtv.org/docs/mythtv-HOWTO-11.html#ss11.5

Wikipage.png - Software_Suspend mythTV wiki page

Enable web based database administration (phpMyAdmin)

phpMyAdmin is a tool written in PHP intended to handle the administration of MySQL over the Web.

   
Opensuse_10.3
phpMyAdmin
Verify that all required packages are installed

Required packages:

sudo zypper in yast2-http-server apache2 apache2-mod_php5 phpMyAdmin

You can quickly check if the package is already installed with the following command

rpm -qa | grep phpMyAdmin


Activate the Rewrite 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. 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

phpMyAdmin is installed in /srv/www/htdocs/phpMyAdmin


Configure phpMyAdmin's authentication mechanism
cd /srv/www/htdocs/phpMyAdmin
cp config.sample.inc.php config.inc.php 
pico config.inc.php

look for


This is needed for cookie based authentication to encrypt password in cookie
$cfg['blowfish_secret'] = 'mythtv'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */


and set the password

Or if you want to remove the password


Authentication type 
$cfg['Servers'][$i]['auth_type'] = 'cookie';


Change cookie to html

or set the password in the top of the file


Now start apache2 webserver, YaST or /etc/init.d/apache2 start


Now you can start phpMyAdmin from your browser and login with your user username and password: http://ipaddress/phpMyAdmin/


List-add.png Todo: We need to say anything about security and howto make this secure when using it outside the firewall, please add


.

Enable web based client (apache, mythweb)

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


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'

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 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.

Access the filesystem from Windows

Sharing Files between Linux and Windows with Samba

Samba is the first choice for transferring files between Windows and Linux machines. These are the most common use cases for Samba:

see the openSUSE Samba documentation

Use and configure mythTV clients (frontends)

Wikipage.png - User_Manual:Detailed_configuration_Frontend mythTV wiki page


Watch and record TV (mythfrontend)

Wikipage.png - User_Manual:Daily_Use mythTV wiki page

Don't think you need a manual for this


.

Schedule a recording remotely over the internet (mythweb)

MythWebList.png
Configuration

Please see enable web based client in this article


Using

.......



.

View your photos (mythGallery)

GalleryPics.jpg

MythTV allows you to view all your photos as well as short movies from your digital camera. Myth Gallery will show your photos as they are organised in your file system. Myth will generate thumbnails of both folders as well as individual photos. Many new digital cameras can now take high quality movies typically in MPEG-4 format as well as photos. Mythgallery can show these as well, provided that you have the video player setting set up to play that media type.


Configure mythgallery

Configuration is done from the MythFrontend in the setup menu.


Download pictures from your digital camera

When import is pressed in the menu, files can be automatically be copied from your camera to the mythTV filesystem. This works if your camera is automounted as a filesystem. Camera's that are not accessible as a filesystem can use the gphoto2 utility to get the pictures of the camera.

Sample script used for a Canon IXUS Camera:

Script.png getpics.sh

# The name of the new directory, eg 2005-09-15.11:30
dir=`date +'%F.%R'`

# Make the new directory in my picture directory
mkdir /data/pictures/$dir

# Go into the new directory
cd /data/pictures/$dir

# Copy pictures from the camera to the current directory
gphoto2 -P

cd ..
# Remove empty directories
rmdir 200*

# Remove the pictures from the camera
# gphoto2 -D -R


ADDITIONAL INFORMATION

Wikipage.png - MythGallery mythTV wiki page

Webpage.png - www.gphoto.org

Webpage.png - www.mythtv.org/docs/mythtv-HOWTO-15.html#ss15.3


.

Enjoy your videos (mythVideo)

VideoBrowseview.jpg
  • Organize and play stored video content other than TV recordings. This can include ripped DVD's and downloaded video clips
  • Integrate with your digital video camera


MythVideo allows for cataloging and playback of a variety of video file formats. It can perform automatic meta data look ups on IMDB as well as retrieve poster artwork.

MythDVD - ripping DVDs


TROUBLESHOOT/CONFIGURATION TIPS


Players - MythTV has a build in player that can do most of the work. You can also use Mplayer, Xine or any other media player.


1.) MPlayer and subtitle fonts

If MPlayer does not display subtitles (srt files) or the font is to small. MPlayer can search in 2 directories for it's fonts for subtitles:

download the recommended subtitle fonts from

Prerendered fonts: http://www1.mplayerhq.hu/MPlayer/releases/fonts/font-arial-iso-8859-1.tar.bz2
Additional fonts: http://www1.mplayerhq.hu/MPlayer/releases/fonts/

There are 4 different size in the tar file. Select your preferred font size and save the files in: ~/.player/.font


2.) XINE and remote control

If your remote control does not work with XINE, check if remote controlled is enabled in the package.

ldd /usr/bin/xine|grep lirc

Solution: compile XINE from source with support for remote control



.

Listen to your music (mythMusic)

See the mythtv.org Documentation about MythMusic and MythMusic


.

Burning CDs/DVDs (mythArchive)

Mytharchive.jpg
Burn your recordings or other files to CD or DVD.


Make sure your user is member of the cdrom group





Wikipage.png - mythArchive on the mythTV wiki mythTV wiki page

Wikipage.png - Archiving_Recordings_to_DVD mythTV wiki page

Browse the web (mythBrowser)

List-add.png Todo: config external browser (firefox) and add some links to wiki pages

Wikipage.png - Firefox mythTV wiki page

Stay up to date with the latest news and weather information (mythNews/mythWeather)

Wikipage.png - The internal browser, see the MythBrowser mythTV wiki page

Wikipage.png - RSS newsfeeds mythTV wiki page

Wikipage.png - Weather info mythTV wiki page

Take it with you (mythArchive, ipodexport)

Transfer media to your portable players

Wikipage.png - convert it to your iPod mythTV wiki page


.

Watch and listen in other places in your house

Not only TV, but full access to all media from a second or third device in your house:

  • a second linux based frontend

Wikipage.png - a Microsoft Xbox mythTV wiki page

Wikipage.png - Sony Playstation 3 mythTV wiki page

Wikipage.png - a Microsoft Windows PC mythTV wiki page

Wikipage.png - a Mac running OS X mythTV wiki page

Wikipage.png - Integrate with UPnP AV devices mythTV wiki page

Wikipage.png - UPnPClientInfo mythTV wiki page



.

Play games (mythGame)

Wikipage.png - Configuring_MythGame_Emulation mythTV wiki page


List-add.png Todo: Links to emulators (openSUSE rpm's) (think only snes is availble in openSUSE 10.3?)


.

Tips and Tricks

Version 0.20 to 0.21 migration

Here are some notes I made during my migration from 0.20 to 0.21. Please add your notes here. (upgrade to 0.21, migrate to 0.21, update to 0.21)

If you have Packman configured as source for you mythTV packages, you can update mythTV from YaST (software management)

Before you start
  1. Backup your database
  2. Stop or kill all mythTV processes (mythbackend, mythfrontend, mythlcdserver, mythwelcome)


YaST gave me some dependency errors
  • Remove perlmyth and mythDVD before the update from YaST
  • After migration the existing mythTV packages, add the new 0.21 packages like mythmovie etc.

(mythdvd does not exist anymore in 0.21)

Start mythbackend
  • If you launch directly from the command-line you will be asked if you wish to upgrade the schema in your MySQL database. This needs to happen as part of the upgrade, so say yes. Since you made a backup before starting the upgrade process, recovery is a lot easier.
  • If you launch the service instead (rcmythbackend start) it will automatically upgrade your database schema. You can watch the log-files by issuing the following command:
rcmythbackend start ; tail -f /var/log/mythtv/mythbackend.log
Restart Apache if you didn't reboot
  • After installing the new packages and restarting mythbackend, restart apache (rcapache2 reload). This updates apache with the new MythWeb information. A reboot will also accomplish this.
mythweb errors?
  • mv /etc/apache2/conf.d/mythweb.conf /etc/apache2/conf.d/mythweb.old
  • cp /srv/www/htdocs/mythweb/mythweb.conf.apache /etc/apache2/conf.d/mythweb.conf
  • pico /etc/apache2/conf.d/mythweb.conf

Your directory on openSUSE is /srv/www/htdocs/mythweb so change that from /var/www/html/ where needed.

General troubleshooting

To display all output information:

 mythfrontend -v all


LOG FILES

A good first step when things aren't working right is to take a look at the log files. There are several that may help, depending on what problem you're having. Some logs can be displayed from the frontend, for others you'll need to either ssh into your box or open a terminal and cat the log so you can see it.

cat /var/log/mythtv/mythbackend.log
cat /var/log/syslog
cat /var/log/mysqld/mysqld.log


Changing your IP address

The IP address is stored on the following places:

In the database:

  • mythtv-setup
  • mythfrontend


On the filesystem:

  • /root/.mythtv/mysql.txt
  • /home/mythuser/.mythtv/mysql.txt

Install another theme

Skins or layouts are called themes in mythTV. To install a new theme, first goto a themes page and download a theme.

Wikipage.png - Themes mythTV wiki page

Extract the theme in the following directory:

  • /usr/share/mythtv/themes


You can select the theme in mythfrontend; goto setup options:

Utilities/Setup->Setup->Appearance->



Update your system

Be careful with YaST system updates and remember: "If it ain't broken, don't fix it" and "hours can disappear for no reason at all.". When you upgrade to a new kernel all components that are compiled (installed) manually can break and need to be re-compiled with the new kernel version.


List-add.png Todo: Missing: Howto update mythTV components using YaST, maybe with screenshot

.

Database maintenance

List-add.png Todo: backup, restore, fix, phpmyadmin. See this Opensuse_10.3#Enable_web_based_database_administration_.28phpmyadmin.29


Backup the mythTV database

Wikipage.png - Backup the mythTV database mythTV wiki page

Webpage.png - AutoMySQLBackup is a cool or let's say the ultimate backup script for your mythTV environment.


Restore the mythTV database

assuming that you've dropped the database

Wikipage.png - Restore your database backup mythTV wiki page

.

Fix the mythTV database

In the mythtv-contrib directory there is a Perl script to run MYSQL utilities Repair and Optimize on each table in your MythTV database. It is recomended to run it daily from a cron job.

First make sure it is executable:

chmod 755 /usr/share/doc/packages/mythtv-doc/contrib/optimize_mythdb.pl

Execute:

/usr/share/doc/packages/mythtv-doc/contrib/optimize_mythdb.pl

run with your daily cron jobs


List-add.png Todo: describe howto add to cron, sample for the newbie]]

Performance tips

Here are some tips to increase the speed of your machine:


DISABLE DOCUMENT INDEXING (BEAGLE)

The Beagle deamon indexes all new files on your file system. You don't want it on your mythTV system.

Disable Beagle by starting:

  • Control Center
  • Search Settings
  • Under General, disable 'Start search & indexing service automatically'


BOOT TIME

Reduce the time the (grub) bootmenu is displayed.

The YaST way:

  • Start YaST and select Boot loader
  • Select the Boot Loader Installation TAB
  • Click the Boot Loader Options
  • Change the Timeout in Seconds from the default 8 to 1


The Commandline way:

  • edit /boot/grub/menu.lst

(change the timeout to 1)


FREE UP MEMORY

1.) Don't load KDE or GNOME or other windows manager on your frontend, use mythfrontend At login, select session and select mythTV as your shell (session manager). gnome or kde is not started, this will save memory

The display manager can be set with the GUI at login or change it manually in /etc/sysconfig/displaymanager

DISPLAYMANAGER_AUTOLOGIN = "mythtv"


2.) disable services that you don't use

List-add.png Todo: describe services that can be disabled on the average mythTV box

mail server, beagled indexer, firewall, apparmore, gnome applets, Please add your text here.


DISK RELATED

1.) Use the correct file system


List-add.png Todo: Some text and maybe copy what's on the 10.2 page?


Wikipage.png - Optimizing_Performance mythTV wiki page

Auto start mythwelcome in gdm

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

Create rules that automatically record for you

Wikipage.png - Custom Recording mythTV wiki page

Sample scripts and script tips

Contributed scripts

mythTV comes with a set of user contributed scripts. They are located in the /usr/share/doc/packages/mythtv-doc/contrib directory.


Information.png Tip: The mythrename script renames your recodings and gives them more logical names. It also can create links (with a logical name) to the recordings.

I use this to create links to the mythVideo folder so I get all imdb info. and a movie cover. All movies that I record are saved in the 'Movies' recording group (create this group in mythfrontend)

./mythrename.pl  --link /data/temp --format  %U-%T %- %Y-%m-%d, %g-%i %A %- %S
mv /data/temp/Movie* /data/movies

When the recordings are deleted, the links are not deleted. The following command removes the broken links

find /data/movies -type l


Sample mysql query

List all recordings from a terminal. (assuming username=mythtv, password=mythtv)

mysql -umythtv -pmythtv mythconverg -e 'SELECT title, basename, starttime, commflagged FROM `recorded`  ';


Improve mythfilldatabase process

Sample script that checks the amount of EPG days stored in the DB before running mythfilldatabase. If the database is not updated after mythfilldatabase it will display a message on the frontend with mythtvosd.

SQL='SELECT TO_DAYS(max(endtime)) - TO_DAYS(now()) FROM program;'
EPG_DB_DAYS=`mysql -uuser -ppassword --skip-column-names -B -D mythconverg --execute "$SQL"`
if [ $EPG_DB_DAYS -lt 8 ];
then
  mythfilldatabase   # fill the EPG because < 8 days of EPG data are stored in the database
  EPG_DB_DAYS=`mysql -uuser -ppassword --skip-column-names -B -D mythconverg --execute "$SQL"`
  if [ $EPG_DB_DAYS -lt 8 ];
  then
    # There is something wrong so we display a message on the frontend with mythvosd
    mythtvosd --template=scroller --scroll_text="`echo Possible problem with EPG - $EPG_DB_DAYS`"
  fi
else
  # everything is ok
  echo "Everything is OK, there are $EPG_DB_DAYS days of EPG data in the database."
fi


Check if my video or audio devices are used

I use the following script to see if my machine is idle (not recording and not using audio device). The script return an errorlevel 0 when idle.

Script.png chk_state
#! /bin/sh
# description: check status of my sound and video device

state=0


# *************************************************************************************
# *   CHECK IF THE AUDIO DEVICE IS USED                                               *
# *************************************************************************************
#
fuser /dev/dsp >/dev/null 2>&1 &&  state=$[ $state + 1 ]

# *************************************************************************************
# *   CHECK IF THE FIRST TUNER ON THE PVR500 IS USED                                  *
# *************************************************************************************
#
fuser /dev/video0 >/dev/null 2>&1 &&  state=$[ $state + 1 ]

# *************************************************************************************
# *   CHECK IF THE SECOND TUNER ON THE PVR500 IS USED                                 *
# *************************************************************************************
#
fuser /dev/video1 >/dev/null 2>&1 &&  state=$[ $state + 1 ]



# *************************************************************************************
# *   RETURN ERRORLEVEL 0 WHEN DEVICES ARE IDLE                                       *
# *************************************************************************************
#
if [ $state = 0 ]; then
  echo "Idle"
  exit 0
else
  echo "Video or Audio is in use"
  exit 1
fi

User Experiences

Moosy Started this page in aug 2007 working with Beta 2, used the packman packages.