Tag/tag.png

Unsupported Version
This article applies to an unsupported version of Ubuntu. More info...

Tag/tag.png

Candidate for Deletion
This article may not be appropriate for this wiki, and may be deleted. More info...

Introduction

The Hauppauge 350 WinTV PVR comes with a feature the other Hauppauge models lack: a TV Out. This might not sound particularly exciting, since most videocards have one too, but it might come in handy. You could have no videocard at all, it might be broken or your videodrivers may be unstable or inadequate. Of course, you also might want to make good use of yet another screen you happen to have in the vicinity of your pc.

Below are the basic instructions for getting the most out of your Hauppauge 350 TV Out: using it as an X screen. Basically, this means another desktop, shown on your TV. Mythtv users might be interested to know that it will also enable them to run Mythtv on the tv, without a monitor. These instructions also take care off showing the Mythtv menus on your monitor, but live TV on your tv (if you have this feature enabled).

One final consideration: being generated from a framebuffer, the quality of the extra Hauppauge X screen is not great and using it for a second monitor is not a good idea. The quality of video and live TV is excellent though, better than some videocards.

Step 1: loading the ivtvfb module

Support for the Hauppauge cards (and other tuners) is provided by the IVTV driver. Since Ubuntu Feisty, these are included in the kernel and there is no need to install them. The framebuffer module (called ivtvfb) is present in Hardy, but it is not loaded at boot by default. To load it, add to /etc/modules by:

sudo nano /etc/modules

and adding

ivtvfb

to the list. There is no particular need to reboot right now.

If you have been using the Hauppauge TV Out in a previous Ubuntu version, you might notice the name of the module has changed. Indeed, it used to be ivtv-fb.

Step 2: make X play nice with IVTV

Edit your sources.list:

sudo nano /etc/apt/sources.list

and add:

deb http://ppa.launchpad.net/superm1/ubuntu hardy main

Next, update and install the xserver-xorg-video-ivtv package:

sudo apt-get update
sudo apt-get install xserver-xorg-video-ivtv

Step 3: getting some vital info

You might want to reboot now to see if everything is still in working order.

If your machine booted fine, we need two essential pieces of info. First, run

cat /proc/fb

You will get something like:

0 cx23415 TV out

It's the first number you need to know. In the example it is a zero. This tells your TV Out is using framebuffer zero. Also run:

lspci | grep iTVC15

and you should get a line like this:

06:02.0 Multimedia video controller: Internext Compression Inc iTVC15 MPEG-2 Encoder (rev 01)

Again, it's the first number you need to know. Here it's 06:02.0, the busID of your card. It is a hexadecimal number, meaning the might need to convert it to decimal yourself.

Step 4: telling X to use the TV out

Make a backup of your current and working xorg.conf:

sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.backup

and then start editing:

sudo nano /etc/X11/xorg.conf

In the following it is assumed you want to keep your current monitor up and running and a second screen from the Hauppauge TV out is added. You will be able to move your cursor between the two screens, but you cannot drag windows between them. Basically, the two screens are separately and independendly operating X-screens.

Look for the ServerLayout section and enter a second screen, in this example called "TV":

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Standard Monitor" 0 0 # <--- There is a line like this in your original xorg.conf, but without the 0's
    Screen      1  "TV" RightOf "Standard Monitor" # <--- add a line like this. You can also use LeftOf.
EndSection

If there are more lines in this section, such as InputDevice, leave them alone. Now take a closer look at your xorg.conf. You will notice for the original "Screen" line in the ServerLayout section, there is a corresponding Screen section. There, a device and a monitor is defined. You do not need to touch those sections, but we will need to add the same three sections for the Hauppauge. There are minor differences for PAL or NTSC users.

Section "Screen"
Identifier "TV"
Device "HauppaugePVR"
Monitor "NTSC Monitor" # <--- or "PAL Monitor" for PAL users
DefaultDepth 24
DefaultFbbpp 32
Subsection "Display"
Depth 24
FbBpp 32
Modes "720x480" # <--- for NTSC, for PAL delete this line and uncomment the next
# Modes "720x576" # <--- uncomment for PAL users
EndSubsection
EndSection

Section "Device"
Identifier "HauppaugePVR"
Driver "ivtv"
Option "fbdev" "/dev/fb0" # <--- use the number you got from cat /proc/fb0
Option "VideoOverlay" "on"
Option "XVideo" "1"
BusID "PCI:0:10:0" # <--- from lspci (in decimal)
EndSection

And finally the Monitor sections for NTSC and PAL respectively:

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

That's it. Restarting X or rebooting should give you two separate X screens after logging in.

Miscellaneous remarks

* When your framebuffer is functional, you will notice that during startup and shutdown the messages are displayed on the TV as soon as the framebuffer module has loaded. There used to be a workaround for that, but in the latest IVTV drivers this does not work anymore. It's harmless, but annoying when you have to boot into recovery mode and read the terminal from the TV.

* There are known issues with ivtvfb and Mythtv, particularly with the image quality of the on-screen display. There is a workaround for that, and someone should be so kind to describe that here Smile :) On the bright side, ivtvfb will not crash Mythtv and you will be able to use this great program on your TV - which is probably why you wanted to use the framebuffer in the first place.

Troubleshooting

* Check out the guide for Gutsy and especially its troubleshooting section. It should still be applicable.

* A great way to debug is to analyse X's log, located in /var/log/Xorg.0.log. Lines with starting with (EE) indicate an error and make excellent search terms.

* Head over to IVTV and check out the latest documentation.

* There is a thread at Ubuntu Forums


Ubuntu_Hardy_Hauppauge350_X_on_your_TV_OUT (last edited 2017-09-08 02:43:05 by ckimes)