XV on PVR-350

From MythTV Official Wiki
Revision as of 21:16, 29 March 2006 by JeffSimpson (talk | contribs) (Compiling the X driver on Gentoo with X.Org 6.8.X)

Jump to: navigation, search

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.

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 XF86Config (or x.org) 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  "fbdev" "/dev/fb2"
        Option "VideoOverlay" "on"
        Option "XVideo" "1"
        BusID  "PCI:0:10:0"
End Section
  • Get your appropriate BusID 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:

cat /proc/fb

  • VideoOverlay and XVideo are for enabling XVideo extensions - the driver should work without them.
  • You will probably also want to add a television screen (This is NTSC, reverse the commented lines for PAL):
Section "Screen"
        Identifier "TV"
        Device "Hauppauge PVR 350 iTVC15 Framebuffer"
        Monitor "NTSC Monitor"
        # Monitor "PAL Monitor"
        DefaultDepth 24
        DefaultFbbpp 32
        Subsection "Display"
                Depth 24
                FbBpp 32
                Modes "720x480"
                # Modes "720x576"
  • 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 xorg-x11-6.8.2-1.EL.13.20.src.rpm
  • cd /usr/src/redhat/SPECS/
  • 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?
  • cd ~/ivtv_xdriver_0.10.6/xc/programs/Xserver/hw/xfree86/drivers/ivtv
  • xmkmf /usr/src/redhat/BUILD/xorg-x11-6.8.2/xc
  • make
  • cp ivtvdev_drv.o /usr/X11R6/lib64/modules/drivers. On an i386 system the destination for the copy should be /usr/X11R6/lib/modules/drivers.
  • Edit /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 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 (6.9/7.0)

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.

  1. Put the tar.bz2 file in /usr/portage/distfiles
    cp xf86-video-ivtvdev-0.10.6.tar.bz2 /usr/portage/distfiles
  2. 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/
  3. Build the digest for the ebuild
    ebuild xf86-video-ivtvdev-0.10.6.ebuild digest
  4. Add the package to package.keywords
    echo "x11-drivers/xf86-video-ivtvdev ~x86" >> /etc/portage/package.keywords
  5. Add "ivtvdev" to VIDEO_CARDS in make.conf
  6. Add video_cards_ivtvdev to USE in make.conf
  7. Emerge the package
    emerge xf86-video-ivtvdev
  8. Edit xorg.conf (see configuration instructions above)
  9. 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/programs/Xserver/hw/xfree86/drivers/ivtv directory

  • Edit xc/config/cf/xorg.cf and look for #define XF86CardDrivers. Add "ivtv" somewhere in that list.
  • Run a make clean and make install in 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)