HOWTO: KnoppMyth R5.5 and the Hauppauge HD-PVR

Overview:

This guide details installing the Hauppauge HD-PVR drivers and the SVN trunk version of MythTV using KnoppMyth R5.5 as a starting point. My current test platform is a KRP Dragon v2.0 (specs) which uses a DirecTV receiver as the HD source.

NOTE: Click here if you are running LinHES R6.

Requirements:
Words of Caution:

Read the requirements above! If you don't meet the requirements, don't expect it to work. This is crazy beta stuff, so no warranties. Don't complain about loss of data, broken features/drivers/software, headaches, etc...

What is working?

All the basics work including: LiveTV, recordings, commercial flagging and skipping.

What does not work?

Currently, you can't playback HD-PVR recorded interlaced content (480i or 1080i) without the frontend crashing. This is a known problem and the developers are working on it. Currently, I have my DirecTV box set to output only 720p. My HDHomeRun continues to work fine with any resolution and will deinterlace just fine.

Lossless transcoding of HD-PVR recordings does not work. This is something that mythtranscode will need added support for in the future.  The is currently a work-around script which requires compiling the latest ffmpeg and AVIDemux (see the wiki page for details).

I don't have mythstream working. I have not tired to get it working since I don't use it.

The weather stuff seems a little broken.  MythVideo works, but is in flux.

There is probably more broken stuff, so let me know what you find.

Prepare Your System:

Since you currently have a working and happy KnoppMyth R5.5 installation, you will need to verify a few things before backing up your working baseline configuration.

Make sure you are using a supported theme and OSD. If not, you will need to switch before updating. Here is the link to the stock themes currently in SVN:

http://svn.mythtv.org/trac/browser/trunk/myththemes
http://svn.mythtv.org/trac/browser/trunk/themes

Now it's time to make the backup. Go to the KnoppMyth menu option and choose the backup option and make sure it reports success. Here are some links to making backups under KnoppMyth:

http://knoppmyth.net/phpBB2/viewtopic.php?p=112490#112490
http://www.knoppmythwiki.org/index.php?page=MythBackupAndRestoreHowTo

Also, make sure you backup the custom KnoppMyth menus. You will want to copy these back once you have everything working.

mkdir ~/menus
cp /usr/share/mythtv/*.xml ~/menus

Install Required Packages

To install/build/use the latest MythTV, you will need to install Qt4. To build the HD-PVR driver, you will also need the mercurial source code control tool. So, do the following to become root and use apt-get:

su -
apt-get update
apt-get install libqt4-core libqt4-dbg libqt4-gui libqt4-qt3support libqt4-sql qt4-qtconfig qt4-doc qt4-designer qt4-dev-tools libqt4-dev libqt4-opengl-dev libqt4-opengl libqt4-sql-mysql mercurial

Now you will need to change your qmake command to the Qt4 version.

rm /etc/alternatives/qmake
ln -s /usr/bin/qmake-qt4 /etc/alternatives/qmake

Remove R5.5 MythTV Packages

You should still be root, so stop MythTV and use apt-get to remove the packages.

killall mythfrontend
/etc/init.d/mythtv-backend stop
apt-get remove mythtv mythplugins mythtv-themes mythstream

You still need to remove some extra stuff by hand; mainly any left over themes and (for some reason unknown to me) smolt.  It may be a good idea to totally wipe out /usr/share/mythtv, but I have not tried that yet.

rm -rf /usr/share/mythtv/themes
rm -rf /usr/share/mythtv/mythsmolt
rm -rf /usr/share/mythtv/mytharchive
rm -rf /usr/share/mythtv/mythstream
rm -f /usr/lib/mythtv

Build and Install the HD-PVR Driver

As an unprivilaged user (like mythtv), get the source code and build the driver. Then as root, install the driver.

hg clone http://linuxtv.org/hg/v4l-dvb/
cd v4l-dvb
make
su
make install
modprobe hdpvr

You should now see a /dev/videoX device. This should be /dev/video0 if you have no other capture cards in the chassis (which I strongly recommend). If you do not see this device reported, then reference the MythTV HD-PVR wiki page for more info. You can make a test capture, but it will only playback on your Windows machine right now.

Once the driver is working, you will want to add it to your /etc/modules file so it loads on boot.

cp /etc/modules /etc/modules.bak
echo hdpvr >> /etc/modules

The Quick Way (built on a Core2Duo processor)

The quick way is to download and install my prebuilt packages. These will probably not be the latest SVN version, but you can always build from source and install your own packages later.

wget -c -r -l 1 -A *.deb -nd http://www.psicat.com/Nathan/downloads/mythtv/
su
dpkg -i myth*.deb

Assuming everything goes well, you are ready to fire up MythTV again. You can either reboot or do the following:

/etc/init.d/mythtv-backend start
killall xinit

Make sure you check your log files located at /var/log/mythtv/ to make sure everything is OK. Also play with the frontend now and go through all the settings to make sure your theme and OSD are correct. The theme rendering has glitches after building the cache and you may need to restart the frontend to get a clean display. Once you are satisfied, proceed to adding the HD-PVR tuner.

Build MythTV from SVN (by script)

I have written a script to which will get/update the code, configure, make and build/install the packages.  This is what I'm currently using to make my builds.  You should run this script as root.

su -
wget -c http://www.psicat.com/Nathan/downloads/patches.tar.gz
tar xvzf patches.tar.gz

wget -c http://www.psicat.com/Nathan/downloads/get_mythtv.sh
chmod 755 get_mythtv.sh

wget -c http://www.psicat.com/Nathan/downloads/compile_mythtv.sh
chmod 755 compile_mythtv.sh

./get_mythtv.sh
./compile_mythtv.sh

Add the HD-PVR Tuner

This procedure is currently in flux. The best place for the latest info is the MythTV wiki page.
http://www.mythtv.org/wiki/index.php/Hauppauge_HD-PVR


References:

The Hauppauge HD-PVR page on the MythTV wiki: http://www.mythtv.org/wiki/index.php/Hauppauge_HD-PVR

The MythTV SVN ticket for HD-PVR support: http://svn.mythtv.org/trac/ticket/5443

Building MythTV from SVN on the KnoppMyth wiki (out of date): http://www.knoppmythwiki.org/index.php?page=CompileMythTVFromSVN

The DirecTV serial interface script: http://www.pdp8.net/directv/directv.shtml

My posts to the KnoppMyth forum during my struggle: http://knoppmyth.net/phpBB2/viewtopic.php?t=18558