Advertisement

Graphics Cards for GNU/Linux

Started by March 13, 2010 07:35 PM
36 comments, last by SimonForsman 14 years, 7 months ago
In my experience ATI cards tend to cause more trouble under Linux than those from nVidia. In particular I remember that getting my dual-head setup working was a royal pain on my Radeon X1900. I also had some trouble getting Compiz to run properly. If I were you I'd go for an nVidia card.
The NVidia drivers are excellent. I had no problem with them under Linux. In the time I had an ATI card (HD4850) on the other hand I was always waiting for the next version of the driver to see whether some annoying bugs has got fixed. Eventually I replaced it with an NVidia card again (not an upgrade but just because of the bad ATI drivers). I don't know about the current status of the ATI drivers.

Also if you use Ubuntu, you can install NVidia and ATI drivers using the utility found in "Administrations -> Hardware Drivers". This way you don't need to reinstall when kernel gets updates.

[Edited by - Kambiz on March 14, 2010 5:26:12 AM]
Advertisement
I'm not an AMD fanboy, but to be fair, all those stories about crappy ATI drivers need to be annotated by the time they happened, since their support has become a lot better since the X1900 days. (Of course now that the binary driver has dropped support for those older series, open source would be your only choice for that particular card; setting up e.g. Compiz there is no hassle at all, but your OpenGL experience is less than optimal.)
Widelands - laid back, free software strategy
Quote: Original post by Prefect
This someone must have been misinformed. Most of the graphics stack is actually very portable, but the DRM (Direct Rendering Manager), which arbitrates access to the graphics hardware, has to be a kernel module. Without the DRM, you don't get OpenGL support, and the BSDs have always been playing catch up in porting the DRM to their kernel.


Isn't this kernel module supplied by the graphics driver?
Quote: Original post by Konfusius
Quote: Original post by Prefect
This someone must have been misinformed. Most of the graphics stack is actually very portable, but the DRM (Direct Rendering Manager), which arbitrates access to the graphics hardware, has to be a kernel module. Without the DRM, you don't get OpenGL support, and the BSDs have always been playing catch up in porting the DRM to their kernel.


Isn't this kernel module supplied by the graphics driver?


No, this kernel module is supplied by the (surprise!) kernel. This is how the Linux kernel ecosystem works: if something belongs to the kernel, it is distributed along with the kernel. (Proprietary drivers are obviously excepted.)

AMD's proprietary drivers have become significantly better, but still haven't reached Nvidia's level. Their 3d support is very good (exactly the same as on Windows), but their 2d support and video acceleration are still a WIP. If I were to choose, I'd go with Nvidia right now.

On the other hand, AMD's open-source drivers are significantly better than Nvidia's. Their upcoming release will include OpenGL 2.1 & GLSL 1.2(*) and are already working towards OpenGL 3.x. These drivers have excellent 2d, too, (better than the proprietary drivers) and generally provide a much smoother Linux experience. On the downside, 3d performance is only ~30% that of the proprietary driver right now (WIP, again) and the very latest cards aren't yet supported (the 5x00 series).

One last thing: don't go into this expecting that Nvidia's drivers are flawless, because they aren't. There are many smaller and larger annoyances you should expect: sleep doesn't always work, video acceleration may break from time to time, dual-monitor modes are flaky (monitors aren't auto-detected, there are three different dual-monitor modes with different trade-offs), their xrandr support is meh-worthy and driver installation can be far from flawless (updates may break your drivers).

Based on my experience with a dozen different machines (using GPUs from all major IHVs), I'd say Nvidia's proprietary drivers are 9 parts good, 1 part bad; AMD's are 7 parts good, 3 parts bad (both proprietary and open-source variants); Intel's about 8 parts good, 2 parts bad.

Drivers nowadays are significantly better than in the X1900 era.

[OpenTK: C# OpenGL 4.4, OpenGL ES 3.0 and OpenAL 1.1. Now with Linux/KMS support!]

Definitley go Nvidia. Their binary drivers work wonderfully under Linux and are packaged for almost every distribution so that they will get updated automatically with the rest of your system.

Also your goal of using open source drivers may be possible before too long. The open source Nouveau drivers have been improving at great speed. They work flawlessy for me for anything but 3D games (high def movies, dual-screen, compositing etc.). They have started 3D support and I'm looking forward to it.
Advertisement
Quote: Original post by Fiddler
(Proprietary drivers are obviously excepted.)


I meant the proprietary drivers. The FreeBSD drivers from NVidia specifically install a .ko kernel module. NVidia are a little behind with the driver releases compared with Windows, but I don't think that's got something to do with missing kernel facilities in FreeBSD.
Quote: Original post by Patrick Niedzielski
Quote: There is absolutely no reason not to use them.


Well, there *is*...them being proprietary software... :)

I will probably go for an Nvidia card then, if they have a history of being more compatible with the Linux kernel.


Whats wrong with that ? If its the best tool for the job, use it. You don't need to use an open source driver when developing an open source game; stick with OpenGL and you'll be fine. Your stuff will work on any graphics card / OS that supports OpenGL.
Quote: Original post by MrMark
Whats wrong with that ? If its the best tool for the job, use it. You don't need to use an open source driver when developing an open source game; stick with OpenGL and you'll be fine. Your stuff will work on any graphics card / OS that supports OpenGL.


It isn't that my game would need it. Rather, in my view it is morally wrong to be bound by proprietary software. The only reason I am installing Windows is to be compatible with my school if the need arises. I haven't used Windows in several months on my home computer, and GNU has been my primary system for over three years. I don't really intend to use it outside of testing my game.

See http://www.gnu.org/philosophy/free-sw.html and http://www.gnu.org/philosophy/why-free.html for two essays by Richard Stallman on the topic.

In addition, I would actually look at the source code to these drivers: I am starting to hack around with the Hurd, and I want to port some drivers over.

Cheers,
Patrick
Quote: Original post by Patrick Niedzielski
It isn't that my game would need it. Rather, in my view it is morally wrong to be bound by proprietary software.

Whatever your own 'moral' views are, we're talking about a driver here. It's essentially just a connector between your (open/closed/whatever) software and a completely proprietary, closed, protected and covered under a shitload of patents and trade secrets GPU. It can be seen as an integral part of that GPU. And as far as I know, there are no open source GPUs out there yet :)

Quote: Original post by Patrick Niedzielski
See http://www.gnu.org/philosophy/free-sw.html and http://www.gnu.org/philosophy/why-free.html for two essays by Richard Stallman on the topic.

...

Dude, please, please don't tempt me... [grin]

This topic is closed to new replies.

Advertisement