XV on PVR-350
This How-To outlines how to get the X Driver (with xv extensions) working on the TV-Out of the Hauppauge PVR-350 in various distributions of linux.
- 1 Configuring X (xorg.conf) (all distributions)
- 2 Compiling the X driver on a RedHat Compatible System
- 3 Compiling the X driver on Gentoo with Modular X.org (7.0-r1)
- 4 Compiling the X driver on Gentoo with Modular X.Org (6.9/7.0)
- 5 Compiling the X driver on Gentoo with X.Org 6.8.X
- 6 Installing on Debian with Xorg 7.0
Configuring X (xorg.conf) (all distributions)
This section describes the changes you will need to make to your XF86Config / xorg.conf file in order to enable the X driver.
- Edit your xorg.conf (or XF86Config) file to contain the following. Replace with your own fbdev and BusID as appropriate (see below):
Section "Device" Identifier "Hauppauge PVR 350 iTVC15 Framebuffer" Driver "ivtvdev" Option "ivtv" "/dev/fb2" Option "VideoOverlay" "on" Option "XVideo" "1" BusID "PCI:0:10:0" Screen 0 EndSection
Key points of this section:
- Driver "ivtvdev" - This is the X driver you downloaded or compiled, I used the downloaded version compiled for XFree86 on my X.org dist:
- Option "ivtv" "/dev/fb2" - Use ivtv and NOT fbdev. The fbdev is a built in module that is not compatible with ivtv 4.x, and generates all sorts of errors.
- Screen 0 - Each graphics device has a list of available screens for example an gforce fx5200 has screen 0 and screen 1:
- Get your appropriate BusID (for your PVR-350, not your video card) from lspci (available from the pcitools package). Note that the output from this program will be in Hex, you will need to convert to decimal for the xorg.conf file:
lspci |grep video
- Get the appropriate fb device from /proc/fb:
- VideoOverlay and XVideo are for enabling XVideo extensions - the driver should work without them.
- You will probably also want to add the Screen and Monitor sections:
Section "Screen" Identifier "TV" Device "Hauppauge PVR 350 iTVC15 Framebuffer" Monitor "NTSC Monitor" DefaultDepth 24 DefaultFbbpp 32 Subsection "Display" Depth 24 FbBpp 32 Modes "720x480" EndSubsection EndSection Section "Monitor" Identifier "NTSC Monitor" HorizSync 30-68 VertRefresh 50-120 DisplaySize 183 122 Mode "720x480" # D: 34.563 MHz, H: 37.244 kHz, V: 73.897 Hz DotClock 34.564 HTimings 720 752 840 928 VTimings 480 484 488 504 Flags "-HSync" "-VSync" EndMode EndSection
Section "Monitor" Identifier "PAL Monitor" HorizSync 30-68 VertRefresh 50-120 Mode "720x576" DotClock 42.6 HTimings 720 760 832 944 VTimings 576 577 580 602 Flags "-HSync" "-VSync" EndMode EndSection Section "Screen" Identifier "TV" Device "Hauppauge PVR350" Monitor "PAL Monitor" DefaultDepth 24 DefaultFbbpp 32 Subsection "Display" Depth 24 FbBpp 32 EndSubsection EndSection
- You can now start X by typing
X -screen TV
Compiling the X driver on a RedHat Compatible System
I also needed the x driver to get xine to play nice with the PVR-350. These steps worked to compile it on a CentOS 4.2 (RedHat Enterprise) x86_64 System:
- Download and extract xdriver source. Here I'll use the home directory (~).
- Install xorg-x11 source RPM, for me
rpmbuild -bc xorg-x11.spec-- This took a good half hour on my 2.8Ghz P4-521. This patches and compiles but does not install the source. I wonder if '
rpmbuild -bp' would be enough for this to work?
cp ivtvdev_drv.o /usr/X11R6/lib64/modules/drivers. On an i386 system the destination for the copy should be
/etc/X11/xorg.conf(see above edits to XF86Config).
- Restart X
The xdriver source compiled without any patches or fixes. Check
/var/log/Xorg.0.log after restarting X to see that the driver is loading. My log file stated that the driver is compiled for 22.214.171.1242 while I clearly have 6.8.2 installed. Odd, but it still works.
--Kbocek 21:51, 27 March 2006 (UTC)
Compiling the X driver on Gentoo with Modular X.org (7.0-r1)
- xf86-video-ivtvdev is now in portage!
- Add the following to /etc/portage/package.keywords:
echo "x11-drivers/xf86-video-ivtvdev ~* *" >> /etc/portage/package.keywords
- Add the fbcon use flag to /etc/portage/package.use:
echo "media-tv/ivtv fbcon" << /etc/portage/package.use
- Add the following lines to /etc/portage/package.mask to prevent x.org from updating:
- Edit the following line in /etc/make.conf to contain ivtvdev. An example line:
VIDEO_CARDS="nv nvidia vga vesa fbdev ivtvdev none"
- If you don't already have xorg 7.0-r1:
- xf86-video-ivtvdev should install itself, but if it doesn't:
- Edit your xorg.conf file as shown in the previous section.
Note: Depending on the kernel version you have installed, a patched version of xf86-video-ivtvdev may be needed. This should really be kernel-independent, but it's not, so we make it work. If you have a problem getting xf86-video-ivtvdev to compile, try the patches on bugs.gentoo.org or post your compile errors to the ivtv or myth mailinglist.
Compiling the X driver on Gentoo with Modular X.Org (6.9/7.0)
- found at ivtvdriver.org
Since Modular Xorg has drivers in separate packages, porting the xdriver to one of these packages was just a matter of hijacking the fbdev package and changing which files it compiled.
- Put the tar.bz2 file in /usr/portage/distfiles
cp xf86-video-ivtvdev-0.10.6.tar.bz2 /usr/portage/distfiles
- Put the .ebuild in your portage overlay under x11-drivers/xf86-video-ivtv
mkdir -p /usr/local/portage/x11-drivers/xf86-video-ivtvdev/
cp xf86-video-ivtvdev-0.10.6.ebuild /usr/local/portage/x11-drivers/xf86-video-ivtvdev/
- Build the digest for the ebuild
ebuild xf86-video-ivtvdev-0.10.6.ebuild digest
- Add the package to package.keywords
echo "x11-drivers/xf86-video-ivtvdev ~x86" >> /etc/portage/package.keywords
- Add "ivtvdev" to VIDEO_CARDS in make.conf
- Add video_cards_ivtvdev to USE in make.conf
- Emerge the package
- Edit xorg.conf (see configuration instructions above)
- Start X!
Notice: these are copies of the source code obtained from ivtvdriver.org, modified for the package structure of modular xorg.
- ivtvdev_drv.so Binary Driver (no guarantees on if this will work with your specific distribution, you're better off compiling)
--JeffSimpson 20:41, 29 March 2006 (UTC)
Compiling the X driver on Gentoo with X.Org 6.8.X
NOTICE: These instructions are outdated and may no longer work.
This section focuses on installing the X Driver (with XVideo extensions) in Gentoo under x.org 6.8.X. This assumes that you have tvout working on the Hauppauge PVR-350, or at least some parts of MythTV already working.
- Upgrade to the newest release of Ivtv, at this time, ivtv-0.3.8.
ACCEPT_KEYWORDS=~x86 emerge ivtv
- Upgrade/Install x.org. I used version 6.8.2-r5, but any new-ish release should be ok
- Download the XDriver from here: http://dl.ivtvdriver.org/xdriver/
- Unzip the archive into the source directory for X, in the
xc/config/cf/xorg.cfand look for
#define XF86CardDrivers. Add "ivtv" somewhere in that list.
- Run a
make installin that directory to install the ivtv driver.
- Edit your XF86Config or xorg.conf file as shown above
- Start X!
In order to facilitate, I created a patch and custom ebuild to download/install xdriver and patch the xorg.cf file.
- attachment:ivtv.xorg.cf.patch (now missing)
- attachment:xorg-x11-6.8.2-r5.ebuild (now missing)
--JeffSimpson 20:52, 29 March 2006 (UTC)
Installing on Debian with Xorg 7.0
- Debian package and associated files can be found at: http://www.hellion.org.uk/ivtv/debian/
- wget http://www.hellion.org.uk/ivtv/debian/xserver-xorg-video-ivtv_0.10.6-1~unreleased_i386.deb
- dpkg -i xserver-xorg-video-ivtv_0.10.6-1~unreleased_i386.deb
- Link to the original WNPP bug report http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=380174
- Link to the SVN version http://necrotic.deadbeast.net/svn/xorg-x11/trunk/driver/xserver-xorg-video-ivtvdev/