Search:  
Gentoo Wiki

HOWTO_X_windows_through_Hauppauge_350_TV_Out

This article is part of the HOWTO series.
Installation Kernel & Hardware Networks Portage Software System X Server Gaming Non-x86 Emulators Misc

MythTV Series

MythTV

Installation

Tips/Tweaking

Usage

edit

Contents

Introduction

This howto won't explain how to get your card working, installed, or configured correctly. The assumption here is that you have managed to get past the numerous hurdles involved in getting the Hauppauge TV card up and running and now you would like to run a windows manager through your TV. I'm using it to pipe WinTV into my television as opposed to using whatever native TV out capabilities your main graphics card may have.

The first and most confusing step is to ensure that you have the correct driver available which Xorg can use to recognize the TV out on your card and use it as a proper device. I was unable to find the correct file in the media-tv/ivtv portage emerge so I used the driver from the http://ivtv.writeme.ch/ website. The latest stable version as of this writing is 0.2.0.

Get the driver

NOTE: This page seems very out of date, current (9/25/2006) version of ivtv is ivtv-0.7.0. This page seems to have related information that's more up-to-date. -m

UPDATED INFO: I don't have time to rework this section right now, but the current (5/2006) version of ivtv is 0.4.4, and the X driver (which is a separate download now) is 0.10.6. Both downloads can be found at http://ivtvdriver.org/index.php/Download

- end updated info -

cd /tmp
wget http://easynews.dl.sourceforge.net/sourceforge/ivtv/ivtv-0.2.0-rc3k.tgz
tar zxvf ivtv-0.2.0-rc3k.tgz
cd ivtv-0.2.0-rc3k/utils/
install -c -m 0755 ivtvdev_drv_o /usr/X11R6/lib/modules/drivers/ivtvdev_drv.o

If you're running amd64 (like me), you might be interested in a precompiled ivtvdev xdriver, thankfully you can do the following:

cd /tmp
wget http://www.mail-archive.com/ivtv-users@ivtvdriver.org/msg00496/ivtv-xorg.tar.bz2
tar xvjf ivtv-xorg.tar.bz2
cp usr/lib64/modules/drivers/* /usr/lib64/modules/drivers/


If you are using a non-standard installation, the driver directory may be different:

cp usr/lib64/modules/drivers/* /usr/lib/xorg/modules/drivers

Single Monitor Configuration

First determine what framebuffer your card is using:

cat /proc/fb

Mine returns:

0 VESA VGA
1 iTVC15 TV out

You will need to replace the lines in the xorg.conf with your appropriate FB device.

I'm going to include the entire contents of my xorg.conf as it can be confusing determining dependencies if you can't see the whole thing.

Note: If you only see the VESA framebuffer, make sure you have the ivtv-fb.ko module loaded.

File: /etc/X11/xorg.conf
Section "Module"
	Load        		"dbe"
	SubSection  		"extmod"
		Option    	"omit xfree86-dga"
	EndSubSection
	Load	"type1"
	Load	"freetype"
	Load	"glx"
EndSection

Section "Files"
	RgbPath	"/usr/X11R6/lib/X11/rgb"
	FontPath   "/usr/share/fonts/misc/"
	FontPath   "/usr/share/fonts/TTF/"
	FontPath   "/usr/share/fonts/Type1/"
	FontPath   "/usr/share/fonts/75dpi/"
	FontPath   "/usr/share/fonts/100dpi/"
EndSection

Section "ServerFlags"

EndSection

Section "InputDevice"
	Identifier	"Keyboard1"
	Driver		"kbd"
	Option 		"AutoRepeat"	"500 30"
	Option 		"XkbRules"	"xorg"
	Option 		"XkbModel"	"pc105"
	Option 		"XkbLayout"	"us"
EndSection

Section "InputDevice"
	Identifier		"Mouse1"
	Driver			"mouse"
	Option "Protocol"	"ExplorerPS/2"
	Option "Device"		"/dev/input/mice"
	Option "Buttons"	"7"
	Option "ZAxisMapping" 	"4 5"
EndSection

####HERE ARE THE RELEVANT SECTIONS FOR THIS HOWTO

Section "Monitor"
        Identifier  "NTSC Monitor"
        HorizSync  30-68
        VertRefresh 50-120
        Mode "720x480"
          DotClock 34.564
          HTimings 720 752 840 928
          VTimings 480 484 488 504
          Flags    "-HSync" "-VSync"
        EndMode
EndSection

Section "Device"
        Identifier  "Hauppauge PVR 350 iTVC15 Framebuffer"
        Driver      "ivtvdev"
        ### change fb1 to whatever your card grabbed when you typed cat /proc/fb
        Option      "fbdev" "/dev/fb1"
	Option      "ivtv" "/dev/fb1"

        ### change the BusID to whatever is reported by lspci
	### converted from hex to decimal
	BusID "PCI:0:10:0" # lspci says 00:0a.0
	### More examples
        #BusID "PCI:0:8:0" # lspci says 00:08.0
	#BusID "PCI:1:14:0" # lspci says 01:0e.0
	#BusID "PCI:0:5:1" # lspci says 00:05.1
EndSection

Section "Screen"
        Identifier  "Screen0"
        Device      "Hauppauge PVR 350 iTVC15 Framebuffer"
        Monitor     "NTSC Monitor"
        DefaultDepth 24
        DefaultFbbpp 32
        Subsection "Display"
          Depth 24
          FbBpp 32
          Modes "720x480"
        EndSubsection
EndSection

Dual Monitor Configuration

This is still a work in progress as I have yet to get it to work 100% (7-17-06)

This will hopefully show you how to set up a configuration where you can still have one monitor functioning as a regular computer and have the 350 output to a TV Screen.

Note - I cut out some of the irrelevant stuff to make this a little shorter

File: /etc/X11/xorg.conf
Section "Device"
    Identifier  "Nvidia"
    Driver      "nvidia"
    #VideoRam    65536
    # Insert Clocks lines here if appropriate
EndSection

 Section "Device"
 Identifier  "Hauppauge PVR 350 iTVC15 Framebuffer"
 Driver      "ivtvdev"
 Option      "fbdev" "/dev/fb0"      # <-- modify if using another device
  BusID "PCI:0:11:0" # get the ID with lspci convert the value from hexa to decimal
 EndSection 

Section "Screen"
    Identifier  "Screen 1"
    Device      "Nvidia"
    Monitor     "My Monitor"
    DefaultDepth 24
EndSection

Section "Screen"
        Identifier  "TVScreen"
        Device      "Hauppauge PVR 350 iTVC15 Framebuffer"
        Monitor     "NTSC Monitor"
        DefaultDepth 24
        DefaultFbbpp 32
        Subsection "Display"
          Depth 24
          FbBpp 32
          Modes "720x480"
        EndSubsection
EndSection

Section "ServerLayout"
    Identifier  "Simple Layout"
    Screen 0 "Screen 1"
    Screen 1 "TVScreen" RightOf "Screen 1"
    InputDevice "Mouse1" "CorePointer"
    InputDevice "Keyboard1" "CoreKeyboard"
EndSection

This creates two screens which are next to each other. Note - you can't drag windows between the monitor and the TV screen because Xinerama isn't running.

At this point, if you restart X, you should get X on the TV screen as well. To start mythtv on that, do

export DISPLAY=:0.1
mythfrontend

Mythtv SHOULD start up on the TV screen. Although as of right now, it's all black and blotchy for me, so I'm trying to work that out.

Retrieved from "http://www.gentoo-wiki.info/HOWTO_X_windows_through_Hauppauge_350_TV_Out"

Last modified: Mon, 25 Sep 2006 10:12:00 +0000 Hits: 17,126