Linux and Composite Video, Continued…

In a previous post, I had troubles getting the Composite Out on an ATI video card to work in Linux. I even tried framebuffer support (even though I shouldn’t have to) but that didn’t work either. I ended up purchasing a nVidia card with Composite Out, since nVidia has better Linux support. So, the nVidia MX4000 card with composite output arrived today from NewEgg. After replacing the ATI PCI video card with the new nVidia AGP video card, the composite video on boot already looks sharper and clearer.

First, I made sure my kernel was compiled with AGP support as a module, with NVIDIA support enabled. (I am using the 2.6.10 kernel — I was having problems with the 2.4.28 kernel with getting X Windows to run with Video for Linux enabled.) Then, I downloaded the Linux drivers from nVidia, and ran the installation file. The installation file would try to install the nvidia module it compiled, but, it wasn’t able to insert it. I kept getting the following error:

./usr/src/nv/nvidia.o: init_module: No such device

After much digging, I checked in my BIOS… the “Assign IRQ for VGA” was disabled. I must’ve disabled it a long time ago on my ABIT BP6 motherboard in an attempt to conserve IRQs. Oops! (I completely wish every device in my computer could share one IRQ, and I know Doug will have a field day with that comment.)

I re-enabled the “Assign IRQ for VGA” in the motherboard’s BIOS, and that did the trick. I can now install the nVidia Linux driver. I did the following in /etc/X11/XF86Config-4 as referenced in the nVidia Linux driver README for configuring X (and made a few modifications for the composite-out.)

Here’s my code in XF86Config-4 that I modified:


Section "Module"
# Load "GLcore"
Load "bitmap"
Load "dbe"
Load "ddc"
# Load "dri"
Load "extmod"
Load "freetype"
Load "glx"
Load "int10"
Load "record"
Load "speedo"
Load "type1"
Load "vbe"
Load "v4l"
EndSection


Section "Device"
Identifier "nVidia MX4000"
Driver "nvidia"
EndSection


Section "Monitor"
Identifier "Generic Monitor"
HorizSync 30-50
VertRefresh 60
Option "DPMS"
EndSection


Section "Screen"
Identifier "Default Screen"
Device "nVidia MX4000"
Monitor "Generic Monitor"
Option "TVStandard" "NTSC-M"
Option "ConnectedMonitor" "TV"
Option "TVOutFormat" "COMPOSITE"
DefaultDepth 16

(the rest of the "Screen" section goes here)

Note: I had to comment out the Load "glx" statement above in order to get X Windows to load under the 2.4.28 kernel. Commenting this line out does cause problems with programs that use this video driver, like Video for Linux. Using the 2.6.10 kernel solves this problem and allows me to use glx.

After modifying XF86Config-4, it worked! Can’t believe it. The horizontal and vertical frequencies I used above were fine… I didn’t have to use a low horizontal frequency. In the end, Doug was right… throw away the ATI video card and buy a nVidia. I have X happily working in 640×480 on my Commodore Video Monitor Model 1702. Now, it’s off to getting Gnomemeeting working and displaying on the monitor… (Update: Here’s the post!)

Comments are closed.