PCI-e 1x Riser Experiment

This article is about running PCI Express 16x video cards on 1x slots, and the benefits of using a PCI-e riser cable. Note that not all GPUs are capable of doing this, but many of them are.

PCI-e 1x Riser cable

In order to fit cards larger than 1x, I had to use my rotary tool to carve a slit in the side wall. One of the reasons I bought the riser was so I could cut into that instead of potentially damaging my motherboard.

The Test Hardware and Software

I have performed tests on a motherboard with PCI-e version 1.0. The motherboard supports the 2nd generation of ATI Crossfire, but the 2nd PCI-e 16x slot only works if you are using 2 video cards compatible with that version of Crossfire. I performed tests on an Nvidia 7900 GTO and an Nvidia 8400 GS. The OS is Arch Linux 64 bit.  I tested with Lightsmark 2008 with Nvidia’s 275 drivers, and glxgears with the nouveau drivers.  Sure they’re not the best tests but this is old hardware and they get the point across.

This is what the 7900 looks like attached to the riser cable.  And yes, that is a CPU heatsink.

Test Results

Below are the test results. The 1x @ 1x rows are when the GPU was on the riser cable.

GPU Slot @ Speed Lightsmark glxgears
8400 GS 16x @ 16x 24.04 FPS 809 FPS
8400 GS 16x @ 1x 21.45 FPS 805 FPS
8400 GS 1x @ 1x 20.01 FPS 802 FPS
7900 GTO 16x @ 16x 79.61 FPS 453 FPS
7900 GTO 16x @ 1x 49.25 FPS 449 FPS
7900 GTO 1x @ 1x 37.09 FPS 449 FPS

Numbers don’t mean everything, there were some caveats when using the 1x slot.  The 8400 slightly flickered when performing the glxgears test, and the 7900 had very minimal artifacting around the mouse when using the nouveau driver.  The 7900’s fan speed was also limited to about 30%, which is the default speed. Both GPUs emitted about the same amount of heat regardless of what type of slot they were in.  These characteristics did not apply when running the card in 16x @ 16x, or 16x @ 1x.

Another interesting detail is POST mentioned that 64MB of RAM was shared for video. My motherboard doesn’t have integrated video, and in the BIOS settings the “AGP Shared Memory” value was set to 32MB. For this motherboard, if POST doesn’t see a GPU, it gives a beep error code. It makes me wonder what that shared memory was really going to.

When running glxgears with the Nvidia drivers, the 7900 got about 4700 FPS at 16x, and about 3250 at 1x. The 8400 got around 2400 FPS at 16x (I didn’t test 1x).

Additional Benefits

When benchmarking was over, I wanted to see what would happen if I connected the 7900 to the 16x slot and the 8400 to the 1x riser. Normally, if I put both cards in both 16x slots, the computer wouldn’t even POST. Amazingly, not only did the computer boot up and detect both cards, but with a little xorg.conf tweaking I got both cards to render separate 3D programs on different monitors with different desktop settings at the same time (under the same username). I ran lightsmark on both and it was very interesting to see which card did better in certain portions of the test. Overall the 7900 was either faster or on par with the 8400.  I know the CPU was a bottleneck, but I didn’t really feel like getting too in-depth with this experiment.

The Purpose of the Riser

According to the test results, you will find that low-end video cards like the 8400 GS don’t really lose much performance on the 1x slot.  Remember, this is a PCI-e 2.0 video card running on a 1.0 slot with more than half of it’s socket not in use. The great thing about the riser is it gives you access to the PCI-e 1x slots that may be covered up by large video cards with big heatsinks.  It’s especially handy if you have a setup where there  is no direct access to any of your PCI-e slots but want to use a low-end GPU, like the 8400, for something like PhysX or OpenCL.

See other Hacks and Mods

Your Feedback