Difference between revisions of "XV on PVR-350"

From MythTV Official Wiki
Jump to: navigation, search
(Compiling the X driver on Gentoo with Modular xorg (6.9/7.0))
(Compiling the X driver on Gentoo with Modular xorg (6.9/7.0))
Line 58: Line 58:
 
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.
 
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
+
# Put the tar.bz2 file in /usr/portage/distfiles<br><code>cp xf86-video-ivtvdev-0.10.6.tar.bz2 /usr/portage/distfiles</code><br>
 
+
# Put the .ebuild in your portage overlay under x11-drivers/xf86-video-ivtv<br><code>mkdir -p /usr/local/portage/x11-drivers/xf86-video-ivtvdev/</code><br><code>cp xf86-video-ivtvdev-0.10.6.ebuild /usr/local/portage/x11-drivers/xf86-video-ivtvdev/</code><br>
<code>cp xf86-video-ivtvdev-0.10.6.tar.bz2 /usr/portage/distfiles</code>
+
# Build the digest for the ebuild<br><code>ebuild xf86-video-ivtvdev-0.10.6.ebuild digest</code><br>
 
+
# Add the package to package.keywords<br><code>echo "x11-drivers/xf86-video-ivtvdev ~x86" >> /etc/portage/package.keywords</code><br>
2. Put the .ebuild in your portage overlay under x11-drivers/xf86-video-ivtv
+
# Emerge the package<br><code>emerge xf86-video-ivtvdev</code>
 
 
<code>mkdir -p /usr/local/portage/x11-drivers/xf86-video-ivtvdev/</code>
 
 
 
<code>cp xf86-video-ivtvdev-0.10.6.ebuild /usr/local/portage/x11-drivers/xf86-video-ivtvdev/</code>
 
 
 
3. Build the digest for the ebuild
 
 
 
<code>ebuild xf86-video-ivtvdev-0.10.6.ebuild digest</code>
 
 
 
4. Add the package to package.keywords
 
 
 
<code>echo "x11-drivers/xf86-video-ivtvdev ~x86" >> /etc/portage/package.keywords</code>
 
 
 
4. Emerge the package
 
 
 
<code>emerge xf86-video-ivtvdev</code>
 
  
 
Notice: these are copies of the source code obtained from ivtvdriver.org, modified for the package structure of modular xorg.
 
Notice: these are copies of the source code obtained from ivtvdriver.org, modified for the package structure of modular xorg.

Revision as of 20:46, 29 March 2006

This How-To outlines how to get the xv extension working on the TV-Out of the Hauppauge PVR-350 in linux. This how-to focuses on Gentoo (RedHat notes added at the end), but the information should be useful for other distributions as well. This also 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 XF86[[Card Drivers]]. Add "ivtv" somewhere in that list.
  • Run a make clean and make install in that directory to install the ivtv driver.
  • Edit your 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  "fbdev" "/dev/fb2"
        BusID  "PCI:0:10:0"
[[End Section]]
  • Get your appropriate BusID from lspci (available from the pcitools package):
lspci |grep video
  • Get the appropriate fb device from /proc/fb:
cat /proc/fb
  • attachment:XF86Config_relevant_parts
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
  • attachment:xorg-x11-6.8.2-r5.ebuild

This How-To written by Jeff Simpson


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 4.3.99.902 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 xorg (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. Emerge the package
    emerge xf86-video-ivtvdev

Notice: these are copies of the source code obtained from ivtvdriver.org, modified for the package structure of modular xorg.

xf86-video-ivtvdev-0.10.6.ebuild

xf86-video-ivtvdev-0.10.6.tar.bz2

--JeffSimpson 20:41, 29 March 2006 (UTC)