Michael Starks writes:

Sam Varshavchik wrote:
You did not mention which Linux distribution you're using. Search this
list's archives for "saa7127".


Sorry, yes, I should have been more specific.  FWIW, my other recent
post has a lot of relevant data.

I'm using CentOS 5.  Here's some relevant output:

[EMAIL PROTECTED] samba]# lsmod | grep saa7127
saa7127                13844  0
v4l2_common            20096  10
cx8800,cx88xx,bttv,ivtv,cx2341x,videodev,saa7127,tuner,saa7115,msp3400
i2c_core               23745  14
w83781d,i2c_isa,i2c_ec,cx88xx,bttv,lirc_i2c,i2c_i801,ivtv,i2c_algo_bit,saa7127,tuner,saa7115,msp3400,tveeprom

I don't recall your initial post, regarding your actual intentions with PVR350's TV-Out. You did not indicate if you had it working before, in which case you already know everything below. But I guess you're trying to get this to work for the first time.

MythTV's support for sending video playback through PVR350's TV-Out is, for all intents and purposes has been abandoned and obsoleted. The only use for PVR350's TV-Out involves running X on PVR350's framebuffer, essentially running your desktop on the TV display, instead of your VGA monitor. Then, you run MythTV normally, just like always, but since the video is now going to the TV-Out, that's where you see the video. I've been doing this for years, and it works fine, but this means that, pretty much, you have to dedicate your machine to MythTV's duties.

To run X on PVR-350's TV-Out requires additional setup, beyond installing the ivtv_fb module. The fact that you report a blank screen is actually a good sign -- that indicates that ivtv_fb has been load succesfully. Until the ivtv_fb module is loaded, the PVR350 shows a solid blue display.

Configuring X to run on ivtv_fb is tedious. First of all, you need to reconfigure your grub configuration to boot using the VESA framebuffer for the system console. Some bug in the Linux kernel, whose nature is not clear to me, results in a completely unusable console if you try to start the ivtv_fb framebuffer with the default system console, unless you boot in VESA mode.

The second step is to compile the driver ivtv X driver. The one posted on ivtvdriver.org is for an obsolete version of XFree86. You have to grab the code from the trunk, and compile it:

http://ivtvdriver.org/viewcvs/xdriver/trunk.tar.gz?view=tar

You'll need use --prefix=/usr parameter to the configure script, so that 'make install' dumps the driver into the correct directory.

Then you need to stick "vga=791" into the kernel boot line, to boot in 1024x768x16 mode (perfectly adequate for our purposes).

After succesfully booting, examine /proc/fb should reveal something like this:

[EMAIL PROTECTED] grub]# cat /proc/fb
0 VESA VGA
1 cx23415 TV out

This means that /dev/fb0 is your VESA system console, and the PVR-350's framebuffer if /dev/fb1.

The next step is to figure out the PCI address of your PVR-350, using lspci:

[EMAIL PROTECTED] grub]# lspci
[ blah blah blah ]
00:0b.0 Multimedia video controller: Internext Compression Inc iTVC15 MPEG-2 Encoder (rev 01)
[ blah blah blah ]

So, my PVR350 is PCI bus id 00:0b.0. Yours will be different.

Now, it's time to hack up xorg.conf. Back up your existing /etc/X11/xorg.conf, then set up something like this:


Section "ServerLayout"
       Identifier     "primary"
       Screen      0  "Screen0" 0 0
       InputDevice "Keyboard0" "CoreKeyboard"

EndSection

Section "ServerLayout"
       Identifier     "aux"
       Screen      0  "Screen0" 0 0


EndSection

Section "InputDevice"
       Identifier  "Keyboard0"
       Driver      "kbd"
       Option      "XkbModel" "pc105"
       Option      "XkbLayout" "us"
EndSection

Section "ServerFlags"
       Option "BlankTime" "0"
       Option "StandbyTime" "0"
       Option "SuspendTime" "0"
       Option "OffTime" "0"
EndSection

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"
       Option      "fbdev" "/dev/fb1"

       ### change the BusID to whatever is reported by lspci
       ### converted from hex to decimal
       BusID "PCI:0:11:0"
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

Note that in the Device section, you must use the actual values you've obtain from /proc/fb and lspci. Also note that lspci prints the bus ID in hexadecimal, while xorg.conf uses decimal numbers. That was lots of fun to figure out.

Depending on your existing hardware, you may need to tweak this xorg.conf, in accordance to the options set in your existing one, specifically keyboard and mouse setting. You'll need to figure that one out yourself.

Attachment: pgppB7zCOPIkD.pgp
Description: PGP signature

_______________________________________________
ivtv-users mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-users

Reply via email to