Difference between revisions of "Opensuse 10.2"

From MythTV Official Wiki
Jump to: navigation, search
(Initial System Setup: moved Hacking 10.2 into Initial setup)
(IVTV, the analogue TV card: added config example for PVR150)
Line 193: Line 193:
  
 
General mythTV info about this card can be found at http://www.mythtv.org/wiki/index.php/Hauppauge_PVR-150
 
General mythTV info about this card can be found at http://www.mythtv.org/wiki/index.php/Hauppauge_PVR-150
 +
 +
 +
====Sample Config for a PVR-150====
 +
 +
To check and see if ivtv started when you reboot your machine and/or kernel modules are loaded, issue this command:
 +
dmesg | grep "video"
 +
 +
The output should look something like this with a PVR150:
 +
ivtv:  ==================== START INIT IVTV ====================
 +
ivtv:  version 0.8.0 (tagged release) loading
 +
ivtv:  Linux version: 2.6.18.8-0.1-default SMP mod_unload 586 REGPARM 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)
 +
tveeprom 1-0050: Hauppauge model 26032, rev G1B2, serial# 9812051
 +
tveeprom 1-0050: tuner model is TCL M2523_5N_E (idx 112, type 50)
 +
tveeprom 1-0050: TV standards NTSC(M) (eeprom 0x08)
 +
tveeprom 1-0050: audio processor is CX25841 (idx 35)
 +
tveeprom 1-0050: decoder processor is CX25841 (idx 28)
 +
tveeprom 1-0050: has no radio, has IR remote
 +
tuner 1-0061: chip found @ 0xc2 (ivtv i2c driver #0)
 +
cx25840 1-0044: cx25841-23 found @ 0x88 (ivtv i2c driver #0)
 +
cx25840 1-0044: loaded v4l-cx25840.fw firmware (16382 bytes)
 +
wm8775 1-001b: chip found @ 0x36 (ivtv i2c driver #0)
 +
ivtv0: Encoder revision: 0x02050032
 +
ivtv0: Registered device video0 for encoder MPEG
 +
ivtv0: Registered device video32 for encoder YUV
 +
ivtv0: Registered device vbi0 for encoder VBI
 +
ivtv0: Registered device video24 for encoder PCM audio
 +
tuner 1-0061: type set to 50 (TCL 2002N)
 +
ivtv0: Initialized Hauppauge WinTV PVR-150, card #0
 +
ivtv:  ====================  END INIT IVTV  ====================
 +
 +
 +
If it is different, run 'dmesg | grep ivtv' to look for error messages in initializing the card with the firmware.
 +
  
 
===Hauppauge WinTV PVR-500===
 
===Hauppauge WinTV PVR-500===

Revision as of 23:36, 15 March 2007

openSUSE 10.2

Myth suse.jpg



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 here and you will have access to our Bugzilla database for defect reporting.


When you start writing about mythTV and/or openSUSE, please:

mythTV; lowercase myth; uppercase TV

openSUSE; lowercase open; uppercase SUSE



Introduction

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.

For rich, reliable and secure home computing like mythTV, there's no better choice than openSUSE10.2. 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.2 Linux distribution. Moosy rocks blog is a platform for openSUSE and SLED-releated news that had a mythTV corner. We decided in January 2007 to move our content to the mythTV wiki and create this wikipage.

openSUSE 10.2, in combination with the PacMan (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.


openSUSE 10.2 official documentation

System requirements for openSUSE 10.2

All packages included in openSUSE 10.2


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.

Initial System Setup

Installing mythTV all starts with good hardware. The first requirement is a machine capable of running openSUSE 10.2 x86 or x86-64 (Linux kernel 2.6.18.2) 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.


Get your hands on an openSUSE 10.2 DVD or CD set. It can be downloaded from the opensuse download site. If you are doing a fresh install, to save some time, you can pre-install some of the package requirements listed in the package section come on the CD/DVD and could be installed with the rest of the OS.

openSUSE 10.2 uses ext3 as the default filesystem (earlier SUSE Linux versions use ReiserFS). I suggest you use ext3 as your default file system. If you want to use something other than ext3 for your /video partition, I suggest XFS because it can handle large files very well.

A good article for you to start in setting up your openSUSE system is Hacking openSUSE 10.2.

NTP - Network Time Protocol

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

Time.png



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

3. Add servers per recommendation at http://www.pool.ntp.org/use.html

4. Ensure NTP is set to start at boot time. It should say "Yes" beside "ntp"

System -> System Services (Runlevel) -> ntp

There is more info on NTP at http://www.pool.ntp.org

YaST Sources, get the packages

Add the following External YaST Repository to your Installation Sources.

yast --> Software --> Installation Source --> Add

There, first select HTTP for the protocol and on the next page, enter the server and the directory as listed below.

Add pacman as an installation source. If this source is misspelled, you will be waiting forever for it to time out. Be sure to double check your spelling before pressing "Accept".

Protocol - HTTP
Server name - packman.iu-bremen.de
Directories - /suse/10.2

General openSUSE 10.2 installation sources can be found at the openSUSE website.

To add pacman from the commandline and the openSUSE 10.2 online source:

rug service-add http://packman.iu-bremen.de/suse/10.2 --type=ZYPP "Packman"
rug service-add http://download.opensuse.org/distribution/10.2/repo/non-oss/ --type=ZYPP "openSUSE-10.2-non-oss"
rug service-add http://download.opensuse.org/distribution/10.2/repo/oss/ --type=ZYPP "openSUSE-10.2"
Package.png



This is an Installation Source that contains the packages required in the next section. Use YaST to search for all of the packages listed below. Packages could also be installed from the commandline:

sudo /sbin/yast -i mythtv mythtv-frontend mythtv-backend mythtv-setup mysql ivtv ivtv-kmp-default mplayer libxine1


NOTE: Another good way to perform installations is with SMART. Some have found it to be much better at package management. For instructions on setting up SMART for openSUSE 10.2 (which comes with the pacman repositories by default), visit the SMART page of the SUSE wiki.


Package.png


mythTV and plugin dependencies

The following packages are prerequisites to the mythtv packages. Verify that they are either installed or install them through yast --> software --> Software Management The bolded packages are availabe on the 10.2 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.

kernel-source, gcc, ivtv, lirc, mysql, php5, python, xine-ui, alsa, libdvdread, mjpegtools,
audit-libs, libao, flac, libid3tag, xmms, dvb, xmltv, phpmyadmin, mplayer, xvid, fame, 
libfame, transcode, w32codec-all, lame

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

mythtv, mythtv-backend, mythtv-debuginfo, mythtv-frontend, mythtv-setup, mythtv-themes, 
libmyth, libmyth-devel

mythTV plugins
These are plugins 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, mythweather, mythweb

Missing Packages

From time to time required packages disappear form repositories. Normally, they re-appear in a day or so. When this happens you can usually search for the missing package and manually install it.

Below demonstrates how to you would install a missing package

Required Manual downloads * (Currently not needed...This is provided only as an example of installing a missing package)

Looks like you need to add libcdaudio and/or pvm manual if you want to use mythMUSIC. Here is a sample for 32 bit:

There are two filesets that need to be manually downloaded to get MythMusic and transcode to install successfully.

libcdaudio - MythMusic requires this and is available for download here: http://rpm.pbone.net/index.php3/stat/3/srodzaj/1/search/libcdaudio

NOTE: If you aren't sure which to get, you probably should try the 686 version.

pvm3 - transcode requires this and is available for download here: ftp://rpmfind.net/linux/SuSE-Linux/i386/9.3/suse/i586/pvm-3.4.5-3.i586.rpm


Required Manual Installations
Download each of these packages to your desktop and install them with yast

Right-click on the rpm file --> Actions --> Install with Yast

Yast will automatically install them and then exit when it is finished. This should only take a minute or two for each one.

Install either one first. They are not dependent on one anther. Once these are installed, you should not have any exceptions during the mythtv package installation... "should not".  :)

IVTV, the analogue TV card

mythTV supports a myriad of different video capture cards. Some of the more common cards utilize the IVTV driver, a kernel driver for Linux and a driver for X11 for hardware based on Conexant's CX23415/CX23416 codec chip (such as the Hauppauge PVR 150/250/350/500 models). The recommended analogue Standard Definition Cable (SDC) capture cards are the Hauppauge PVR.

A list of supported cards; http://www.mythtv.org/wiki/index.php/Video_capture_card#Capture_Card_Matrix


The primary resource for IVTV support is the IVTV wiki

openSUSE 10.2 ships with IVTV version 0.8.0-9 and everything is auto detected on the x86 and x86-64 bit version of the OS.

ivtv 0.8.0 (Driver Implementation for iCompression or Conexant Video Capture Cards)

supported tv cards http://en.opensuse.org/HCL/TV_Cards

To check what version is installed, issue the command:

rpm -qa | grep ivtv

Your output should look something like:

ivtv-kmp-default-0.8.0_2.6.18.2_34-9
ivtv-0.8.0-9

The IVTV configuration file on openSUSE 10.2 is /etc/modprobe.d/tv.

To troubleshoot IVTV, check the console output with dmesg in the following manner:

dmesg | grep ivtv

Some of the more common cards that use the ivtv driver are the Hauppauge x50/500 series.

Hauppauge Cards

NOTE: Before spending a lot of time trying to get your Hauppauge card to work, run this command first and your card should work. This worked perfectly on a PVR-500 and also on a PVR-150. This command is given again under the "Firmware" section later. Open a terminal window and type the following:

sudo rpm -Uhv http://jarpack.com/suse/noarch/ivtv-firmware-0.1-1.noarch.rpm
sudo rmmod ivtv
sudo modprobe ivtv

If your card is now recognized (check "dmesg | more" for errors), you can skip the following Hauppauge sections. If your card does not seem to be working, continue reading more specific information in the following sections regarding your model of card.

Hauppauge WinTV PVR-150

About the PVR-150 -> http://www.hauppauge.com/pages/products/data_pvr150.html

PVR150.jpg

The PVT-150 is a reasonably priced consumer model tuner card. It comes in both a regular edition and an MCE edition--the two are identical cards, but differ only in the included software and the remote control (the original edition comes with a Hauppauge remote and blaster, while the MCE edition can come either without any remote at all or with a Windows Media Center edition remote).

General mythTV info about this card can be found at http://www.mythtv.org/wiki/index.php/Hauppauge_PVR-150


Sample Config for a PVR-150

To check and see if ivtv started when you reboot your machine and/or kernel modules are loaded, issue this command:

dmesg | grep "video"

The output should look something like this with a PVR150:

ivtv:  ==================== START INIT IVTV ====================
ivtv:  version 0.8.0 (tagged release) loading
ivtv:  Linux version: 2.6.18.8-0.1-default SMP mod_unload 586 REGPARM 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)
tveeprom 1-0050: Hauppauge model 26032, rev G1B2, serial# 9812051
tveeprom 1-0050: tuner model is TCL M2523_5N_E (idx 112, type 50)
tveeprom 1-0050: TV standards NTSC(M) (eeprom 0x08)
tveeprom 1-0050: audio processor is CX25841 (idx 35)
tveeprom 1-0050: decoder processor is CX25841 (idx 28)
tveeprom 1-0050: has no radio, has IR remote
tuner 1-0061: chip found @ 0xc2 (ivtv i2c driver #0)
cx25840 1-0044: cx25841-23 found @ 0x88 (ivtv i2c driver #0)
cx25840 1-0044: loaded v4l-cx25840.fw firmware (16382 bytes)
wm8775 1-001b: chip found @ 0x36 (ivtv i2c driver #0)
ivtv0: Encoder revision: 0x02050032
ivtv0: Registered device video0 for encoder MPEG
ivtv0: Registered device video32 for encoder YUV
ivtv0: Registered device vbi0 for encoder VBI
ivtv0: Registered device video24 for encoder PCM audio
tuner 1-0061: type set to 50 (TCL 2002N)
ivtv0: Initialized Hauppauge WinTV PVR-150, card #0
ivtv:  ====================  END INIT IVTV  ====================


If it is different, run 'dmesg | grep ivtv' to look for error messages in initializing the card with the firmware.


Hauppauge WinTV PVR-500

About the PVR-500 -> http://www.hauppauge.com/pages/products/data_pvr500mce.html.

PVR150.jpg
PVR150.jpg

The PVR-500 has two encoders on one card, and is recognized as 2 x 150 cards. openSUSE 10.2 auto detects the card.

General mythTV info about this card can be found at http://www.mythtv.org/wiki/index.php/Hauppauge_PVR-500

If you are experiencing bad quality pictures with this tuner, you may have what is referred to as a "type b" tuner. The tuners on a "type b" cards have tuners that are made by Samsung and have a reputation for producing a bad quality image. You really want the "type a" tuner. For more information about the differences or to find out which type of card you have, read through the forums on the following website. There is a picture there to show you the difference between the two:

http://forums.snapstream.com/vb/showthread.php?t=33675

If you do have a "type b" card, Hauppauge may replace it. Call their support line for more information on obtaining a replacement.


Warning.png

The firmware for this card is software and acts as the driver. Make sure you follow the Firmware steps.


Sample Config for a PVR-500

ivtv settings are stored in /etc/modprobe.d/tv

cat /etc/modprobe.d/tv

Do not edit this file, this is all done by YaST

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

To check and see if ivtv started when you reboot your machine and/or kernel modules are loaded, issue this command:

dmesg | grep "video"

The output should look something like this with a PVR500:

ivtv:  ==================== START INIT IVTV ====================
ivtv:  version 0.8.0 (tagged release) loading
ivtv:  Linux version: 2.6.18.2-34-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..

If it is different, run 'dmesg | grep ivtv' to look for error messages in initializing the card with the firmware.

Hauppauge WinTV PVR-250

About the PVR-250 -> http://www.hauppauge.com/pages/products/data_pvr250mce.html

Pvr250 board.jpg

The PVR-250 card was released before the PVR-150 card, and there is no functional or qualitative difference between the two cards. You are better off going for one of the other cards unless you find a great deal.

General mythTV info about this card can be found at http://www.mythtv.org/wiki/index.php/Hauppauge_PVR-250

Hauppauge WinTV PVR-350

About the PVR-350 -> http://www.hauppauge.com/pages/products/data_pvr350.html

The PVR-350 is functionally identical to the PVR-250, with the addition of video out jacks (i.e. it can function as a video card for directly exporting the streams it encodes). Output is either composite or S-Video.

General mythTV info about this card can be found at http://www.mythtv.org/wiki/index.php/Pvr350

Other ivtv-based cards include the AVerMedia M179, Yuan MPG160 and Yuan MPG600.

lspci can give you more info on your card and tuner:

lspci | grep -i itv

my output with my Hauppauge WinTV PVR-500 MCE

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)

Firmware

Warning.png

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. This is a manual task. You can find more info about using the correct firmware for each card here: http://ivtvdriver.org/index.php/Firmware#Firmware_filenames

It won't hurt you to install the firmware for all the cards; pieces you don't need will remain unused. On openSUSE 10.2, save the firmware in: /lib/firmware

JArpack has an architecture-independent RPM for the firmware that you can install with this command:

sudo rpm -Uhv http://jarpack.com/suse/noarch/ivtv-firmware-0.1-1.noarch.rpm

However, there is no guarantee this link will be valid in the future.

Some linux distributions require you to edit the modprobe.d config file by hand to get the card properly recognized by the kernel; in openSUSE 10.2, however, YaST does this all for you. For reference, the file is listed below. Do not edit it if you don't know what you're doing.

The manual process:

su - root
download this driver file:
http://dl.ivtvdriver.org/ivtv/firmware/firmware.tar.gz

Extract the driver file to /lib/firmware

cd /lib/firmware
tar -xvf /path/to/this/file/firmware.tar.gz

Download this firmware file:

wget ftp://ftp.shspvr.com/download/wintv-pvr_250-350/inf/pvr_1.18.21.22254_inf.zip

Issue these commands to extract the necessary files to the correct location:

/usr/share/doc/packages/ivtv/ivtvfwextract.pl ./pvr_1.18.21.22254_inf.zip
mkdir -p /usr/lib/hotplug/firmware
cp /lib/firmware/v4l-cx2341x-dec.fw /usr/lib/hotplug/firmware

Reload the ivtv module

rmmod ivtv
modprobe ivtv

Check that the firmware and driver was loaded correctly

dmesg | grep ivtv



Devices

To see how the devices are named by your system, type:

ls /dev/vi* -l

Your output will be similar to: (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


Your cards should now be ready to go.

DVB, the digital TV card

For
Dvb.png

devices supported by linux see the following pages on the linuxtv.org wiki.


http://www.mythtv.org/wiki/index.php/DVB

openSUSE supported tv cards http://en.opensuse.org/HCL/TV_Cards

http://www.linuxtv.org/wiki/index.php/Main_Page

Hauppauge Nova-T

This card should be installed automatically under openSUSE 10.2. It should Just Work™, no installs or config needed.

http://www.mythtv.org/wiki/index.php/Hauppauge_WinTV_Nova-T_PCI

http://www.mythtv.org/wiki/index.php/Hauppauge_WinTV_Nova-T_USB2

Hauppauge 1300

This card needs Steve Toth's one-year-in-the-making almost-finished V4L drivers installed to get it working. The method is slightly complicated for newbies but the rest of you should find it relatively easy, so long as you do things in the right order.

Start by downloading the contents of the main v4l-dvb repository on linuxtv.org (this link, if you can't find it). I forget exactly what you do then, but it involves making, unloading, loading, installing... something like that. Anyway, the card should work after a restart if it's done properly.

ATI HDTV Wonder

This card works out-of-the-box with openSUSE 10.2. It does not use proprietary drivers, but instead open source drivers which are included on the openSUSE 10.2 installation media. If you only have this one HDTV tuner installed in your machine, you should have a device named "/dev/dvb/adapter0/demux0". If you do, your ATI HDTV Wonder card should be working fine.

Audio setup

I did not have to do anything. Everything was auto detected by the install and audio just worked.

Audio.png



Configure digital sound: http://www.mythtv.org/wiki/index.php/Configuring_Digital_Sound_with_AC3_and_SPDIF



Do we need to say something about audio? Please do if you feel like it.

LIRC, the remote control

LIRC is a package that allows you to decode and send infra-red signals of many commonly used remote controls. openSUSE 10.2 ships with lirc 0.8.0-41

Atiremotewonder2.jpg

To use LIRC, you need a working /etc/lircd.conf file for your remote. You can get a lircd.conf for your remote on the http://lirc.org website or create your own file with irxevent and/or mode2, or search the web for a compatible one.

You also need to create a key mapping file in order to use your remote with any programs. With mythTV, this file is /home/user/.mythtv/lircrc and there should be a number of examples on line. Just remember that the key names in lircrc should correspond with the same button names in lircd.conf.


So,

/etc/lircd.conf = Maps remote control scancodes to logic functions (like 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


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 text command for creating a lircrc file in your home .mythtv directory, symbolically linked to .lircrc in your home directory, follows:

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

Note that lircd does not get automatically loaded.

So, ensure that the LIRC demon is enabled from boot by using YaST's Services manager (just find lirc, select it, hit enable and save).


Specific Hardware Remote Instructions

ATI Remote Wonder

LCDproc, the lcd or vfd display

mythTV ( mythlcdserver ) can control an LCD (Liquid Crystal Display) or a VFD (Vacuum Fluorescent Display) panel through LCDproc API. LCDproc is not part of openSUSE 10.2. In jan 2007 they are not available on pacman so: You need to download the source and compile. Make sure you also compile the server component of LCDproc and read the INSTALL file. (more about the imon vfd here)

LCDproc.jpg



test your lcd device

echo Moosy rocks > /dev/lcd0
./configure --enable-drivers=all
make
cd shared
make
cd server
make
make install

check and configure the LCDd.conf file In the LCDd.conf there is a DriverPath pointing to server/drivers. (make this a complete path)

start the lcd server

LCDd

configure mythfrontend to use the lcd [config] [screen]

more http://www.mythtv.org/wiki/index.php/LCDproc

MySQL, the database

create THE database

mythTV uses MySQL to store 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.

Database.png

opensuse 10.2 ships with mysql 5.0.26 (A True Multiuser, Multithreaded SQL Database Server)

As root, start mysql 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/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

make the database multi user (more than 1 system, please do this)

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

mythtvsetup

Once the card is initializing all tuners correctly and the database is ready, you can begin to get mythtv to recognize the card with the following command:

mythtvsetup

Select "New capture card" to setup a new card. The card type should be "MPEG-2 Encoder Card (PVR-x50 / PVR-500)." The video device should be set to /dev/video0, and the default input should be set to the tuner (will be listed as either Tuner 0 or Tuner 1).

If you are configuring a Hauppage PVR-500 card, you also need to configure the second tuner/encoder on the card. Select "New capture card" again and put /dev/video1 and Tuner 0 (or Tuner 1, depending on what it was for the other encoder...in other words, it must use the same Tuner!) in the applicable fields.

This is also where you setup which IP you want the database to run on. If you do not plan on having a separate front end machine, then no changes for this are necessary. If you do want remote frontends, then you need to change the "127.0.0.1" to the IP address of your linux box. You can find your local IP with "ifconfig". Assuming you only have one network card, look at "eth0" for your IP address.

After the cards are ready, start filling the database with programming information!

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


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.

Different countries and providers have different ways of configuring XMLTV. For example, http://graphics.tudelft.nl/~paul/grabber/ describes how to do it in the Netherlands. See the XMLTV wiki page for more info on how to set up tv_grab_XX for your particular country and service provider. The wiki is found at:

http://www.mythtv.org/wiki/index.php/XMLTV

You can also get more info at http://www.mythtv.org/wiki/index.php/Mythfilldatabase

In North America, Zap2It labs provides an API for XMLTV that can be accessed via "Data Direct." To utilize this option, visit labs.zap2it.com and register for an account (it's free, but you have to register and re-activate your account every three months. Specific information for registering can be found here: http://mythtv.org/docs/mythtv-HOWTO-5.html#ss5.3). Once you've registered for Data Direct and chosen the listing based on your zipcode and service provider, you can then enter your login name and password back into the "video source" screen in mythtv-setup. This will configure mythfilldatabase to automatically log into zap2it and get your listings when needed.

Now that the video source is set up, you need to use the "Input Connections" screen to associate the video source (with its grabber) to the card. This screen will also let you either scan the tuner for channels or just get the channels directly from the listings source; we recommend the latter, because it will automatically fill the database not just with the channels but with their proper XMLTV-id numbers and callsigns. If you choose to have the tuner automatically scanned, you will then need to go to the "Channel Editor" to manually set that information for each channel.

Finally, you use the "storage directory" screen to set up where you want your recordings to be stored. The directory you choose must either be owned by the user who will be running mythtv or be set to be world-rwx (sudo chmod -R 777 [the name of the directory]).

Once all configurations are done, you can exit mythtv-setup and run "mythfilldatabase" from the command line to get the listings downloaded and imported. This may take a while the first time; be patient. For future listings updates, you can set mythfilldatabase to run as a cron job or you can select the "automatically run mythfilldatabase" option in the setup options of mythfrontend.

Most of the configuration information in this section is not necessarily openSUSE 10.2 specific, but is typical to most versions (and, in fact, most distributions). You can find more information here:

http://www.mythtv.org/docs/mythtv-HOWTO-9.html

manage THE database

Use phpMyAdmin; php5 and phpMyAdmin are both standard part of openSUSE 10.2

openSUSE 10.2 ships with:

php5 5.2.0 (PHP5 Core Files)

phpMyAdmin 2.9.1.1 (Administration of MySQL over the web)


[b]Add commands for entering database, selecting and viewing tables, and simple deletion of channels. Will do once I'm out of Win XP... --Pepsi max2k 20:52, 8 January 2007 (UTC)[/b]

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

fix THE database

In the 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/contrib/optimize_mythdb.pl

Execute:

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

run with your daily cron jobs

backup & restore THE database

backup

$mysqldump -u mythtv -p mythtv mythconverg -c > mythtv_backup.sql
Information.png

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


restore: (assuming that you've dropped the database)

$ mysql -u root
mysql>create database mythconverg;
mysql>exit
$ mysql -u mythtv -pmythtv mythconverg < mythtv_backup.sql


TV-out, the graphics adapter

There is a section on this wiki dedicated to TV-out. http://www.mythtv.org/wiki/index.php/TV_Out.


The type of output your video card can do, and the type of inputs your display device 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). Suggest you to read this http://www.mythtv.org/wiki/index.php/Highly_Technical_Details

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






Composite TV out This provides an NTSC (or PAL) standard video output signal, which can be sent to a normal TV set using a normal RCA cable.

If your box has NTSC/PAL video out, you'll find an RCA video connector (usually yellow), or a 4-pin Mini-DIN S-Video connector on the back somewhere, which you can connect your monitor to, with the appropriate cable.


Component video This will require a VGA to component adapter and a video card that supports component out. Component video offers the best quality for an analog signal.

You can also use the Component-Out feature on some nVidia Cards. (I use the 6600GT and it works great) Read my how-to Here


VGA output This can be sent either to a CRT monitor, an LCD or plasma flat-panel, or a projector. If you have a satisfactorily large monitor, you might find this a better solution; most such monitors and projectors will accept the higher scan-rate signal that a composite output provides.

If you are going to use VGA then you will use an HD-15 cable up to the VGA connector which you will find on the back panel.


DVI digital connection For the best quality, especially to modern digital displays such as big-screen LCD, plasma or micro projection solutions, this is the preferred option. Note that DVI has both digital and analog or combined versions on the same connector. The analog version is compatible with VGA (using an adapter). The digital section is compatible with the latest HDMI connector found on some Hi-Def displays.

Be aware that some of the latest digital displays have hardware content protection built in.


HDMI This is a more modern version of DVI and is technically backwards compatible. It uses a smaller more manageable connector. You can get an DVI to HDMI adaptors if you need to connect your PC graphics card DVI connector to the latest HDMI displays. The latest HDMI connections will also be able to carry digital multi-channel audio down the same cable.




ATI

The ATI Proprietary Linux driver (fglrx) currently provides hardware acceleration for 3D graphics and video playback. It also includes support for dual displays and TV Output. The question is; does the driver support your hardware. The driver (fglrx) is also used for the linux 3d desktop (xgl, compiz, beryl)and it looks like ati (amd)has put more resources on the development. Still there are weird things (bugs?) with ati.

Before you install the ATI driver, the following packages have to be installed. Some are installed by default -- check to make sure they're all there by typing these names into the Software Management's search box. If they are not there, install them and all of their dependencies before you continue:

gcc, make, kernel-source, kernel-syms, compat-expat1, expat

ati on this wiki

With the release 8.33.6, release dec. 2006 there is support for openSUSE 10.2 and the new released version of X.org 7.2

current version - jan 2007 - ati driver 8.33.6 - release notes

rpm -qa | grep fglrx

-- sample of howto create a rpm for 32 platform with ati driver 8.32

sh ./ati-driver-installer-8.32.5-x86.x86_64.run --buildpkg SuSE/SUSE102-IA32


Warning.png

TV-OUT ISSUES: still some issues with the 8.33.6 driver and myth 0.20 - more info onMoosy rocksby clicking here


--

NVIDIA

A cheap nvidia card is enough for mythTV. Get one without a fan, cheaper and does not make noise. (The 6200LE PCI Express is about 25 euro) You're best off installing the proprietary Nvidia drivers on openSUSE 10.2. This is easiest when you use the default 10.2 install and don't upgrade the kernel. If so, follow the below to get the drivers installed:

Add the nvidia repo to SMART or YAST: http://download.nvidia.com/opensuse/10.2

mythtv:~ # rug service-add http://download.nvidia.com/opensuse/10.2/ --type=ZYPP "nvidia"

Adding zypp service...
                                                                                                                                                                    0% 

The following key must be trusted in order to proceed:

  Name: NVIDIA Corporation <linux-bugs@nvidia.com>
  ID: F5113243C66B6EAE
  Fingerprint: 9B763D49D8A5C892FC178BACF5113243C66B6EAE

Would you like to trust this key? (y/N) y

Adding zypp service...
                                                                                                                                                                 100% 

Successfully added service 'http://download.nvidia.com/opensuse/10.2/'
mythtv:~ # 

Install the x11-video-nvidia and nvidia-gfx-kmp-default packages.

Change to a command shell by hitting Ctrl-F1.

Type "init 3" and then "sax2 -r -m 0=nvidia". IF you don't see an Nvidia logo at this point, something's probably gone wrong.

Unless you have reason to believe the sax2 info will be wrong, and/or know what to change it to, just hit save. Type "init 5" to get back to a GUI.

And if you have any problems with refresh rates or DPI issues, check this suseforums thread.

NVIDIA's NTSC SVIDEO

To enable the svideo on a nvidia card, there needs to be a few extra options configured. This section assumes you are using a standard NTSC TV, not HDTV, and probably live somewhere where NTSC is the standard, i.e. the US. I'm not sure if you can make these changes and have both your monitor and TV connected simultaneously. I usually go through these steps just before I connect my myth box to a television in a rather permanent sense.

First, log in as root and back up your xorg.conf file

cd /etc/X11
cp ./xorg.conf ./xorg.conf.orig

WARNING: Before you proceed, make sure you can access your box remotely via SSH in case something doesn't work and you need to restore your original configuration.

Open this file for editing:

vi /etc/X11/xorg.conf

The following lines are needed by the NVIDIA card to activate the SVIDEO output. In the device section for your card (Section "Device"), add the following bolded lines:

Section "Device"
   BoardName "GeForceX"
   ...
   Option "TVStandard" "NTSC-M"
   Option "TVOutFormat" "TV"
   Option "ConnectedMontitor" "TV"

Also, your Section "Screen", check what the DefaultDepth is. You can search for it or run this command

 grep DefaultDepth /etc/X11/xorg.conf

In the same section a little further down, find the SubSection with that depth. Update the "Modes line to match this. The "DefaultDepth" in this example is for "24". For example's sake, I just commented out the original "Modes" line:

 SubSection "Display"
   Depth      24
   #Modes      "1280x1024" "1024x768" "800x600" "768x576"
   Modes      "720x480" "800x600" "768x576"
 EndSubSection

After these changes have been made, press "Ctrl-Alt-Backspace" and your GUI will restart. You will be prompted to log back in.

If you do end up hosing your display, login remotely either directly as root, or switch to root, and type

cd /etc/X11
cp ./xorg.conf.orig ./xorg.conf
shutdown -r now

Your GUI display should be returned to the state it was before you started.

Hauppauge WinTV PVR-350

no openSUSE specific info available on the 350's TV-OUT, I don't have one. Please add your info here.

Here is some good info about the 350 tv-out http://www.mythtv.org/wiki/index.php/XV_on_PVR-350 and http://www.mythtv.org/wiki/index.php/Pvr350

INTEL

Please, refer to the man page http://intellinuxgraphics.org/man.html.

no openSUSE specific info available, I don't have one. Please add your info here.

Wakeup, ACPI or NVRAM

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 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. Consequently, the acpi_system_write_alarm functions in drivers/acpi/system.c for the kernel 2.4, or drivers/acpi/sleep/proc.c for the kernel 2.6, only support the alarm time fields.

http://www.mythtv.org/wiki/index.php/ACPI_Wakeup

This is still a pain

See http://www.mythtv.org/wiki/index.php/User:Moosylog

Client connectivity

Browser based frontend

Mythweb is the best option to access your mythTV machine over HTTP You can also think of a VNC session to your central box.


Warning.png

VNC ISSUES: In the initial release of 10.2 there is a bug in combination with gdm and the standard vnc. If vnc does not work with gdm (gnome) edit the following file:

pico /opt/gnome/share/gdm/defaults.conf 

look for the [xdmcp] section and change it to enable=true, and then restart gdm, things will start working

mythWeb

MythWeb allows you to view your current TV schedule on your Myth box remotely and allow you to schedule or modify recording schedules. With this being so easy to setup, you may as well do it. It is also something cool to show your friends.

There are just a few steps to get it working.

1. Install mythweb. You probably already have this installed it if you have been following this document. The following should show one package

rpm -qa | grep mythweb

2. Install apache2 (http server) This is part of openSUSE 10.2 default installation and may already be installed. Check for it with this

rpm -qa | grep apache2

Unless you upgraded, you'll probably see this and two other packages:

apache2-2.2.3-20

3. Add "rewrite" to the APACHE_MODULES

yast --> system --> /etc/sysconfig --> network --> www --> Apache2 --> APACHE_MODULES

Add the word "rewrite in the value for the "APACHE_MODULES". You should put it in alphabetical order to maintain consistency with what is already there. Also, verify that "env" is in the list. It should be by default.

4. Execute the following two commands to set permissions on the directories for internet access

chgrp -R www /srv/www/htdocs/mythweb/data
chmod g+rw /srv/www/htdocs/mythweb/data

5. Setup Apache to start at boot time in yast. This will also activate it now

yast --> System --> System Services --> apache2 --> enable --> Finish --> yes

6. Open the port in the firewall for other computers to access the webpage.

yast --> Security and Users --> Firewall --> Allowed Services --> 
under Service to Allow, choose "HTTP Server" --> Add --> Next --> Accept --> Quit

7. Verify it is working by opening a web browser on your local or remote desktop and put in the following URL

http://your-ip-address/mythweb
MythWebList.png







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

Remote Access to MythWeb

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. I have created a script to keep a yi.org account in synch with a openSUSE 10.2 box. If you are interested in this, leave a message requesting it in the "discussion" tab of this page. I'll post the update script there if anyone is interested.

Linux based frontend

The frontend is basically the graphical interface that shows you the menus and displays the videos on your screen, so obviously it needs X to be on the same machine. Since it is the interface, this is also likely the best place to install any IR recievers or transcievers you have so that you can use a remote control with mythTV. You can install mythfrontend on the same machine as your mythbackend or on one or more other machines. The frontend talks over IP with the backend but for some plugins it needs access to the central mythtv servers, or at least it's filesystem. To have access to your central filesystem you can configure a NFS server for your data directory. On the Linux client; install the NFS client. Have YaST do the rest for you. (do this with the GUI version of YaST, NFS server config is only available in the X GUI of YaST)

mythVideo

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.

VideoBrowseview.jpg






mplayer subtitles

The default mplayer that we got from pacman did not do subtitles. Error message about subfonts.ttf or something. mplayer can search in 2 directories for it's fonts for subtitles:

1.) download the recommended subtitle fonts from

Prerendered fonts: http://www1.mplayerhq.hu/MPlayer/releases/fonts/font-arial-iso-8859-1.tar.bz2
Download MD5 sum: 1ecd31d17b51f16332b1fcc7da36b312
Download size: 234 KB
Additional fonts: http://www1.mplayerhq.hu/MPlayer/releases/fonts/

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


play non iso dvd rips from disk

When I download some movies, they are not always in ISO format. If they are in VIDEO_TS VOB format I use the following trick to get them in the mythvideo (imdb) display. For this example; let's assume we downloaded a movie called Moosy the Movie part 1.

1.) create a file in your video/movies directory

pico moosymovie.link

dvd://your_directory/moosymovie/VIDEO_TS

2.) now create a new extension in mythfrontend

config, config, media, movies, filetypes

create a new extension

Extension .link
Command: xine -pfhq `cat %s`
Standard: OFF
Ignore: OFF

xine and remote

It looks like the xine that I installed from pacman was not compiled with lirc support so my remote is not working in xine.

If you are using xine and have issues with your remote, check

ldd /usr/bin/xine|grep lirc

Solution: compile xine from source

mythGame

http://www.mythtv.org/wiki/index.php/Special:Search?search=mythgame&go=Go

I'm no gamer so have not tried this. If you do...please add your comment here.

mythMusic

There isn't much to say about mythMusic. Simply put your music in a directory and play with the frontend. I don't like it and don't use it

Windows based frontend

mythTV player from Mikkelrocks, as far as something on Windows can rock. It sure is a cool puppy you should give a try.

more: http://www.mythtv.org/wiki/index.php/Windows_Watching_Recordings_in_Windows_with_MythTv_Player


There is a mythfrontend available for Windows. It sucks big time and I don't wanna talk about it.

Good idea to turn your samba server on to have access to your mythTV data: Here is a sample samba config. Read/Write for the world:

/etc/samba/smb.conf

[global]
netbios name = mythtv
workgroup = workgroup
server string = Our home server
#
use client driver = yes
security = share
wins support = no
#
[myth_data]
path = /data
browseable = yes
writable = yes
public = yes

XboX based frontend

Still don't have a xbox, here you can find more info