Yesterday I spent a couple of hours trying to get my new Hauppauge HD PVR working under Linux so I’m writing down the steps I took in case I need them again and sharing them here in case somebody else finds the information useful.
Some background information first; I’m running Debian 6 (AMD64) and the HD PVR I bought is the “Gaming Edition”, which I believe is the same as the normal one, just with a multi-console component cable included… and different colour lights.
First, I installed the latest Video 4 Linux drivers with:
git clone git://linuxtv.org/media_build.git
cd media_build
./build
make install
The build part complained about missing lsdiff and Proc::ProcessTable, so I installed patchutils and libproc-processtable-perl and then ran it again successfully. I then rebooted and connected up the PVR, checked dmesg to find out which video device number it had been assigned and then tested with
cat /dev/video1 > test.ts
This created a video file that could be viewed in Movie Player, but it won’t work in VLC (which is my preferred player) for some reason – I’d get audio but no video. However, the quality of the video was somewhat less than stellar; the colours were washed out and there was no detail in the whites. I installed and tested it on a Windows PC with the supplied drivers and software to confirm that the device was working OK (it was), then set about trying to find out how to change the picture settings.
I installed v4l2-ctl and ran it with the –all switch to gather information about the PVR and found that it had a recent firmware version, I can’t recall the version number, but it was from 19/10/2011. I then found this page, dated 20/10/2011, which is a patch for setting the min/max/default values for the hdpvr picture controls. I applied it, rebuilt and reinstalled the hdpvr driver, rebooted and… success! Picture quality is now much closer to the test video I’d captured on Windows and adequate for my needs.
So, the steps taken were:
Install lsdiff and Proc::ProcessTable (this step not required if you already have them installed):
sudo apt-get install patchutils
sudo apt-get install libproc-processtable-perl
Download the Video 4 Linux drivers (includes the hdpvr module required for the Hauppauge):
git clone git://linuxtv.org/media_build.git
Apply the patch (I did this manually as it was only a few lines and I wanted to see exactly what settings were changing, but you could use the patch command.)
Build and install the V4L drivers:
cd media_build
./build
make install
Reboot, connect PVR, run dmesg to find the video device id assigned, then test with:
cat /dev/video1 > test.ts (change /dev/video1 to whatever device id was assigned, i.e. /dev/video0, /dev/video2, etc.)
Those are the steps I took, but it was hard work to find all the information and I don’t doubt that you’ll run in to problems that I didn’t. I probably won’t have all the answers, but feel free to ask if you need any clarification on this.
Now I just need to find some software for capturing the video that’s a little more refined than cat and then to capture some video!