Difference between revisions of "Hauppauge PVR-350"

From MythTV Official Wiki
Jump to: navigation, search
(FAQs)
(Added another solution discovered while helping a fellow mythtv user at a LUG meeting.)
Line 41: Line 41:
 
=== Displaying X on the PVR-350 video output ===
 
=== Displaying X on the PVR-350 video output ===
  
<b>Q:</b> How do you resize the MythTV UI and playback overlay to fit the TV screen when displaying X on the PVR-350 video output?
+
'''Q:''' How do you resize the MythTV UI and playback overlay to fit the TV screen when displaying X on the PVR-350 video output?
  
<b>A:</b><br>
+
'''A:'''
This is one approach, based on a MythTV install created using Jarod's guide [http://wilsonet.com/mythtv/fcmyth.php].  It does '''not''' currently resolve the more general problem of the whole X session fitting the TV screen.
+
This is one approach, based on a MythTV install created using Jarod's guide [http://wilsonet.com/mythtv/fcmyth.php].  It does '''not''' currently resolve the more general problem of the whole X session fitting the TV screen. (''See also '''A2''' below'')
  
 
# Fire up kcontrol:
 
# Fire up kcontrol:
Line 74: Line 74:
 
##*    '''Vertical over/underscan percentage:'''  8
 
##*    '''Vertical over/underscan percentage:'''  8
 
##*    '''Horizontal over/underscan percentage:'''  8
 
##*    '''Horizontal over/underscan percentage:'''  8
 +
 +
'''A2:''' This is another solution used to configure the port to operate. There are some [http://ivtv.writeme.ch/tiki-index.php?page=TvOutHowto test you should conduct first] to make sure the card is talking to the TV correctly. If that checks out, proceed to follow that HOWTO. However, the section detailing '''fbdev''' will probably cause X-windows to crash, so don't follow that part of the HOWTO.
 +
 +
* Add a boot script to execute:
 +
#!/bin/sh
 +
modprobe ivtv-fb
 +
Adding this to /etc/modules may interrupt ivtv from properly loading firmware. So make sure this boot script executes '''AFTER''' ivtv has loaded.
 +
 +
* It requires installing another X module called ivtvdev.
 +
*# You need to [http://ivtvdriver.org/index.php/Download#X_Driver download the ivtvdev X driver]
 +
*# Unpack it with bunzip2
 +
*# Locate fbdev_drv.o
 +
*# Copy it into the same directory that '''fbdev_drv.'''o is located in.
 +
*# Restart X-windows (assuming you already loaded ivtv-fb earlier).
 +
 +
NOTE: '''fbdev''' does NOT work!!! I found many sites a la Google that had all the correct X-windows settings, but they were about 2 years old, and they caused bad errors. The following settings should work pretty well:
 +
 +
* Configure X-windows (Xorg or XFree86) to have a "device" for X to get displayed on.
 +
<pre><nowiki>
 +
Section "Device"
 +
        Identifier "Hauppauge PVR 350 Framebuffer"
 +
        Driver "ivtvdev"
 +
        Option  "ivtv" "/dev/fb2"  <--- dmesg | grep ivtv, and look for an fb device, and plug this in
 +
        Option "VideoOverlay" "on"
 +
        Option "XVideo" "1"
 +
        BusID  "PCI:0:10:0"    <--- lspci, and look for the PVR card's PCI designator (not nVidia's)
 +
        Screen 0
 +
EndSection
 +
</nowiki></pre>
 +
 +
* Configure X-windows to have a screen using the Hauppage device.
 +
<pre><nowiki>
 +
Section "Screen"
 +
        Identifier "TV"
 +
        Device "Hauppauge PVR 350 Framebuffer"
 +
        Monitor "NTSC Monitor"
 +
        DefaultDepth 24
 +
        DefaultFbbpp 32
 +
        Subsection "Display"
 +
                Depth 24
 +
                FbBpp 32
 +
                Modes "720x480"
 +
        EndSubsection
 +
EndSection
 +
</nowiki></pre>
 +
 +
* Configure X-windows to have a monitor for your TV set.
 +
<pre><nowiki>
 +
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
 +
</nowiki></pre>
 +
 +
* Configure X-windows the ServerLayout section to reference your TV screen.
 +
* See also: [http://www.mythtv.org/wiki/index.php/XV_on_PVR-350 XV on PVR-350].
 +
* See also: [https://scifi.homelinux.net/mediawiki/index.php/MythTV#July_29.2C_2006_-_MLUG_install_party MythTV - July 29, 2006 - MLUG install party]
  
 
===Playback Freezes===
 
===Playback Freezes===

Revision as of 01:25, 2 February 2007

Description

The PVR-350

The PVR-350 is a video capture card manufactured by Hauppage. It is supported by MythTV using the ivtv driver.

What it Does & Doesn't Do

Does

  • Excellent Standard-Definition NTSC / PAL TV Out from recorded television (MPEG2)
  • Recording direct to MPEG2, just like PVR-150, PVR-250 and PVR-500
  • Built-in RC5 remote control, supported by LIRC.
  • Audio output from MPEG2 recordings
  • Technically X and xv output are working, but they are slow since they operate over the framebuffer.
  • mythdvd works if set up correctly, but takes a lot of CPU

Doesn't

  • Normal X output at decent speed/quality.
  • OpenGL and hardware accelerated output is not supported.
  • High-Definition (HD) output
  • No audio output from anything but MPEG2 - requires pass-through cable to line-in on sound card for other audio output


Well Suited for: a single-card solution for input/ouput of video and audio to a standard television, running only MythTV and recordings

Not Suited for: Mythvideo, mythmusic, mythgame, other output modes, recordings other than MPEG2

Associated Software

IVTV

Installation guides

Usually found upon install.

FAQs

Best info most likely found on the IVTV driver forum on Sourceforge. See also the wiki at: http://ivtvdriver.org/

How do you send TV-Out audio to the sound card?

Take the L/R audio out and feed it into a L/R female RCA to 1/8 male adapter. Plug this into the line input of your sound card and make sure mute is off.

Displaying X on the PVR-350 video output

Q: How do you resize the MythTV UI and playback overlay to fit the TV screen when displaying X on the PVR-350 video output?

A: This is one approach, based on a MythTV install created using Jarod's guide [1]. It does not currently resolve the more general problem of the whole X session fitting the TV screen. (See also A2 below)

  1. Fire up kcontrol:
    1. Go to Desktop->Panels->Hiding
    2. Set "Hide Mode" to "Allow other windows to cover the panel"
  2. In mythfrontend, go to Utilities/Setup -> Setup -> Appearance:
    1. Go Next to the second screen, "Screen settings"
    2. Check off the "Run the frontend in a window" box
      • Note: this step may not be necessary if you are using a different window manager, such as ratpoison. I found it necessary for KDE, so that step 2.1.9. would reposition the GUI properly.
    3. M ake sure "Use GUI size for TV playback is NOT checked
    4. Restart the mythfrontend (if you are set up for autologin, Ctrl+Alt+Backspace will restart the X server and log you back into your mythtv frontend user+session)
    5. Return to the screen in 2.1.1.
    6. Play with the GUI width, height, X offset and Y offset until you can just barely see the lower resizing corners and edge of the upper window box.
    7. (optional) Enlarge the width and height by one step (adds 8 to each count)
    8. (optional) Decrease the X and Y offsets by 4 to re-centre.
    9. The final settings for the NTSC TV used to write this walk-through were as follows:
      • GUI width (px): 616
      • GUI height (px): 456
      • GUI X offset: 46
      • GUI Y offset: 4
    10. The final settings for the PAL TV 4/3 used to write this walk-through were as follows:
      • GUI width (px): 632
      • GUI height (px): 544
      • GUI X offset: 55
      • GUI Y offset: 20
  3. In mythfrontend, go to Utilities/Setup -> Setup -> TV Settings -> Playback:
    1. On the 5th screen, "Hardware Decoding Settings", make sure "Use the PVR-350's TV out/ MPEG decoder" is checked.
    2. On the 8th screen, "Overscan", adjust the over/underscan percentages to your liking. This will resize the overlay when you're watching TV or playing back video.
      • Vertical over/underscan percentage: 8
      • Horizontal over/underscan percentage: 8

A2: This is another solution used to configure the port to operate. There are some test you should conduct first to make sure the card is talking to the TV correctly. If that checks out, proceed to follow that HOWTO. However, the section detailing fbdev will probably cause X-windows to crash, so don't follow that part of the HOWTO.

  • Add a boot script to execute:
#!/bin/sh
modprobe ivtv-fb

Adding this to /etc/modules may interrupt ivtv from properly loading firmware. So make sure this boot script executes AFTER ivtv has loaded.

  • It requires installing another X module called ivtvdev.
    1. You need to download the ivtvdev X driver
    2. Unpack it with bunzip2
    3. Locate fbdev_drv.o
    4. Copy it into the same directory that fbdev_drv.o is located in.
    5. Restart X-windows (assuming you already loaded ivtv-fb earlier).

NOTE: fbdev does NOT work!!! I found many sites a la Google that had all the correct X-windows settings, but they were about 2 years old, and they caused bad errors. The following settings should work pretty well:

  • Configure X-windows (Xorg or XFree86) to have a "device" for X to get displayed on.
Section "Device"
        Identifier "Hauppauge PVR 350 Framebuffer"
        Driver "ivtvdev"
        Option  "ivtv" "/dev/fb2"   <--- dmesg | grep ivtv, and look for an fb device, and plug this in
        Option "VideoOverlay" "on"
        Option "XVideo" "1"
        BusID  "PCI:0:10:0"     <--- lspci, and look for the PVR card's PCI designator (not nVidia's)
        Screen 0
EndSection
  • Configure X-windows to have a screen using the Hauppage device.
Section "Screen"
        Identifier "TV"
        Device "Hauppauge PVR 350 Framebuffer"
        Monitor "NTSC Monitor"
        DefaultDepth 24
        DefaultFbbpp 32
        Subsection "Display"
                Depth 24
                FbBpp 32
                Modes "720x480"
        EndSubsection
EndSection
  • Configure X-windows to have a monitor for your TV set.
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

Playback Freezes

(Taken from: [2])

You can increase the IVTV buffers by adding the following line to /etc/mythtv/modules/ivtv:

options ivtv yuv_buffers=32 mpg_buffers=16 vbi_buffers=16 pcm_buffers=16 dec_osd_buffers=2

those are the maximum amounts for all those buffers.

then run:

update-modules && rmmod ivtv && modprobe ivtv

If it works, instead of seeing:

ivtv0: Allocate DMA encoder MPEG stream: 128 x 32768 buffers (4096KB total)

you should see:

ivtv0: Allocate DMA encoder MPEG stream: 512 x 32768 buffers (16384KB total)

Recordings Won't Schedule / Live TV won't play

If you can configure the PVR-350 from mythtv-setup but you can't seem to get recordings to schedule (or watch live TV), you may not have the proper drivers loaded. See Troubleshooting:mythbackend:_Problem_with_capture_cards:_Card_1failed_init

References

  1. Here is a QuickRef Remote Guide: PVR-350 Remote Quick Guide
  2. XV on PVR-350
  3. IVTV Install
  4. More information about Hauppage can be found at Wikipedia