Difference between revisions of "Opensuse 10.2"

From MythTV Official Wiki
Jump to: navigation, search
(LIRC, the remote control)
m (Fixed typos)
 
(228 intermediate revisions by 26 users not shown)
Line 1: Line 1:
= openSUSE 10.2 =
+
{| cellspacing=0 cellpadding=2 border=0
[[Image:Myth_suse.jpg|left|275px|]]
+
|width=22|{{Click || image=Go-up.png | link=Operating_system#openSUSE | width=22px | height=22px}}
 +
|[[Operating_system#openSUSE|Other openSUSE version]]
 +
|}
  
 +
== Introduction ==
 +
[[Image:Myth_suse.jpg|right|275px|]]
  
 
 
 
The [http://opensuse.org openSUSE project] is a community program sponsored by [http://www.novell.com 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.
 
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 [http://opensuse.org openSUSE]10.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.
+
The [http://opensuse.org openSUSE project] is a community program sponsored by [http://www.novell.com 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.
[[Image:moosy.gif|Moosy rocks]] [http://moosy.blogspot.com/ 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.
 
  
[http://opensuse.org 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.
+
For rich, reliable and secure home computing like mythTV, there's no better choice than [http://opensuse.org openSUSE]10.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.
  
 +
[http://opensuse.org openSUSE] 10.2, 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.
  
[http://www.novell.com/documentation/opensuse102/ openSUSE 10.2 official documentation]
+
{{Webpage|www.novell.com/documentation/opensuse102/|openSUSE 10.2 official documentation}}
  
[http://www.novell.com/products/opensuse/sysreqs.html System requirements for openSUSE 10.2]
+
{{Webpage|www.novell.com/products/opensuse/sysreqs.html|System requirements for openSUSE 10.2}}
  
[http://www.novell.com/products/linuxpackages/opensuse/index.html All packages included in openSUSE 10.2]
+
{{Webpage|www.novell.com/products/linuxpackages/opensuse/index.html|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. Remember this: ''"MythTV can be a time machine; hours can disappear for no reason at all."''
  
  
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 ==
+
== Initial System Setup and Package Installation==
 
Installing mythTV all starts with good hardware. The first requirement is a machine capable of running [http://opensuse.org 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.
 
Installing mythTV all starts with good hardware. The first requirement is a machine capable of running [http://opensuse.org 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.
  
Line 45: Line 32:
  
 
Get your hands on an openSUSE 10.2 DVD or CD set. It can be downloaded from the [http://en.opensuse.org/Download 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.
 
Get your hands on an openSUSE 10.2 DVD or CD set. It can be downloaded from the [http://en.opensuse.org/Download 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.
 +
 +
{{Download|en.opensuse.org/Download|download openSUSE}}
  
 
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.
 
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 [http://www.softwareinreview.com/cms/content/view/60/ Hacking openSUSE 10.2].
+
{{Webpage|www.softwareinreview.com/cms/content/view/60/|A good article for you to start in setting up your openSUSE system, Hacking openSUSE 10.2}}
 +
 
  
 
===NTP - Network Time Protocol===
 
===NTP - Network Time Protocol===
Line 58: Line 48:
  
  
1. Configure the NTP Client
+
1. Enable NTP to get through the firewall.
 +
YaST -> Security and Users -> Firewall -> Allowed Services -> NTP Server -> Add -> Next -> Accept
 +
2. Configure the NTP Client
 
  YaST -> Network Services -> NTP Configuration
 
  YaST -> Network Services -> NTP Configuration
2. Ignore the warning when selecting Automatically start, there is no significant delay.  
+
3. Ignore the warning when selecting Automatically start, there is no significant delay.  
 
  NTP daemon -> During Boot -> Finish
 
  NTP daemon -> During Boot -> Finish
3. Add servers per recommendation at http://www.pool.ntp.org/use.html   
+
4. 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"
+
5. Ensure NTP is set to start at boot time.  It should say "Yes" beside "ntp"
 
  System -> System Services (Runlevel) -> ntp
 
  System -> System Services (Runlevel) -> ntp
  
 
There is more info on NTP at http://www.pool.ntp.org
 
There is more info on NTP at http://www.pool.ntp.org
  
==YaST Sources, get the packages==
+
===YaST Sources and Package Installation===
 
Add the following External YaST Repository to your Installation Sources.
 
Add the following External YaST Repository to your Installation Sources.
 
  yast --> Software --> Installation Source --> Add
 
  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.  
 
There, first select HTTP for the protocol and on the next page, enter the server and the directory as listed below.  
  
Add [http://packman.links2linux.org/search?scope=name&q=mythtv 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".
+
Add [http://packman.links2linux.org/search?scope=name&q=mythtv PackMan] 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
 
  Protocol - HTTP
Line 82: Line 74:
 
General openSUSE 10.2 [http://en.opensuse.org/Mirrors_Released_Version installation sources] can be found at the openSUSE website.
 
General openSUSE 10.2 [http://en.opensuse.org/Mirrors_Released_Version installation sources] can be found at the openSUSE website.
  
To add pacman from the commandline and the openSUSE 10.2 online source:
+
To add PackMan from the commandline and the openSUSE 10.2 online source, first, su to root ("su -root") then run the following commands:
  rug service-add http://packman.iu-bremen.de/suse/10.2 --type=ZYPP "Packman"
+
  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/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"
 
  rug service-add http://download.opensuse.org/distribution/10.2/repo/oss/ --type=ZYPP "openSUSE-10.2"
Line 90: Line 82:
  
  
 +
 +
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 as follows. Replace ivtv-kmp-default with the version that matches your kernel. Examples are ivtv-kmp-smp and ivtv-kmp-bigsmp. Execute 'uname -r' to determine what you are running.
 +
{{Tip box|To install all mythtv package, just start YaST and goto [Software] -> [Software Management] search for mythtv and install all mythtv packages.}}
  
  
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:
+
;Alternative way to install the packages
  
  sudo /sbin/yast -i mythtv mythtv-frontend mythtv-backend mythtv-setup mysql ivtv ivtv-kmp-default mplayer libxine1
+
  sudo /sbin/yast -i 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 [http://susewiki.org/index.php?title=Smart the SMART page] of the SUSE wiki.
+
'''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 PackMan repositories by default), visit [http://susewiki.org/index.php?title=Smart the SMART page] of the SUSE wiki.
  
 +
===Missing Packages===
 +
From time to time required packages disappear from repositories. Normally, they re-appear in a day or so. However, there are two packages that have not showed up for some time in the packman repository. If you are wanting to install "transcode" and/or "mythMusic", there are two packages you may have to manually download, "pvm3" and "libcdaudio". This sections demonstrates how to go about installing them on a 32-bit system.
 +
{{Download|rpm.pbone.net/index.php3/stat/3/srodzaj/1/search/libcdaudio|32 bit - libcdaudio (download the most current 686 version}}
 +
{{Download|rpmfind.net/linux/SuSE-Linux/i386/9.3/suse/i586/pvm-3.4.5-3.i586.rpm|32 bit - pvm-3.4.5-3.i586}}
 +
{{Download|packman.links2linux.org/package/libcdaudio|64 bit - libcdaudio (If 10.2 is not available, use the 10.1 version)}}
 +
Once they are downloaded, install each of 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.
  
[[Image:Package.png|left]]<br>
+
After these are installed, you should not have any missing requirements during the full mythTV package installation... "should not". :)
  
  
 +
===mythTV and Plug-in Dependencies===
 +
The following packages are prerequisites to the mythTV packages. Verify that they are either installed or install them through yast --> Software --> Software Management
  
===mythTV and plugin dependencies===
+
The '''bolded''' packages are available 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.
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,'''
+
  '''alsa, audit-libs, dvb, flac, gcc, ivtv, kernel-source, libao, libdvdread, libid3tag, lirc'''
  '''audit-libs, libao, flac, libid3tag, xmms, dvb''', xmltv, phpmyadmin, mplayer, xvid, fame,  
+
  '''mjpegtools, mysql, php5, python, xine-ui, xmms''', fame, libcdaudio, libfame, lame, MPlayer,
  libfame, transcode, w32codec-all, lame
+
  phpmyadmin, pvm, transcode, w32codec-all, xmltv, xvid
  
'''mythTV packages'''<br>
+
'''mythTV Packages'''<br>
 
These are the actual mythTV packages that need to be installed.
 
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-backend, mythtv-debuginfo, mythtv-frontend,
libmyth, libmyth-devel
+
mythtv-setup, mythtv-themes
  
'''mythTV plugins'''<br>
+
'''mythTV Plug-ins'''<br>
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.
+
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,  
 
  mytharchive, mythbrowser, mythcontrols, mythdvd, mythflix, mythgallery, mythgame, mythmusic,  
  mythnews, mythphone, mythplugins, mythplugins-debuginfo, mythvideo, mythweather, mythweb
+
  mythnews, mythphone, mythplugins, mythplugins-debuginfo, mythvideo, mythweb
 +
 
 +
==Audio setup==
 +
 
 +
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.
  
===Missing Packages===
+
[[Image:Audio.png|left|30px|]]
  
From time to time required packages disappear from repositories. Normally, they re-appear in a day or so. However, there are two packages that have not showed up for some time in the packman repository.  If you are wanting to install "transcode" and/or "mythMusic", there are two packages you may have to manually download, "pvm3" and "libcdaudio".  This sections demonstrates how to go about installing them on a 32-bit system.
 
  
Download '''libcdaudio''' here:  http://rpm.pbone.net/index.php3/stat/3/srodzaj/1/search/libcdaudio
 
''NOTE: For a 32-bit system, download the most current 686 version''
 
  
Download '''pvm3''' here:  ftp://rpmfind.net/linux/SuSE-Linux/i386/9.3/suse/i586/pvm-3.4.5-3.i586.rpm
 
  
Once they are downloaded, install each of them with yast
+
Configure digital sound: [[Configuring_Digital_Sound_with_AC3_and_SPDIF|Configuring_Digital_Sound_with_AC3_and_SPDIF]]
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.
 
  
After these are installed, you should not have any missing requirements during the full mythtv package installation... "should not".  :)
 
  
==Configure Catpure Card==
+
==Configure Capture Card==
  
 
===IVTV, the analogue TV card===
 
===IVTV, the analogue TV card===
Line 143: Line 143:
 
The recommended analogue Standard Definition Cable (SDC) capture cards are the Hauppauge PVR.
 
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
+
A list of supported cards; [[Video_capture_card#Capture_Card_Matrix|Video_capture_card page]]
  
  
Line 167: Line 167:
  
 
Some of the more common cards that use the ivtv driver are the Hauppauge x50/500 series.
 
Some of the more common cards that use the ivtv driver are the Hauppauge x50/500 series.
 +
 +
===Firmware for IVTV Cards===
 +
[[Image:Warning.png|left|30px|]]
 +
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
 +
  
 
====Hauppauge Cards====
 
====Hauppauge Cards====
Line 179: Line 218:
 
[[Image:PVR150.jpg|left|50px|]]
 
[[Image:PVR150.jpg|left|50px|]]
  
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).
+
The PVR-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:  
 
To check and see if ivtv started when you reboot your machine and/or kernel modules are loaded, issue this command:  
Line 219: Line 253:
  
 
If it is different, run 'dmesg | grep ivtv' to look for error messages in initializing the card with the firmware.
 
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
 +
[[Image:Pvr250_board.jpg|left|50px|]]
 +
 +
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.
 +
 +
=====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.
 +
 +
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)
  
  
 
=====Hauppauge WinTV PVR-500=====
 
=====Hauppauge WinTV PVR-500=====
 
About the PVR-500 -> http://www.hauppauge.com/pages/products/data_pvr500mce.html.
 
About the PVR-500 -> http://www.hauppauge.com/pages/products/data_pvr500mce.html.
[[Image:PVR150.jpg|left|50px|]][[Image:PVR150.jpg|left|50px|]]
+
[[Image:Pvr500.jpg|left|100px|]]
  
 
The PVR-500 has two encoders on one card, and is recognized as  2 x 150 cards. openSUSE 10.2 auto detects the card.
 
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:
 
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:
Line 234: Line 286:
  
 
If you do have a "type b" card, Hauppauge may replace it.  Call their support line for more information on obtaining a replacement.
 
If you do have a "type b" card, Hauppauge may replace it.  Call their support line for more information on obtaining a replacement.
 +
Newer types of the PVR-500 card may have other tuners on board. (Philips, Samsung or other...)
  
 +
Update: The new ivtv drivers offer good support for the type b tuners get the latests stable release >0.10.0 from http://ivtvdriver.org/index.php/Main_Page make sure you get a 2.6.18 kernel version. Check with dmesg | grep "video" if the new version is loaded. You might want to first remove the existing ivtv packaged.
 +
  
 
[[Image:Warning.png|left|30px|]]
 
[[Image:Warning.png|left|30px|]]
The firmware for this card is software and acts as the driver. Make sure you follow the [http://www.mythtv.org/wiki/index.php/Opensuse_10.2#Firmware Firmware] steps.
+
The firmware for this card is software and acts as the driver. Make sure you follow the [[Opensuse_10.2#IVTV.2C_the_analogue_TV_card firmware|THESE]] steps.
 +
 
  
  
======Sample Config for a PVR-500======
+
The IVTV settings are stored in /etc/modprobe.d/tv
ivtv settings are stored in /etc/modprobe.d/tv
 
 
  cat /etc/modprobe.d/tv
 
  cat /etc/modprobe.d/tv
 
Do not edit this file, this is all done by YaST
 
Do not edit this file, this is all done by YaST
Line 255: Line 310:
 
  alias char-major-81-3 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:  
+
To check and see if ivtv started when the machine was rebooted and/or kernel modules are loaded, issue the following command:  
 
  dmesg | grep "video"
 
  dmesg | grep "video"
  
The output should look something like this with a PVR500:
+
The output should be similar to this with a PVR500:
 
  ivtv:  ==================== START INIT IVTV ====================
 
  ivtv:  ==================== START INIT IVTV ====================
 
  ivtv:  version 0.8.0 (tagged release) loading
 
  ivtv:  version 0.8.0 (tagged release) loading
Line 278: Line 333:
 
If it is different, run 'dmesg | grep ivtv' to look for error messages in initializing the card with the firmware.
 
If it is different, run 'dmesg | grep ivtv' to look for error messages in initializing the card with the firmware.
  
=====Hauppauge WinTV PVR-250=====
+
=====Checking Analog Device Names=====
About the PVR-250 -> http://www.hauppauge.com/pages/products/data_pvr250mce.html
 
[[Image:Pvr250_board.jpg|left|50px|]]
 
 
 
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=====
 
[[Image:Warning.png|left|30px|]]
 
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
 
 
 
 
 
 
 
 
 
 
 
===Checking device names===
 
  
 
To see how the devices are named by your system, type:
 
To see how the devices are named by your system, type:
Line 379: Line 368:
 
Your cards should now be ready to go.
 
Your cards should now be ready to go.
  
===DVB, the digital TV card===
+
===DVB, the Digital TV Card===
  
 
For [[Image:Dvb.png|left|38px|]]
 
For [[Image:Dvb.png|left|38px|]]
 
devices supported by linux see the following pages on the linuxtv.org wiki.
 
devices supported by linux see the following pages on the linuxtv.org wiki.
* [http://www.linuxtv.org/wiki/index.php/DVB-T_cards DVB-T (Terrestrial)]
+
* [http://www.linuxtv.org/wiki/index.php/DVB-T_Devices DVB-T (Terrestrial)]
* [http://www.linuxtv.org/wiki/index.php/DVB-S_cards DVB-S (Satellite)]
+
* [http://www.linuxtv.org/wiki/index.php/DVB-S_Devices DVB-S (Satellite)]
* [http://www.linuxtv.org/wiki/index.php/DVB-C_cards DVB-C (Cable)]
+
* [http://www.linuxtv.org/wiki/index.php/DVB-C_Devices DVB-C (Cable)]
  
  
http://www.mythtv.org/wiki/index.php/DVB
+
[[DVB|mythTV wiki DVB page]]
  
 
openSUSE supported tv cards
 
openSUSE supported tv cards
Line 399: Line 388:
 
This card should be installed automatically under openSUSE 10.2. It should Just Work™, no installs or config needed.
 
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
+
====Hauppauge HVR-950====
 +
 
 +
This card (USB 2.0 Hybrid) requires a new driver. We found information at http://lunapark6.com/?p=2682 that we needed to modify. The directions may work for you.
 +
 
 +
Install mercurial via YaST
 +
 
 +
Login as as root (or sudo su -)
 +
cd /lib/firmware
 +
wget http://konstantin.filtschew.de/v4l-firmware/firmware_v4.tgz
 +
tar xvzf firmware_v4.tgz
 +
hg clone http://mcentral.de/hg/~mrec/v4l-dvb-kernel
 +
cd v4l-dvb-kernel
 +
make
 +
        '''*if the make fails, chances are it is in v4l/dvb_net.c'''
 +
        '''    Change xmit_ to _xmit_lock'''
 +
 
 +
        '''* While the above statement was previously true - it seems'''
 +
        '''  that now you must copy the file /usr/src/linux/include/linux/netdevice.h '''
 +
        '''  to  /lib/modules/2.6.18.8-0.5-default/build/include/linux/netdevice.h '''
 +
        '''  to get the make to complete successfully.    '''
 +
 
 +
make install
 +
reboot
  
http://www.mythtv.org/wiki/index.php/Hauppauge_WinTV_Nova-T_USB2
+
At this point you can look at dmesg to see the the card loaded and is working.
  
 
====Hauppauge 1300====
 
====Hauppauge 1300====
Line 410: Line 421:
  
 
====ATI HDTV Wonder====
 
====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.
+
This card ''almost'' 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".  Continue to this other mythTV page to complete the setup.  It has been updated with openSUSE 10.2 specific steps.  It should be pretty easy to follow now.  It even includes mythtvsetup configuration steps now.
 +
 
 +
====Leadtek LR6650/ DTV1000 - DVBT PCI====
 +
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.  Remote needs custom custom driver. See the the page on this website: http://www.acaciaclose.co.uk/16253/138855.html
 +
 
 +
==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.
 +
 
 +
[[Image:Database.png|left|30px|]]
 +
openSUSE 10.2 ships with mysql 5.0.26 (A True Multiuser, Multithreaded SQL Database Server)
  
==Audio setup==
+
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-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 [http://www.mythtv.org/wiki/index.php/Database_Schema mythconverg] and contains a set of [http://www.mythtv.org/wiki/index.php/Category:DB_Table tables] that interact with one-another.
 +
 
 +
[[Image:Information.png|left|30px|]]
 +
make the database multi user (more than 1 system, please do this)
 +
 
 +
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;
 +
 
 +
===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:
 +
 
 +
mythtv-setup
 +
 
 +
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 Hauppauge 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:
 +
 
 +
 
 +
See the [[XMLTV|XMLTV mythTV wiki page]] and the [[Mythfilldatabase|Mythfilldatabase mythTV wiki page]] for more info
 +
 
 +
 
 +
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://www.mythtv.org/docs/mythtv-HOWTO-5.html#ss5.1 here in the official Howto].
 +
 
 +
'''NOTE:  ''The free listings from Zap2It will only be available till September 1, 2007.'''''
 +
 
 +
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... --[[User:Pepsi max2k|Pepsi max2k]] 20:52, 8 January 2007 (UTC)[/b]
 +
 
 +
By default, the database is named [http://www.mythtv.org/wiki/index.php/Database_Schema mythconverg] and contains a set of [[http://www.mythtv.org/wiki/index.php/Category:DB_Table tables] that interact with one-another.
 +
 
 +
 
 +
It's recommended to use phpMyAdmin but [[Microsoft_Access|this page]] describes how you can use Microsoft Access to access the database.
  
I did not have to do anything. Everything was auto detected by the install and audio just worked.
+
===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.
  
[[Image:Audio.png|left|30px|]]
+
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
  
Configure digital sound: http://www.mythtv.org/wiki/index.php/Configuring_Digital_Sound_with_AC3_and_SPDIF
+
[[Image:Information.png|left|30px|]]
  
 +
[http://members.lycos.co.uk/wipe_out/automysqlbackup/ AutoMySQLBackup] is a cool or let's say the ultimate backup script for your mythTV environment.
  
  
 +
restore: (assuming that you've dropped the database)
  
Do we need to say something about audio? Please do if you feel like it.
+
$ mysql -u root
 +
mysql>create database mythconverg;
 +
mysql>exit
 +
$ mysql -u mythtv -pmythtv mythconverg < mythtv_backup.sql
  
==LIRC, the remote control==
+
==LIRC, the Remote Control==
 
LIRC is a package that allows you to decode and send infra-red signals of many commonly used remote controls.
 
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
 
openSUSE 10.2 ships with lirc 0.8.0-41
 
[[Image:Atiremotewonder2.jpg|left|40px|]]
 
  
 
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.
 
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.
Line 439: Line 562:
  
  
 +
'''/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/''userid''/.mythtv directory, symbolically linked to .lircrc in your home directory, follows:
 +
 +
ln -s ~/.mythtv/lircrc ~/.lircrc
 +
 +
Note that lircd does not get automatically loaded.
 +
 +
lircd does not startup automatically by default after a reboot.  Set it up to start up at boot time through YaST (search for "lirc", select it, choose accept, then save).
  
So,
 
  
/etc/lircd.conf = Maps remote control scancodes to logic functions (like play, poweroff, pause etc.)
+
===Remote Control Hardware Information===
  
.lircrc = application specific mapping of the remote functions (play, poweroff etc) to the app specific functions for mythTV, mplayer and or Xine
+
[[Remote_Controls]] page on the mythTV wiki.
  
 +
====ATI Remote Wonder====
 +
[[Image:remotewonder1.jpg|left|60px|mythTV uses LIRC for the ATI]]
 +
See the [[ATI_Remote_Wonder#openSUSE_10.2|ATI Remote Wonder mythTV wiki page]]
  
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).
 
  
 +
====MCE (Microsoft)====
 +
[[Image:MCE-Remote-2.jpg|left|19px|mythTV uses LIRC for the MCE]]
 +
See the [[MCE_Remote|MCE Remote mythTV wiki page]]
 +
 +
 +
 +
 +
====IMON PAD (Silverstone, Cooler Master) ====
 +
[[Image:imon_pad.jpg|left|65px|mythTV uses LIRC for the iMON_PAD]]
 +
See the [[Imon|IMON mythTV wiki page]]
  
===Specific Hardware Remote Instructions===
+
Silverstone LC16S-M, Silverstone LC20B, Cooler Master Media 250, Cooler Master Media 260, HT-1100 All IR (Infra-red) OEM products from SoundGraph
  
====[http://www.mythtv.org/wiki/index.php/ATI_Remote_Wonder#openSUSE_10.2 ATI Remote Wonder]====
 
  
====[http://www.mythtv.org/wiki/index.php/Imon IMON PAD]====
+
.
  
 
====IR-Blaster support on PVR150====
 
====IR-Blaster support on PVR150====
Line 495: Line 637:
 
Extract to folder
 
Extract to folder
 
  cd lirc-0.8.1-CVS-pvr150  
 
  cd lirc-0.8.1-CVS-pvr150  
  ./configure
+
  ./setup.sh
  
 
From Menu select 1 Driver configuration (driver:hauppauge_PVR150 (SS)
 
From Menu select 1 Driver configuration (driver:hauppauge_PVR150 (SS)
Line 594: Line 736:
  
 
Now you can (and mythTV) can change a channel by simply calling '''change_channel UP'''
 
Now you can (and mythTV) can change a channel by simply calling '''change_channel UP'''
 +
 +
==== Logitch Harmony ====
 +
see [[Logitech_Harmony_880_remote]]
  
 
==LCDproc, the lcd or vfd display==
 
==LCDproc, the lcd or vfd display==
 
mythTV ( [http://www.mythtv.org/wiki/index.php/Mythlcdserver mythlcdserver] ) can control an LCD (Liquid Crystal Display) or a VFD (Vacuum Fluorescent Display) panel through LCDproc API.  
 
mythTV ( [http://www.mythtv.org/wiki/index.php/Mythlcdserver mythlcdserver] ) can control an LCD (Liquid Crystal Display) or a VFD (Vacuum Fluorescent Display) panel through LCDproc API.  
[http://lcdproc.omnipotent.net/ LCDproc] is not part of openSUSE 10.2. In jan 2007 they are not available on pacman so:
+
[http://lcdproc.omnipotent.net/ LCDproc] is not part of the openSUSE 10.2 distribution.
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 [http://www.mythtv.org/wiki/index.php/Imon here])
+
{{Download|software.opensuse.org/download/LCD/openSUSE_10.2/|download LCDproc rpm from opensuse.org}}
 +
 
 +
If you prefer to compile from source:
 +
{{Webpage|lcdproc.org/download.php3|download LCDproc source}}
 +
Make sure you also compile the server component of LCDproc
 +
and read the INSTALL file.  
 
[[Image:LCDproc.jpg|left|160px|]]
 
[[Image:LCDproc.jpg|left|160px|]]
  
Line 605: Line 755:
  
  
test your lcd device
+
test your device
  echo Moosy rocks > /dev/lcd0
+
  echo foobar > /dev/lcd0
  
 
  ./configure --enable-drivers=all
 
  ./configure --enable-drivers=all
Line 625: Line 775:
 
[config] [screen]
 
[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.
 
 
[[Image:Database.png|left|30px|]]
 
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 [http://www.mythtv.org/wiki/index.php/Database_Schema mythconverg] and contains a set of [http://www.mythtv.org/wiki/index.php/Category:DB_Table tables] that interact with one-another.
 
 
[[Image:Information.png|left|30px|]]
 
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... --[[User:Pepsi max2k|Pepsi max2k]] 20:52, 8 January 2007 (UTC)[/b]
 
 
By default, the database is named [http://www.mythtv.org/wiki/index.php/Database_Schema mythconverg] and contains a set of [http://www.mythtv.org/wiki/index.php/Category:DB_Table 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
 
 
[[Image:Information.png|left|30px|]]
 
  
[http://members.lycos.co.uk/wipe_out/automysqlbackup/ AutoMySQLBackup] is a cool or let's say the ultimate backup script for your mythTV environment.
+
more about on the [[LCDproc|LCDproc mythTV wiki page]]
  
 +
===Specific VFD Information===
 +
==== iMON ====
 +
See the [[Imon|IMON mythTV wiki page]]
  
restore: (assuming that you've dropped the database)
+
==== Futaba ====
 
+
[[Futaba|Futaba mythTV wiki page]]
$ mysql -u root
+
Used in the MSI Media Live
mysql>create database mythconverg;
 
mysql>exit
 
$ mysql -u mythtv -pmythtv mythconverg < mythtv_backup.sql
 
 
 
  
 
==TV-out, the graphics adapter==
 
==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.
+
There is a section on this wiki dedicated to 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).
 
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  
+
Suggest you to read this [[Highly_Technical_Details|Highly_Technical_Details]]
  
 
[[Image:Hdmiconnector.jpg|thumb|80px|left|HDMI digital]][[Image:Dviconnector.jpg|thumb|80px|left|DVI digital]]
 
[[Image:Hdmiconnector.jpg|thumb|80px|left|HDMI digital]][[Image:Dviconnector.jpg|thumb|80px|left|DVI digital]]
Line 800: Line 840:
  
 
===ATI===
 
===ATI===
The [http://www.ati.com 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.
+
[[AtiProprietaryDriver|mythTV AtiProprietaryDriver wiki page]]
Still there are weird things (bugs?) with ati.
+
 
 +
[http://www.novell.com/coolsolutions/feature/19296.html Howto Install ATI driver on openSUSE 10.2]
  
 
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:
 
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
+
  gcc
 
+
  make
[http://www.mythtv.org/wiki/index.php/AtiProprietaryDriver ati on this wiki]
+
  kernel-source
 +
  kernel-syms
 +
  compat-expat1
 +
  expat
  
 
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
 
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 - [https://a248.e.akamai.net/f/674/9206/0/www2.ati.com/drivers/linux/linux_8.33.6.html#183503 release notes]
+
To check if the ati driver is installed, run the following command
 
+
  rpm -qa | grep fglrx
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
 
 
 
 
 
  
[[Image:Warning.png|left|30px|]]
+
To create a rpm of the ati driver, run the following command, replacing the version numbers as needed
'''TV-OUT ISSUES:''' still some issues with the 8.33.6 driver and myth 0.20 - more info on[[Image:moosy.gif|Moosy rocks]]by clicking [http://moosy.blogspot.com/2007/01/ati-overlay-surface-tv-out.html here]
+
  sh ./ati-driver-installer-8.32.5-x86.x86_64.run --buildpkg SuSE/SUSE102-IA32
 
 
 
 
 
--
 
  
 
===NVIDIA===
 
===NVIDIA===
Line 834: Line 867:
 
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:
 
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
+
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"
 
  mythtv:~ # rug service-add http://download.nvidia.com/opensuse/10.2/ --type=ZYPP "nvidia"
Line 863: Line 896:
 
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.
 
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 [http://www.suseforums.net/index.php?showtopic=28532 suseforums thread].
+
And if you have any problems with refresh rates or DPI issues, check this [http://www.suseforums.net/index.php?showtopic=28532 suseforums thread] and/or the [[NVidiaProprietaryDriver]].
 +
 
 +
{{Warning box|The Nvidia driver RPM's for openSUSE 10.2 are built against the default kernel (version 2.6.18.2) on the DVD and not the updated version in the security repository. if you have updated your kernel version either during installation or at any point after, please follow the instructions for "The Hard Way" method. This is because the rpms will prevent your Xorg graphics server from loading if installed with any kernel newer than 2.6.18.2}}
  
 
====NVIDIA's NTSC SVIDEO====
 
====NVIDIA's NTSC SVIDEO====
Line 873: Line 908:
  
 
'''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.'''
 
'''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.'''
 +
 +
Note that you can also boot to runlevel 3 by appending the boot option '3' in GRUB, bypassing X, to fix any problems.
  
 
Open this file for editing:
 
Open this file for editing:
Line 901: Line 938:
  
 
Your GUI display should be returned to the state it was before you started.
 
Your GUI display should be returned to the state it was before you started.
 +
 +
{{Webpage|en.opensuse.org/Nvidia|openSUSE NVIDIA page}}
  
 
===Hauppauge WinTV PVR-350===
 
===Hauppauge WinTV PVR-350===
Line 906: Line 945:
 
no openSUSE specific info available on the 350's TV-OUT, I don't have one. '''''Please add your info here.'''''
 
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
+
mythTV internal wiki pages about the 350 tv-out  
http://www.mythtv.org/wiki/index.php/XV_on_PVR-350
+
[[XV_on_PVR-350|XV_on_PVR-350]]
and
 
http://www.mythtv.org/wiki/index.php/Pvr350
 
  
 
===INTEL===
 
===INTEL===
Line 935: Line 972:
 
kernel 2.6, only support the alarm time fields.
 
kernel 2.6, only support the alarm time fields.
  
http://www.mythtv.org/wiki/index.php/ACPI_Wakeup
+
[[ACPI_Wakeup|ACPI_Wakeup mythTV wiki page]]
  
  
Line 942: Line 979:
 
I suggest you read the following article before spending hours/days on it (like I did)
 
I suggest you read the following article before spending hours/days on it (like I did)
  
http://www.linux-magazine.com/issue/46/Wakeup_Call_For_Computers.pdf
+
{{Pdf|www.linux-magazine.com/issue/46/Wakeup_Call_For_Computers.pdf|Wakeup call}}
  
 
== mythbackend Auto-Start at Boot Time ==
 
== mythbackend Auto-Start at Boot Time ==
The mythbackend can be configured to start at boot time.  This is especially nice for Suse boxes that will be running as dedicated mythTV boxes.  To auto start the mythbackend daemon at boot time follow these steps
+
The mythbackend can be configured to start at boot time.  This is especially nice for openSUSE boxes that will be running as dedicated mythTV boxes.  To auto start the mythbackend daemon at boot time follow these steps
 
  su - root
 
  su - root
  yast --> System --> System Services (Runlevel) --> go down to "mythbackend"
+
  YaST --> System --> System Services (Runlevel) --> go down to "mythbackend"
 
  --> tab to "Enable" --> ok --> Finish --> Quit
 
  --> tab to "Enable" --> ok --> Finish --> Quit
 
Next time your computer is restarted, the mythbackend will be started automatically.
 
Next time your computer is restarted, the mythbackend will be started automatically.
  
= Client connectivity =
+
= Client Connectivity =
== Browser based frontend ==
+
 
 +
== MythTV Plug-ins ==
 +
=== MythVideo ===
 +
[[MythVideo|MythVideo]] allows for cataloging and playback of a variety of video file formats. It can perform automatic meta data look ups, as well as retrieve artwork.
 +
[[Image:VideoBrowseview.jpg|left|180px|]]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
  
[http://www.mythtv.org/wiki/index.php/Mythweb Mythweb] is the best option to access your mythTV machine over HTTP
+
 
You can also think of a VNC session to your central box.
+
 
 +
 
 +
==== MPlayer Subtitles ====
 +
The default MPlayer that we got from PackMan 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 different size in the tar file.
 +
Select your preferred font size and save the files in:
 +
~/.player/.font
 +
 
 +
==== Play non-iso DVD Rips from Disk ====
 +
''This information maybe no longer relevant.Internal mythplayer now plays these files, still a cool trick to use xine.''
 +
 
 +
Movies are not always in ISO format.  Sometimes they are in VIDEO_TS VOB format and the following steps can be used to get them to show in the mythvideo (IMDB) display. For this example; let's assume the movie we have is named "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 ===
 +
[[Configuring_MythGame_Emulation|mythgame]]
 +
 
 +
I'm no gamer so have not tried this. If you do...please add your comment here.
 +
 
 +
=== MythMusic ===
 +
[[MythMusic]] is a sophisticated MythTV plugin that allows you to play and manage music and audio files .i.e MP3, Ogg, FLAC, wav etc. It is specifically designed to be operated by a normal remote control.
 +
 
 +
=== MythArchive ===
 +
Make sure your user is member of the cdrom group
 +
 
 +
[[Mytharchive|mythArchive on the mythTV wiki]]
 +
 
 +
[[Image:Mytharchive.jpg|left|260px|]]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
=== mythGallery ===
 +
The MythGallery plug-in allows you to view all your photos or pictures as well as short movies from your digital camera. One of the options of mythGallery in to import the pictures from your digital camera. This option assumes that the device can be mounted as a normal filesystem and it just copies or moves files to the mythGallery directory. For some of the modern camera's this does not work because the can not be mounted as a filesystem. My Canon IXUS 950 can not be mounted so I created the following trick to import the files from my camera:
 +
Define this script to get executed in mythFrontend / mythGallery setup.
 +
 
 +
{{Code box|getpic.sh|<pre>
 +
#!/bin/sh
 +
 
 +
# The name of the new directory, eg 2005-09-15.11:30 on the Moosy filesystem
 +
dir=`date +'%F.%R'`
 +
 
 +
# Make the new directory
 +
mkdir /data/pictures/$dir
 +
 
 +
# Go into the new directory
 +
cd /data/pictures/$dir
 +
 
 +
# copy the files from your camera to your box
 +
gphoto2 -P
 +
 
 +
cd ..
 +
# Remove empty directories, mythTV also makes a directory
 +
rmdir 200*
 +
 
 +
# Clear the camera
 +
gphoto2 -D -R
 +
</pre>}}
 +
 
 +
 
 +
== Browser Based Scheduling Access ==
 +
 
 +
[http://www.mythtv.org/wiki/index.php/Mythweb Mythweb] is the best option to access your mythTV machine over HTTPYou can also think of a VNC session to your central box.
  
  
 
[[Image:Warning.png|left|30px|]]
 
[[Image:Warning.png|left|30px|]]
'''VNC ISSUES:''' In the initial release of 10.2 there is a bug in combination with gdm and the standard vnc.
+
'''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:
 
If vnc does not work with gdm (gnome) edit the following file:
 
  pico /opt/gnome/share/gdm/defaults.conf  
 
  pico /opt/gnome/share/gdm/defaults.conf  
Line 978: Line 1,132:
  
 
3. Add "rewrite" to the APACHE_MODULES
 
3. Add "rewrite" to the APACHE_MODULES
  yast --> system --> /etc/sysconfig --> network --> www --> Apache2 --> APACHE_MODULES
+
  yast --> system --> /etc/sysconfig Editor--> 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.
 
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.
  
Line 991: Line 1,145:
 
7. Verify it is working by opening a web browser on your local or remote desktop and put in the following URL
 
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
 
  http://your-ip-address/mythweb
 +
 +
NOTE: Some ISPs block incoming requests on port 80 (HTTP Port) to prevent you from hosting web servers to the general public, but they will never admit to it. (Since it's typically against your service agreement anyway). If the method above works from  a local computer but does not work from a computer outside of your network, then change the port that Apache uses in the httpd.conf file. After doing that, you will now be able to access MythWeb by going the following URL
 +
http://your-ip-address/mythweb:1234
 +
Replace "1234" with the port you choose. I recommend using a port above 1024 to avoid permission conflicts. To find more on how to do this, find the Apache documentation.
  
 
Here are some screen shots of the "Listings" section and the "Recorded Programs" section.  Click on one of them to zoom in.
 
Here are some screen shots of the "Listings" section and the "Recorded Programs" section.  Click on one of them to zoom in.
Line 996: Line 1,154:
  
 
====Securing mythWeb====
 
====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 [http://www.mythtv.org/wiki/index.php/MythWeb here].  Follow the section specifically for openSuse 10.2.
+
If you plan to open your mythweb to the internet, you should seriously consider securing it.  That and more information can be found [http://www.mythtv.org/wiki/index.php/MythWeb here].  Follow the section specifically for openSUSE 10.2 [http://www.mythtv.org/wiki/index.php/Securing_MythWeb#openSUSE_10.2 here]
  
 
====Remote Access to MythWeb====
 
====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.
 
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 ==
+
 
 +
== 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 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.
+
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.
 
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.
 
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)
 
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 ===
+
== Windows Frontend ==
[http://www.mythtv.org/wiki/index.php/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.
 
[[Image:VideoBrowseview.jpg|left|180px|]]
 
  
 +
[[MythTV on Windows]] - How to obtain or build a native version of MythTV for windows.
  
 +
Alternatively turn 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 ==
 +
Information regarding using an Xbox as a frontend can be found [[Xbox_Frontend|here]].
 +
 +
== UPnP (Universal Plug and Play) ==
 +
MythTV has a built-in UPnP-server, a so called "UPnP AV MediaServer" device. With this feature you can share MythTV media files to any UPnP-client
  
 +
more info can be found on the [[UPnP|mythTV UPnP wiki page]]
  
 +
= Tips and tricks =
 +
== 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.
  
  
 +
''Missing: Howto update mythTV components using YaST, maybe with screenshot''
  
 +
== backup & restore ==
  
 +
Disk Image solutions that can restored with a single rescue CD: (it's mission critical remember)
  
 +
* http://www.partimage.org
 +
* [http://www.symantec.com Commercial: Symantec Ghost - Version 12.0 - only ext2,ext3 and swap partition]
 +
* [http://www.acronis.com Commercial: Acronis True Image for Linux]
  
==== 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
+
* [[Backup_Software|Backup_Software mythTV wiki page]]
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
 
  
 +
Database backup:
  
==== play non iso dvd rips from disk ====
+
* [http://members.lycos.co.uk/wipe_out/automysqlbackup/ AutoMySQLBackup]
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
+
* [[Backup_your_database|Backup_your_database mythTV wiki page]]
  
pico moosymovie.link
+
== simple mysql query ==
  dvd://your_directory/moosymovie/VIDEO_TS
+
List all recordings from a terminal
 +
mysql -umythtv -pmythtv mythconverg -e 'SELECT title, basename, starttime, commflagged FROM `recorded` ';
  
2.) now create a new extension in mythfrontend
+
== recorded movies, displayed by MythVideo ==
 +
The directory /usr/share/doc/packages/mythtv/contrib has some need scripts
  
config, config, media, movies, filetypes
+
mythrename.pl
 +
renames your recodings and gives them more logical names.
 +
It also can create links (with a logical name) to the recordings.
  
create a new extension
+
I use this to create links to the mythVideo folder so I get all imdb info. and a movie cover.
  Extension .link
+
All movies that I record are saved in the 'Movies' recording group (create this group in mythfrontend)
  Command: xine -pfhq `cat %s`
+
  ./mythrename.pl  --link /data/temp --format %U-%T %- %Y-%m-%d, %g-%i %A %- %S
Standard: OFF
+
  mv /data/temp/Movie* /data/movies
  Ignore: OFF
 
  
==== xine and remote ====
+
When the recordings are deleted, the links are not deleted.
It looks like the xine that I installed from pacman was not compiled with lirc support so my remote is not working in xine.
+
The following command removes the broken links
 +
find /data/movies -type l | (while read FN ; do test -e "$FN" || rm "$FN"; done)
  
If you are using xine and have issues with your remote, check
+
== system monitoring ==
ldd /usr/bin/xine|grep lirc
+
A system monitor can monitor all processes that are running on your box. When a process fails, action can be taken.
  
Solution: compile xine from source
+
Read more on [[Status_Monitoring_How_To#Configuration|this mythTV wiki page]]
  
=== mythGame ===
+
== performance / memory ==
http://www.mythtv.org/wiki/index.php/Special:Search?search=mythgame&go=Go
+
=== Don't load KDE or GNOME on your frontend ===
 +
At login, select session and select mythTV as your shell (session manager).
 +
gnome or kde is not started, this will save memory
  
I'm no gamer so have not tried this. If you do...please add your comment here.
+
The display manager can be set with the GUI at login or change it manually in
 +
/etc/sysconfig/displaymanager
  
=== mythMusic ===
+
DISPLAYMANAGER_AUTOLOGIN = "mythtv"
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 ==
 
  
[http://www.sudu.dk/mythtvplayer/ mythTV player from Mikkel]rocks, as far as something on Windows can rock. It sure is a cool puppy you should give a try.
+
=== Harddrive Latency ===
 +
I recently had issues with my recorded mythTV video playback.  They would play for about a second, then freeze for about half a second, and then play extra fast to catch back up to the audio. This would keep happening until I rebooted the box and eventually it would start again. The audio, however, was always consistent.  The time that the video froze was occuring at the same time as the harddrive light blinking on the front of my box.  I was able to resolve the issue by updating settings on the harddrive.  I used the "hdparm" command (which is installed by default on openSUSE 10.2) to fix it.  The following commands can be run to check the current settings on your harddrive and to then test its performance. Even if you aren't having any speed issues, it is still fun to see how fast your harddrive is running:
  
more: http://www.mythtv.org/wiki/index.php/Windows_Watching_Recordings_in_Windows_with_MythTv_Player
+
hdparm /dev/hda
 +
hdparm -Tt /dev/hda
  
 +
'''NOTE:''''' You may need to change the drive (/dev/hda) to the drive you use.''
  
There is a mythfrontend available for Windows. It sucks big time and I don't wanna talk about it.
+
If the "''Timing buffered disk reads''" is less than 5-10MB/sec, your drive settings need updated.  Read up on the "hdparm" command on this [http://www.linuxdevcenter.com/pub/a/linux/2000/06/29/hdparm.html website] to increase the speed of your mythTV box.
  
Good idea to turn your samba server on to have access to your mythTV data:
+
On a 200Gig Maxtor drive and a 40Gig IBM deskstar drive, the "''Timing buffered disk reads''" stared at 2.10 MB/sec.  After issuing the commands on the site mentioned, the speed jumped to 25.94 MB/sec. and the freezing issue hasn't occured since.
Here is a sample samba config. Read/Write for the world:
 
  
/etc/samba/smb.conf
+
== check if mythTV is recording or watching livetv ==
[global]
+
I assume there are better ways todo this, but I do the following:
netbios name = mythtv
+
Using username "root".
workgroup = workgroup
+
Using keyboard-interactive authentication.
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 ==
+
{{Code box|checkdevice.sh|<pre>
Still don't have a xbox, [http://www.mythtv.org/wiki/index.php/Xbox_Frontend here] you can find more info
+
# Check if device video0 is used
 +
grep P /dev/video0 > /dev/null
 +
if [ $? == 0 ]
 +
then
 +
echo "/dev/video0  =  AVAILABLE"
 +
else
 +
echo "/dev/video0  =  BUSY"
 +
fi
 +
</pre>}}
  
[[Category:HOWTO]]
+
[[Category:Distribution_Specific_Install_Guides]]
 +
[[Category:OpenSUSE]]

Latest revision as of 07:14, 28 October 2017

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.

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.

openSUSE 10.2, 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.2 official documentation

Webpage.png - System requirements for openSUSE 10.2

Webpage.png - 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. Remember this: "MythTV can be a time machine; hours can disappear for no reason at all."


Initial System Setup and Package Installation

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.

Download.png - download openSUSE

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.

Webpage.png - A good article for you to start in setting up your openSUSE system, 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. Enable NTP to get through the firewall.

YaST -> Security and Users -> Firewall -> Allowed Services -> NTP Server -> Add -> Next -> Accept 

2. Configure the NTP Client

YaST -> Network Services -> NTP Configuration

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

NTP daemon -> During Boot -> Finish

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

5. 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 and Package Installation

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 PackMan 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 PackMan from the commandline and the openSUSE 10.2 online source, first, su to root ("su -root") then run the following commands:

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 as follows. Replace ivtv-kmp-default with the version that matches your kernel. Examples are ivtv-kmp-smp and ivtv-kmp-bigsmp. Execute 'uname -r' to determine what you are running.

Information.png Tip: To install all mythtv package, just start YaST and goto [Software] -> [Software Management] search for mythtv and install all mythtv packages.


Alternative way to install the packages
sudo /sbin/yast -i 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 PackMan repositories by default), visit the SMART page of the SUSE wiki.

Missing Packages

From time to time required packages disappear from repositories. Normally, they re-appear in a day or so. However, there are two packages that have not showed up for some time in the packman repository. If you are wanting to install "transcode" and/or "mythMusic", there are two packages you may have to manually download, "pvm3" and "libcdaudio". This sections demonstrates how to go about installing them on a 32-bit system.

Download.png - 32 bit - libcdaudio (download the most current 686 version

Download.png - 32 bit - pvm-3.4.5-3.i586

Download.png - 64 bit - libcdaudio (If 10.2 is not available, use the 10.1 version)

Once they are downloaded, install each of 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.

After these are installed, you should not have any missing requirements during the full mythTV package installation... "should not". :)


mythTV and Plug-in 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 available 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.

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

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

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

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

Audio setup

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.

Audio.png



Configure digital sound: Configuring_Digital_Sound_with_AC3_and_SPDIF


Configure Capture Card

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; Video_capture_card page


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.

Firmware for IVTV Cards

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


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

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

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.

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)


Hauppauge WinTV PVR-500

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

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

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. Newer types of the PVR-500 card may have other tuners on board. (Philips, Samsung or other...)

Update: The new ivtv drivers offer good support for the type b tuners get the latests stable release >0.10.0 from http://ivtvdriver.org/index.php/Main_Page make sure you get a 2.6.18 kernel version. Check with dmesg | grep "video" if the new version is loaded. You might want to first remove the existing ivtv packaged.


Warning.png

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


The 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 the machine was rebooted and/or kernel modules are loaded, issue the following command:

dmesg | grep "video"

The output should be similar to 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.

Checking Analog Device Names

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.


mythTV wiki DVB page

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.

Hauppauge HVR-950

This card (USB 2.0 Hybrid) requires a new driver. We found information at http://lunapark6.com/?p=2682 that we needed to modify. The directions may work for you.

Install mercurial via YaST

Login as as root (or sudo su -)

cd /lib/firmware
wget http://konstantin.filtschew.de/v4l-firmware/firmware_v4.tgz
tar xvzf firmware_v4.tgz
hg clone http://mcentral.de/hg/~mrec/v4l-dvb-kernel
cd v4l-dvb-kernel
make
       *if the make fails, chances are it is in v4l/dvb_net.c
           Change xmit_ to _xmit_lock
       * While the above statement was previously true - it seems
          that now you must copy the file /usr/src/linux/include/linux/netdevice.h 
          to  /lib/modules/2.6.18.8-0.5-default/build/include/linux/netdevice.h 
          to get the make to complete successfully.    
make install
reboot

At this point you can look at dmesg to see the the card loaded and is working.

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 almost 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". Continue to this other mythTV page to complete the setup. It has been updated with openSUSE 10.2 specific steps. It should be pretty easy to follow now. It even includes mythtvsetup configuration steps now.

Leadtek LR6650/ DTV1000 - DVBT PCI

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. Remote needs custom custom driver. See the the page on this website: http://www.acaciaclose.co.uk/16253/138855.html

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

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

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;

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:

mythtv-setup

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


See the XMLTV mythTV wiki page and the Mythfilldatabase mythTV wiki page for more info


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: here in the official Howto.

NOTE: The free listings from Zap2It will only be available till September 1, 2007.

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.


It's recommended to use phpMyAdmin but this page describes how you can use Microsoft Access to access the database.

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

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

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.


/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/userid/.mythtv directory, symbolically linked to .lircrc in your home directory, follows:

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

Note that lircd does not get automatically loaded.

lircd does not startup automatically by default after a reboot. Set it up to start up at boot time through YaST (search for "lirc", select it, choose accept, then save).


Remote Control Hardware Information

Remote_Controls page on the mythTV wiki.

ATI Remote Wonder

mythTV uses LIRC for the ATI

See the ATI Remote Wonder mythTV wiki page



MCE (Microsoft)

mythTV uses LIRC for the MCE

See the MCE Remote mythTV wiki page



IMON PAD (Silverstone, Cooler Master)

mythTV uses LIRC for the iMON_PAD

See the IMON mythTV wiki page

Silverstone LC16S-M, Silverstone LC20B, Cooler Master Media 250, Cooler Master Media 260, HT-1100 All IR (Infra-red) OEM products from SoundGraph


.

IR-Blaster support on PVR150

The PVR150 has the ability to change channels on a device (I.E. cable or satellite box) via IR (the same signal a remote control uses). The PRV150 comes with a 3 headed cable. A mini-jack in the middle of the cable connects to PVR150. An IR receiver that allows the PVR150 to receive information from it's remote control is connected to the shortest end. The last end is connect to an IR transmitter.

IR-Blaster is the software that give mythTV the ability to use the IR transmitter.

Most of the information here was obtained from http://www.blushingpenguin.com/mark/blog/?p=24. For the latest information on the procedure detailed below, please visit his site. Like many Open Source developers, Mark writes and maintains this code for the good of the community (tear in my eye). If you use it please consider donating beer money to him. http://www.blushingpenguin.com/mark/blog/?page_id=20

We are going to need to install a special patched version of lirc. The first thing we need to do is remove the existing lirc. When we remove lirc, Yast is going to want to uninstall several other packages that have lirc as a dependency. To stop yast from removing those packages we are going add --nodeps to our remove command.

Install new lirc

Start from a prompt with root rights

Find your existing version of lirc

rpm -qa |grep lirc

my output

lirc-0.8.0-41

Remove lirc

rpm -e --nodeps lirc-0.8.0-41

Prep for the make

cd /usr/src/linux
make cloneconfig
make prepare-all

Download Prepatch 'http://www.blushingpenguin.com/mark/lmilk/lirc-0.8.1-CVS-pvr150.tar.bz2'

Extract to folder

cd lirc-0.8.1-CVS-pvr150 
./setup.sh

From Menu select 1 Driver configuration (driver:hauppauge_PVR150 (SS)

Select 5 TV Card

Scroll down and select "h Hauppauge PVR-150 TV card (new I2C layer required) (SS)

Select 3 Save and run Configure

make
make install

That process installed a new lircd in /usr/local/sbin

Download additional files

Download a master lircd.conf that contains all supported remote codes. Save it as '/etc/lircd.conf' http://www.blushingpenguin.com/mark/lmilk/lircd.conf

Download the IR-Blaster firmware and save it as '/lib/firmware/haup-ir-blaster.bin' http://www.blushingpenguin.com/mark/lmilk/haup-ir-blaster.bin

Download the script that will allow mythTV to change the channels via the IR-Blaster. You configure this script to be called in the somthing section of 'mythtvsetup' http://www.blushingpenguin.com/mark/lmilk/change_channel

Initialize the Device
modprobe lirc_dev && modprobe lirc_pvr150 debug=1
/usr/local/sbin/lircd --device=/dev/lirc0

look at syslog

yast --> Misc --> View System Log
Mar 14 09:30:51 mythtv kernel: lirc_dev: IR Remote Control driver registered, at major 61 
Mar 14 09:30:51 mythtv kernel: lirc_pvr150: no version for "lirc_unregister_plugin" found: kernel tainted.
Mar 14 09:30:51 mythtv kernel: lirc_pvr150: probe 0x70 @ ivtv i2c driver #0: yes
Mar 14 09:30:51 mythtv kernel: lirc_pvr150: probe 0x71 @ ivtv i2c driver #0: yes
Mar 14 09:30:51 mythtv kernel: lirc_pvr150: chip found with RX and TX
Mar 14 09:30:51 mythtv kernel: lirc_pvr150: poll thread started
Mar 14 09:30:51 mythtv kernel: lirc_dev: lirc_register_plugin: sample_rate: 0
Mar 14 09:30:51 mythtv kernel: lirc_pvr150: firmware of size 248009 loaded
Mar 14 09:30:51 mythtv kernel: lirc_pvr150: 637 codesets loaded
Mar 14 09:30:51 mythtv kernel: lirc_pvr150: 01 60 00 01 c7<7>lirc_pvr150: 05 02 04 9d 16<7>lirc_pvr150: 
09 6a bc 13   0f<7>lirc_pvr150: 0d ea f6 6a fa<7>lirc_pvr150: 11 72 be 32 7f<7>lirc_pvr150: 15 91 9e b6     
b<7>lirc_pvr150: 19 2a 7f 06 05<7>lirc_pvr150: 1d 78 73 00 26<7>lirc_pvr150: 21 05 5b 90 43<7>
lirc_pvr150: 25 cf 6a 5d 2b<7>lirc_pvr150: 29 00 7c 9f 73<7>lirc_pvr150: 2d db 2e cf 3a<7>lirc_pvr150: 31 
2d 32 d4 3d<7>lirc_pvr150: 35 4b 3b 96 40<7>lirc_pvr150: 39 d7 5a 1a 64<7>lirc_pvr150: 3d ec 7c 98 1e<7>
lirc_pvr150: 41 5b 17 2b 6d<7>lirc_pvr150: 45 1f 5f 06 54<7>lirc_pvr150: 49 39 66 57 29<7>lirc_pvr150: 4d 8b 4d 3d  
48<7>lirc_pvr150: 51 6b 52 81 74<7>lirc_pvr150: 55 0f 7e 1b 63<7>lirc_pvr150: 59 41 b8 91 f9<7>lirc_pvr150: 
5d dd 0a 67 50<7>lirc_pvr150: 61 00 00 00 50<6>lirc_pvr150: Hauppauge PVR-150 IR blaster: firmware version 1.3.0
Check lirc devices appear as /dev/lirc*
ls /dev/lirc* -l

output

lrwxrwxrwx 1 root root     5 2007-03-14 09:30 /dev/lirc -> lirc0
crw-rw---- 1 root root 61, 0 2007-03-14 09:30 /dev/lirc0
srw-rw-rw- 1 root root     0 2007-03-14 09:32 /dev/lircd
mythtv:/home/mythtv #
Test Remote Control read

Run IR remote test

/usr/local/bin/irw

Point the Hauppauge remote at the IR receiver (shorter cable) and press a button or two.

Output should look something like this.

000000000000178f 00 Mute Hauppauge_350
000000000000178f 01 Mute Hauppauge_350
0000000000001792 00 Prev.Ch Hauppauge_350
Configure IR Channel Changing

As we said before, the lircd.conf file you downloaded contains a definition of all working remote codes. Each device you are trying to control has a number assigned to it. For example, most DirectTV boxes use code 125.

Open up the /etc/lircd.conf at take a look at it.

An example from the middle of the list

name 1_124_KEY_CH_UP
2155610127

Since I have a DirectTV box, if can go up one channel by running the change_channel script

change_channel 1_125_CH_UP

Once you have test various commands (1_125_CH_POWER, 1_125_9...) you will want to make it edit you '/etc/lircd.conf' and the First part of the name that corresponds to your remote code.

name 1_125_KEY_CH_UP become CH_UP name 1_125_KEY_POWER become POWER

Now you can (and mythTV) can change a channel by simply calling change_channel UP

Logitch Harmony

see Logitech_Harmony_880_remote

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 the openSUSE 10.2 distribution.

Download.png - download LCDproc rpm from opensuse.org

If you prefer to compile from source:

Webpage.png - download LCDproc source

Make sure you also compile the server component of LCDproc and read the INSTALL file.

LCDproc.jpg



test your device

echo foobar > /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 about on the LCDproc mythTV wiki page

Specific VFD Information

iMON

See the IMON mythTV wiki page

Futaba

Futaba mythTV wiki page Used in the MSI Media Live

TV-out, the graphics adapter

There is a section on this wiki dedicated to 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 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

mythTV AtiProprietaryDriver wiki page

Howto Install ATI driver on openSUSE 10.2

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

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

To check if the ati driver is installed, run the following command

 rpm -qa | grep fglrx

To create a rpm of the ati driver, run the following command, replacing the version numbers as needed

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

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 and/or the NVidiaProprietaryDriver.

Warning.png Warning: The Nvidia driver RPM's for openSUSE 10.2 are built against the default kernel (version 2.6.18.2) on the DVD and not the updated version in the security repository. if you have updated your kernel version either during installation or at any point after, please follow the instructions for "The Hard Way" method. This is because the rpms will prevent your Xorg graphics server from loading if installed with any kernel newer than 2.6.18.2

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.

Note that you can also boot to runlevel 3 by appending the boot option '3' in GRUB, bypassing X, to fix any problems.

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.

Webpage.png - openSUSE NVIDIA page

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.

mythTV internal wiki pages about the 350 tv-out XV_on_PVR-350

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 (limited) standard interface to change the value in the bios.

The kernel transfers the time directly to your computer’s RTC (real time clock), but not the date. This leads to the computer waking up at the same time every day, and not just on the given date. The problem is that there is a more-orless standardized method of transferring the time to the RTC, but no such standard for the wakeup date. 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.

ACPI_Wakeup mythTV wiki page


Warning.pngACPI is still a pain, ACPI alarm function specs are limited and different bios/hardware vendors have different implementations. The Linux support on ACPI/alarm is also limited. I suggest you read the following article before spending hours/days on it (like I did)

Document.png - Wakeup call

mythbackend Auto-Start at Boot Time

The mythbackend can be configured to start at boot time. This is especially nice for openSUSE boxes that will be running as dedicated mythTV boxes. To auto start the mythbackend daemon at boot time follow these steps

su - root
YaST --> System --> System Services (Runlevel) --> go down to "mythbackend"
--> tab to "Enable" --> ok --> Finish --> Quit

Next time your computer is restarted, the mythbackend will be started automatically.

Client Connectivity

MythTV Plug-ins

MythVideo

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

VideoBrowseview.jpg






MPlayer Subtitles

The default MPlayer that we got from PackMan 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 different size in the tar file. Select your preferred font size and save the files in: ~/.player/.font

Play non-iso DVD Rips from Disk

This information maybe no longer relevant.Internal mythplayer now plays these files, still a cool trick to use xine.

Movies are not always in ISO format. Sometimes they are in VIDEO_TS VOB format and the following steps can be used to get them to show in the mythvideo (IMDB) display. For this example; let's assume the movie we have is named "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

mythgame

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

MythMusic

MythMusic is a sophisticated MythTV plugin that allows you to play and manage music and audio files .i.e MP3, Ogg, FLAC, wav etc. It is specifically designed to be operated by a normal remote control.

MythArchive

Make sure your user is member of the cdrom group

mythArchive on the mythTV wiki

Mytharchive.jpg









mythGallery

The MythGallery plug-in allows you to view all your photos or pictures as well as short movies from your digital camera. One of the options of mythGallery in to import the pictures from your digital camera. This option assumes that the device can be mounted as a normal filesystem and it just copies or moves files to the mythGallery directory. For some of the modern camera's this does not work because the can not be mounted as a filesystem. My Canon IXUS 950 can not be mounted so I created the following trick to import the files from my camera: Define this script to get executed in mythFrontend / mythGallery setup.


Script.png getpic.sh
#!/bin/sh

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

# Make the new directory
mkdir /data/pictures/$dir

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

# copy the files from your camera to your box
gphoto2 -P

cd ..
# Remove empty directories, mythTV also makes a directory 
rmdir 200*

# Clear the camera
gphoto2 -D -R


Browser Based Scheduling Access

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

Installing mythWeb

MythWeb allows you to view your current TV schedule on your Myth box remotely and allow you to schedule or modify recording schedules. This is especially useful when you are not at home but you think of a program that you want to record. Even if the show has already started, it will start recording the remainder of the show as soon as you tell it to. Ask your TiVo companions if they can do that! 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 Editor--> 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

NOTE: Some ISPs block incoming requests on port 80 (HTTP Port) to prevent you from hosting web servers to the general public, but they will never admit to it. (Since it's typically against your service agreement anyway). If the method above works from a local computer but does not work from a computer outside of your network, then change the port that Apache uses in the httpd.conf file. After doing that, you will now be able to access MythWeb by going the following URL

http://your-ip-address/mythweb:1234

Replace "1234" with the port you choose. I recommend using a port above 1024 to avoid permission conflicts. To find more on how to do this, find the Apache documentation.

Here are some screen shots of the "Listings" section and the "Recorded Programs" section. Click on one of them to zoom in.

MythWebList.png
Recorded Programs Screen

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

Windows Frontend

MythTV on Windows - How to obtain or build a native version of MythTV for windows.

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

Information regarding using an Xbox as a frontend can be found here.

UPnP (Universal Plug and Play)

MythTV has a built-in UPnP-server, a so called "UPnP AV MediaServer" device. With this feature you can share MythTV media files to any UPnP-client

more info can be found on the mythTV UPnP wiki page

Tips and tricks

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.


Missing: Howto update mythTV components using YaST, maybe with screenshot

backup & restore

Disk Image solutions that can restored with a single rescue CD: (it's mission critical remember)



Database backup:

simple mysql query

List all recordings from a terminal

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

recorded movies, displayed by MythVideo

The directory /usr/share/doc/packages/mythtv/contrib has some need scripts

mythrename.pl

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 | (while read FN ; do test -e "$FN" || rm "$FN"; done)

system monitoring

A system monitor can monitor all processes that are running on your box. When a process fails, action can be taken.

Read more on this mythTV wiki page

performance / memory

Don't load KDE or GNOME on your frontend

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"


Harddrive Latency

I recently had issues with my recorded mythTV video playback. They would play for about a second, then freeze for about half a second, and then play extra fast to catch back up to the audio. This would keep happening until I rebooted the box and eventually it would start again. The audio, however, was always consistent. The time that the video froze was occuring at the same time as the harddrive light blinking on the front of my box. I was able to resolve the issue by updating settings on the harddrive. I used the "hdparm" command (which is installed by default on openSUSE 10.2) to fix it. The following commands can be run to check the current settings on your harddrive and to then test its performance. Even if you aren't having any speed issues, it is still fun to see how fast your harddrive is running:

hdparm /dev/hda
hdparm -Tt /dev/hda

NOTE: You may need to change the drive (/dev/hda) to the drive you use.

If the "Timing buffered disk reads" is less than 5-10MB/sec, your drive settings need updated. Read up on the "hdparm" command on this website to increase the speed of your mythTV box.

On a 200Gig Maxtor drive and a 40Gig IBM deskstar drive, the "Timing buffered disk reads" stared at 2.10 MB/sec. After issuing the commands on the site mentioned, the speed jumped to 25.94 MB/sec. and the freezing issue hasn't occured since.

check if mythTV is recording or watching livetv

I assume there are better ways todo this, but I do the following: Using username "root". Using keyboard-interactive authentication.


Script.png checkdevice.sh
# Check if device video0 is used
grep P /dev/video0 > /dev/null
if [ $? == 0 ]
then
 echo "/dev/video0  =  AVAILABLE"
else
 echo "/dev/video0  =  BUSY"
fi