Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I'm building or buying a new Linux system, and I'm trying to select the best graphics card for my needs. How do I go about making this decision?

There's dozens of computer-gear review sites which drool over every detail of new graphics hardware and perform detailed benchmarks and pros and cons — for Microsoft Windows. Are these ever useful sources of information for Linux too? Does any site at least give Linux a cursory look?

I'm primarily interested in good 2D performance, but with fancy new desktop environments now requiring hardware-accelerated 3D, I need to consider that too. Where can I find pre-purchase information on that?

I strongly prefer having an open source driver. How do I judge which open source drivers are the best in terms of features support and performance, without joining a dozen different mailing lists? Are specific companies almost always the best bet, or does it change?

What are the advantages and drawbacks of a closed-source driver? Is this mostly about 3D performance, or are there other features enabled by proprietary drivers that I might miss out on? Since a closed-source driver will mark the Linux kernel as tainted, are the closed-source companies good at providing direct end-user support for related problems? Is the state-of-the-art finally such that I can choose between open or closed for any given graphics card, or do some models require one or the other?

It'd be great if the card just worked hassle-free with whatever modern Linux distribution I choose, with no need to go through a long how-to process. Is this a reasonable hope, and how can I best find a card that'll work that way?

How do I find if a specific graphics driver fits a given model on the market? Is it best to buy older cards in order to insure that support is available?

share|improve this question
    
I'm not making this a community wiki because I'd like people to get credit for answering, but if you have further refinements to the question itself please edit it or add comments here which I'll integrate. Thanks. –  mattdm Mar 18 '11 at 15:19
    
Is it really worth calling the kernel tainted just because of a closed Nvidia driver? As I see it, if hardware performance is the main issue I am not really concerned about the "openness" of the driver, only its performance. If the performance gap were minimal it would be a different story, but from my experience Nvidia's closed driver is far above the quality of open-source equivalents. However, would I be interested in an open-source alternative if it was equal in performance? Of course. –  Mr. Shickadance Mar 24 '11 at 11:39
9  
@Mr. Shickade — "tainted" is a technical term. See tux.org/lkml/#s1-18. Additionally, while you may not be concerned about the openness of the driver, as I mentioned above, this is important to me, and it is important to other people as well. –  mattdm Mar 24 '11 at 11:46
1  
Well, that explains things. I never thought about it from that perspective. However, I understand not everyone shares the same views. As a desktop Linux user I am glad that Nvidia provides such a high-quality driver for their hardware. –  Mr. Shickadance Mar 24 '11 at 12:44
1  
Do we have an updated version of this question? –  barraponto Aug 29 at 1:28

10 Answers 10

Open source drivers are getting pretty good these days. I haven't had any problem with Intel or AMD hardare.

Intel
I hear the old ones are pretty bad, but my G4500HD does everything I need well. Video acceleration could be better though. There isn't a proprietary driver for Intel either, your only choice is open source. The composited 3D desktop in KDE works great on my laptop which has an Intel chip.

AMD/ATi
Right now the older cards are better supported than the new ones. If you could somehow get an x1800 or something from the same generation that would probably be the best. The r300g driver is getting more development work than r600g. That's not to say r600g is bad, in fact it's great! It's just somewhat behind the driver for the older hardware. AMD has a proprietary driver for the new hardware, but in my experience you want to avoid it; it's pretty bad. The hardware covered by r300g isn't supported by that driver, so the open driver is your only option there. And like the Intel chip I have, my Radeon 4850 runs the composited desktop in KDE well.

At the moment, I wouldn't recommend an HD6000 series. The 6900s have no support at all in the open driver, and the others have basic support. Go for an HD5000 or an HD4000.

Nvidia
They have a really good proprietary driver, but the open driver is struggling along. It's getting better all the time, but Nvidia is doing nothing to help the developers. At least AMD helps out a little bit for their hardware.

The advantage to having an open driver is that it will work out of the box in any distro. If you install Fedora, everything will work including dual screen and 3D. The proprietary ones are painful to setup. Neither of them properly set up my dual screens. It was easier to setup with Nvidia which isn't saying much because the AMD blob was just awful at this. Also, anytime you update the kernel, you have to reinstall the driver. Most distros take care of this if you install the in-repo version, but if you don't it's annoying to boot up one morning and realize you updated the kernel and now X.org doesn't work.

If you aren't planning on playing 3D games, either the Intel or AMD drivers are the best. The AMD driver is more modern than the Intel one, it uses the Gallium3D architecture within Mesa (thats what the g stands for in r600g), but they both get the job done.

share|improve this answer
    
The site gives you simple and easy to follow instructions for Nvidia on Fedora. Your comments maybe a little out of date. –  Sardathrion Jun 27 '12 at 9:56
    
Since 3 years passed by, is your answer still up-to-date for 2014? Thanks! –  landroni Jan 25 at 7:17
    
You can check which features are supported by the two big free software driver projects. Choose a version that has all the features you need and find hardware that's well supported by that version. AMD Hardware: xorg.freedesktop.org/wiki/RadeonFeature NVidia: nouveau.freedesktop.org/wiki/FeatureMatrix –  Matthias Weiler Feb 16 at 23:56

Although this post is based on facts, it still contains my personal experience and opinions.

Nvidia

Although there is a project for OpenSource drivers, you probably need to consider Nvidia being closed source drivers only. Now in case of Nvidia this doesn't really bring a lot of bad things since they really work on their drivers very hard. The best support when it comes to closed source graphic card drivers on Linux.

Nvidia graphic cards are the only ones that provide equivalent performance on Linux and Windows.

Still, the closed source drivers imply some limitations like no support for features available only to GPL drivers (like KMS).

Intel

Now when choosing Intel you need to be extremely careful. Some of the Intel graphic cards are actually 3rd party bundled cards that don't have any (or have very crappy) support. But if you choose the correct chip, you can enjoy the best opensource drivers out there. For example even very low end Intel cards can be faster in compositing window managers then high end Nvidia cards.

AMD

Now this is complex. AMD provides both proprietary drivers (that tend to suck a lot) and they also release documentation and support opensource drivers development.

Now the problem is that the opensource drivers will never contain certain licensed/patented/etc... features and since they don't really concentrate on the closed source drivers development I guess they will always be behind (Windows features/performance).

share|improve this answer

Check out the following lists of linux friendly graphics cards/chipsets, both open and proprietary:

http://www.phoronix.com/scan.php?page=category&item=Graphics%20Cards (provides benchmarks and reviews and all, pretty cool)

http://www.tldp.org/HOWTO/Hardware-HOWTO/video.html

http://hardware4linux.info/search/

http://xorg.freedesktop.org/wiki/Projects/Drivers?action=show&redirect=VideoDrivers

On a personal note, i would choose a NVIDIA graphics card. Their proprietary linux drivers are really good and frequently updated. They even release driver versions for FreeBSD and Solaris. To my knowledge there's no match out there(neither proprietary nor free) and I didn't have any real issues with direct rendering and 3D pertaining to NVIDIA cards since GeForce series got out.

share|improve this answer
2  
These are helpful links, but I'd really love to see some elaboration. (Some are more helpful than others — the TLDP document talks about XFree86, not Xorg... what parts of it are still relevant?) –  mattdm Mar 21 '11 at 12:41
    
Xorg is a fork of XFree86, thus some parts might still be relevant, thought lots of investigation would be needed in order to figure those parts out. My bottom recommendation would be to stick with one reviewed by phoronix since that is a guarantee it will work on a Linux system at maximum capacity, including direct rendering and 3d acceleration. –  Shinnok Mar 21 '11 at 15:31
1  
Old nvidia cards can be painful though - even though the drivers are still available, they seem not to compikle very easily on newer kernels (my experience is with an Nvidia VANTA card) –  naught101 Jul 7 '12 at 4:36
    
hardware4linux.info/search seems to be dead. –  landroni Jan 25 at 7:07

The choice depends on your goals.

  • Intel has the best open source driver. They put efforts into it themselves. Intel graphic solutions are not the best 3D performers, though, being embedded-only.

  • NVidia has the best proprietary driver with great 3D performance, and they offer both high-end 3D hardware and embedded solutions. Keeping it up to date takes a bit of attention at every kernel upgrade, even minor. This is not painful, from my experience — just rebuild and reinstall. Open-source drivers (nouveau) are improving and work well with 2D, but lag behind in 3D yet.

  • AMD/ATI have great hardware, but their drivers are a notch below both Intel's and NVidia's, either open or closed source. You have to better stick to older well-supported cards, and people keep complaining about minor glitches. Their open-source driver develops quickly, though, and maybe in a year will become a worthy contender in 3D space.

share|improve this answer

I can tell you what I do:

Check if the chip is supported and/or if the manufacturer supplies drivers for the card.

For instance, I have an Nvidia which on Linux, is no problem. I can choose from a variety of drivers. and it works well that way.

Nvidia was never a problem on Linux, most distros have the drivers in some repo, (on Fedora, that's in fedora-fusion). Those are closed-source drivers, but it's been working well for years. I remember making the kernelmod on my computer directly from the Nvidia resources, and that was six years ago.

Don't be afraid do invest in a new card. Support for new cards picks up pretty quick, and since it basically all depends on the chip, it's the chip that needs to be supported. Newer cards usually have the same chip designs, but with improved performance and power efficiency.

2D and 3D performance are more or less merging into one another. Compositing desktops for instance, need 3D acceleration to work properly.

Another interesting aspect is, how closed-source is a closed-source driver. The Nvidia drivers are closed-source, but on the other hand, the developers keep a good contact with their userbase and Linux developers. So, the source is not open to anyone, but it is very likely, that you can have influence on the development of those drivers. Developing those drivers is no trivial matter, Xorg tried it, but they sort of failed and most people rely on closed drivers up until now. As long as the card manufacturer supplies free and good working drivers for Linux, I don't see why they shouldn't be used.

To get information whether your card is supported or not, I wouldn't look too much in mailing lists, but ask the manufacturer directly. Keep in mind: The Linux users community isn't that small anymore, and especially in academia and research, Linux is usually the standard. So, manufacturers have to respond to that user sector as well. But as I said above: It's not the support for the card you're looking for, it's the support for the chip on it.

When it comes to benchmarking, Data from Windows can be used, as long it uses the same acceleration toolkit (if any) (i.e. OpenGL). Benchmarks done with DirecX, can't be reproduced on Linux, obviously.

Anyway, this is how I've been deciding which graphics card to get for my Linux computer.

share|improve this answer
    
Are you aware of the Nouveau drivers for Nvidia cards? Is that what you are describing as "sort of failed"? Can you elaborate? I looked at the wiki and git tree, and although it isn't roiling with changes, the project doesn't appear to be dead. –  mattdm Mar 21 '11 at 12:37
    
I'm also curious about your statements on benchmarking. Does the driver have no effect on OpenGL performance? I remember seeing articles with headlines like "New ATI Catalyst drivers bring better performance" — is that purely a DirectX thing, or an artifact of the past, or something else? (See for example phoronix.com/… — "Historically, the Linux graphics driver performance has lagged behind Windows in terms of OpenGL performance even when both drivers are stable and mature.") –  mattdm Mar 21 '11 at 12:39
    
@mattdm: Indeed I ment the nouveau drivers. The project isn't dead but it's comparable to PHP6. It's not vaporware, but it takes longer and longer to finish, usually, because the project participants underestimated its complexity. –  polemon Mar 22 '11 at 8:53
    
@mattdm: Drivers are indeed a factor when it comes to speed of acceleration. This is usually due to Kernel integration. Point being: The lag is linear. That means, that those benchmarks are pretty much 1:1 comparable to to benchmarks ran on Windows and Linux, but when comparing Windows against Linux, a difference will be visible, which almost always is in favor of Windows. –  polemon Mar 22 '11 at 8:57
    
@polemon: I hate to be argumentative, but Phoronix says "Over time, we will ideally see Intel's Mesa performance close in on the Windows driver performance, but do not expect to see this in the near-term." This implies that the comparison can't be 1:1. (And if the difference is due to kernel integration, and different drivers interact with the kernel differently — see @jonescb's answer — that seems like another point of non-linearity with Windows results.) –  mattdm Mar 22 '11 at 11:51

For the sake of completeness, Matrox has a quite extensive and long presence on Linux.

share|improve this answer

Matrox has very good proprietary drivers. The open-source driver will only run vanilla features for Matrox, no multiple heads or 3D. But Matrox stopped supporting their M9148 card under RHEL 7, meaning I have to purchase new hardware. This is NOT COOL.

share|improve this answer

ATI proprietary are to be avoided at all costs.

I tried using one in about 2001 - (could have been proprietary or open, I forget).. it totalled my system.

I tried using one in 2011 - it totalled my system.

Until ATI get their shit together, I'd stay well away from their product.

Oh yeah, even when they managed to run it wasn't minor glitches, it was totally distorted screens and nasty hard-crashes galore.

NVidia work ok, but can get in the way of installing cutting edge or custom kernels.

Intel seem lowest spec, I haven't used them, but the seem to be investing in open source, I know some of the Red Hat guys swear by them.

share|improve this answer

No Nvidia !! They have nothing to do with legacy card. All new nvidia driver crashes with geforce 8400 in Linux. Last good driver for my graphic card built 4 years ago. I hope AMD will be better choice. One time I did install Linux on laptop with Intel graphic card. It is works super great.

share|improve this answer

I suggest you buy a main-stream nvidia card for you linux, and find a driver on nvidia's official page. The driver installer will guide you to install itself. Depend on the linux distribution you are using, the install procedure may different, but generally you can find a 'HOW-TO' on the distribution's forum. You needn't buy a old card.

share|improve this answer
4  
Can you better explain your rationale here? I specifically note that open source drivers are important to me. –  mattdm Mar 21 '11 at 12:26

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.