Perhaps the most subjective component in any hardware discussion is the one responsible for generating the graphics. this is because the best choice for you will depend on how important graphics are in your system.
If you use the command line or a simple window manager, for example, an expensive, powerful card will be a waste of money. This is because it's in the realm of 3D graphics that most graphical processing units (GPUs) differ, and they often differ dramatically.
Although 3D rendering capabilities used to be important solely for running 3D games, the mathematical powerhouses contained within a GPU are now used for lots of other tasks, such as HD video encoding and decoding, mathematical processing, the playback of DRM-protected content, and those wobbly windows and drop shadows everyone seems to like on their Ubuntu desktops.
A better hardware specification not only means that games run at a higher resolution, at a better quality and with a faster framerate - all of which adds to your overall enjoyment - it now means you also get a better desktop experience.
Like CPUs, the development of GPUs never seems to reach a plateau. Their power seems to double every 18 months, and this is both a good and a bad thing. The good is that last year's models usually cost half as much as they did when they were released. The bad is that your card is almost always out of date, even when you buy the most recent model.
For those reasons, and because most Linux gamers won't want cutting-edge gaming technology when there are no cutting-edge titles to use it on (unless you dual-boot to Windows), we're going to focus our hardware on value, performance, hardware support and compatibility.
At the value end of the market, we're going to look at models slightly off the cutting edge, including a couple of cheap options and a few that are more expensive. For performance, we've run each device against version 3.0 of the Unigine benchmark.
This is an arduous test of 3D prowess, churning out millions of polygons complete with ambient occlusion, dynamic global illumination, volumetric cumulonimbus clouds and light scattering. It looks better than any Linux-native game, and it tests both for hardware capabilities and the quality of the drivers.
As the Unigine engine is used by a couple of high-profile games, including Oil Rush, its results should give a good indication of how well a GPU might perform with any modern games that appear.
However, we also wanted to test our hardware on games that you might want to play now. We tested the latest version of Alien Arena, for example, as well as commercial indie titles such as World of Goo.
More importantly, we also tested the kit with some games from Steam running on WINE. Steam is a games portal for Windows, and it has become the best way of buying and installing new games for that operating system.
There's some very strong evidence that Steam will be coming to Linux before the end of 2012. If that happens, its WINE performance should give us some indication of how certain Steam titles will run on Linux.
We tested five different GPUs. The first two are integrated, which means they're part of the CPU package rather than being discrete cards that you slot into your motherboard. These CPU and graphics packages were the norm in the old 2D days, but since 3D gaming demanded more power it went discrete. Now we're seeing more powerful GPUs integrated on die.
We started with Intel's HD 3000 on the i5-2500K CPU, and because Intel takes Linux driver development seriously, we expected great results from a single package. The other integrated part we tested has got a much better specification on paper; and that's the one that comes with AMD's A8-3850 APU package (aka AMD Fusion).
This is the rumoured core of a PlayStation 4, and although the GPU on our model is likely to be less powerful than Sony's eventual successor, it will still be possible to combine its computational power with another external Radeon card using the hybrid CrossFire option enabled from the Bios. It's listed as an AMD Radeon HD 6550D, and we used it with 512MB of assigned VRAM.
The remainder of the cards we looked at were discrete, and connect to a spare PCIe slot on the motherboard. With this method, you need to make sure you've got two spare slots, because a graphics card will often occupy an adjacent slot for extra cooling, and that your power supply is capable of providing enough raw energy.
We used a 600w supply, with two separate 12v rails for powering graphics hardware. Our cards needed additional power: a single additional six-pin connector, or two connectors for the most power-hungry - the Nvidia card.
The models we looked at were the cheap AMD Radeon HD 6670 (which is one of the cards designed to work with the A8-3850 APU), the more powerful AMD Radeon HD6850 and the Nvidia GTX 570, and we tested with both open source and proprietary drivers.
Testing: value cards
Results were mixed with Intel's HD 3000. Running Mesa 8.0.2, the Unigine benchmark barely ran, which means many modern games will be impossible to play. We had better luck with Alien Arena, which gave a comfortable 60fps, but we started to form an opinion that if you want to play games, you're going to need a proprietary driver.
The first Radeon GPU we tested was the HD 6550D integrated GPU on the A8-3850 APU, with version 0.4 of the Gallium open source driver. Desktop performance was good, and accelerated Unity on Ubuntu worked without any problems (as it did on the Intel).
Almost as impressively, the Heaven benchmark did run better than Sandy Bridge, which is more than can be said for the same demo on our ancient Nvidia 7600GTS, but the rendering was still broken.
We watched silhouettes move across the screen at seven frames per second, rather than colourful textures. That's why we then used the Catalyst proprietary drivers, which we installed manually.
Our next test was with Alien Arena, which ran at a surprisingly low 25fps - more than adequate for a bit of office mayhem, but nowhere near as good as Sandy Bridge. With the Heaven benchmark, however, the proprietary drivers rendered the graphics correctly, and also delivered a benchmark score of 10fps.
This might seem low, but when you consider it's an integrated chipset and the benchmark itself isn't optimised for playability, it's a good result. We tried the same test with both Unity 3D and Unity 2D to see if there was any difference when the desktop was using OpenGL, and we found none - proof that the recently-released Unity 5.12 did fix the problems with OpenGL performance.
We got a small step up in performance when we tested the Radeon HD 6670 1024MB. Alien Arena was now running at 55fps, and the heaven benchmark gave us 25.3fps, with a low of 11fps and a high of 46fps. This is a great result for a budget card, and if you opt for the passively cooled version, it would make an ideal option for a Linux games PC and movie player.
Testing: power cards
This leaves us with the two most powerful cards at our disposal - the Radeon HD6850 1024MB and the Nvidia GTX570. We started with the Radeon, and it was quickly scoring dramatically better results with the Heaven benchmark, returning a value of 46.2fps, minimum 15 and maximum 78.8.
Emboldened by this result, we thought we'd try a couple of other tests, firstly with the native (and ancient) version of Darwinia. This ran at an exceptional 160- 250fps, which means this card won't have any difficulty with older games.
However, we did experience problems when we then tried Steam. To get Bioshock to work, for example, we had to quit Unity 3D first. But even when it did work, the graphics weren't rendered correctly.
It was better news for Source games, though, as both Half Life 2 and the Lost Coast stress tests yielded good results - the latter running at 47.91fps despite its still spectacular rendering quality.
Now we get to the most expensive card in our set, Nvidia's GTX570 with 1,280MB of RAM. We first tried it with the open source nouveau drivers, but we had no success running our benchmarks, Darwinia or Steam games, and we guess that if you're intending to spend a considerable sum on graphics, you'll want the best possible drivers.
There are other advantages to using Nvidia's proprietary drivers, too. The custom setting utility, for example, which can be installed alongside the drivers, is a surprisingly powerful tool.
You can enable TwinView, which we've always found more stable than Xinerama for multiple screens, and switch between various resolutions for each screen without requiring a restart. The Catalyst drivers can do this too, but with Nvidia's you can also overclock your hardware and monitor the temperature of your GPU.
It's also quite handy for troubleshooting, and we've used the Settings tool to download EDID data from our screens and force other screens to use the same EDID data. With proprietary drivers, the GTX 570 was a clear winner.
It gave a strong result from the Heaven benchmark, at 66.6fps, and Bioshock ran perfectly from Stream running on WINE, so Nvidia hardware is going the way to go for native versions of Steam.
As to whether it's worth the extra money, this depends on how important gaming is to you.