Add a GeForce FX 5500 to Fedora Core 6

My current linux installation is Fedora Core 6 (FC6) running on a motherboard with an AMD processor and integrated graphics. It could do the usual resolutions if they had a 4x3 aspect ratio (e.g. 1024x768). I had been running with a huge Sony CRT monitor that was great for in its time, but that time was now 10 years gone.

I had picked up a pretty reasonable LG monitor at a big box store - an LG W2053TX monitor that has a native resolution of 1600x900. When I tried to configure FC6 to support this resolution it became clear that it could not do it (with my current HW setup). The video driver was the "via" driver and if you tried to add a 1600x900 resolution to the xorg.conf file, the logfiles would indicate that the driver could not/would not support this resolution.

A little bit of web research and from talking to people it seemed that if I wanted 1600x900 I would need a dedicated video card - the integrated graphics and the via driver were just not going cut it.

The problem of course, was that I didn't want to pay hundreds of dollars for the coolest gamer video card, I just wanted something that could drive my new 1600x900 monitor.

The other problem was making sure that the linux support would be there, and that it would be there in FC6 and not only in some later Fedora version (I don't change OS at the drop of a hat - another story for another day).

My motherboard specified that it required an AGP 4x card and there was a big sticker on the AGP slot saying in Big Letters - 1.5 Volt AGP devices only. Apparently, this is another way of saying AGP 2.0. It sort of breaks down this way (according to Wikipedia) (scroll down for table!!!)





















AGP versionSignaling VoltageMultiplier
1.03.3V1x and 2x
2.01.5V4x
3.00.8V8x

I found a Sparkle Video card at Newegg.com for roughly $40 (including shipping) - it was called the Sparkle SF8855DT GeForce FX 5500 256MB 128-bit DDR AGP 4X/8X Video Card. It supported AGP 4x (which means 1.5V from the table above), the reviews said that it worked with FC 8 and 11, it was fairly cheap, and some of the reviewers had bought this card for the same reasons I wanted one - to rejuvenate an old PC.

The card arrived very quickly, but I didn't have time to do the install right away.

At first I was worried about a chicken and egg problem i.e. how do you use your new video card to drive the screen to configure your new video card?!?! - but a little research reassured me that the card can drive the screen in console mode just fine even without any X config. It's only when you start X (startx) that you'll potentially run into problems.

Mechanically, there were a couple of issues as the card has 4 tabs to it, (click here and view the photos) - 3 of the tabs have contacts on them and 1 tab is just a key. But my motherboard's AGP slot has only 3 sub-slots. But I realized that 2 of the tabs on the card are meant to fit into 1 large slot on the motherboard. Also the tab without contacts required me to slide open the motherboard's sub-slot before it would insert. But with these two problems out of the way (and a bit of reconfiguring some cables and other cards) the card seated fine with no problems.

I was anticipating that I'd have to inform the BIOS of the need to use the AGP card but I was pleasantly surprised to find out that BIOS auto-detected the new card.

I had also downloaded the Nvidia driver prior to doing any installation and left it in my downloads directory. As it turns out, I'm pretty sure that I ended up using a driver that I already had in FC6 as opposed to the one that I downloaded.

Next I booted linux and everything went fine until it came time to start X. When this hung, I entered Ctrl-Alt-Backspace to gain a linux console (might have to type Alt-F1 at this stage) and ran the Nvidia driver install shell script from my downloads directory as root. It also offers to write a new xorg.conf file for you and I said yes to that.

The generated xorg.conf file had 3 resolutions in it and it wasn't until I removed all but the lowest resolution that I could boot X (which you do from console mode by typing "startx").

Once I was in X I could run the Fedora system-config-display utility and it was at this point that I think I selected the homegrown driver. At this point I was getting closer but still not there yet.

The problem at this point was that I think that the monitor (by means of some sort of plug and play protocol?) was telling the OS that it provided a "virtual window" of 1440x900 and this is the highest resolution the utility would let me configure. Yet the specifications of the monitor clearly called for 1600x900 and one knows that performance is best when driving at the "native resolution" of the monitor.

The way out of this dilemma was a monitor "modeline" on my Xorg.conf. The right way to do this is to feed the monitor's specifications into either an online or a native utility and have it spit out a modeline. However I reasoned that this was more important in the old CRT days when you could do physical damage to a monitor. Today's digital LCD monitors will just shut themselves down if you try to overdrive them. Also I reasoned most LCD monitors at a given frequency are probably mostly the same. Again, these may be flawed assumptions but there are the ones that I went with.

I found this monitor section on the web for 1600x900 complete with modeline.
Section "Monitor"
Identifier "monitor1"
VendorName "Generic"
ModelName "Flat Panel 1600x900"
HorizSync 31.5-90.0
VertRefresh 60

# modeline generated by gtf(1) [handled by XFdrake]
Modeline "1600x900-60.00" 119.00 1600 1696 1864 2128 900 901 904 932 -HSync +Vsync
EndSection
This was the key piece as I could build on this to achieve 1600x900 resolution.

Basically, in the Screen section, Display sub-section you specify the modes that you want - to get 1600x900 I had to have a line that looks like this

Modes "1600x900" "1440x900" "1400x1050" "1280x1024" "1280x960" "1280x800" "1152x864" "1024x768" "800x600" "640x480"

Big Caveat - in the modeline command I changed
"1600x900-60.00"

to

"1600x900" as there had to be agreement between the "mode" and the "modeline" values.

One more piece was figuring out which resolution would be the default.

srandx shows all resolutions available and srandx -s 1600x900 configures 1600x900 resolution but what controls what resolution comes up when you first login?

Turns out that that is under Gnome control. Menu|System|Preferences|Screen Resolution (for each user account) sets the default resolution. The file that holds this setting seems
to be ~/.gconf/desktop/gnome/screen/default/0/%gconf.xml.

So here's a screenshot of FC6 - very nice I think.

Comments

Popular posts from this blog

Hit failing alternator with a hammer to confirm diagnosis of failing alternator due to bad brushes

alternatives --install gets stuck: failed to read link: No such file or directory

Using SSH, SOCKS, tsocks, and proxy settings to create a simultaneous "dual use" work/home computer