When it comes to choosing a fast graphics card, there are two main options: AMD and Nvidia.
There are a number of factors that set them apart, and this is doubly so on Linux. On Windows, speed is the only thing that matters — Nvidia GPUs (graphical processing unit) tend to be faster than AMD. But on Linux, there are other things to keep in mind.
GPU Drivers: Proprietary vs. Open Source
There are two types of drivers you can install to get your graphics cards working, namely proprietary drivers or open source. While there are good and bad aspects to both, they differ if you’re using a Nvidia or AMD graphics card.
Nvidia: It’s Complicated
While there are open source and proprietary Nvidia drivers for Linux, there’s really only one viable option at this point in time: the latter. nouveau, the open source driver for Nvidia cards, tends to have poorer performance than its proprietary counterpart.
Much of the work done by nouveau is through reverse engineering the proprietary Nvidia driver. It’s similar to how the Wine project recreates a Windows environment to run programs like Microsoft Office in. Basically, developers look at the results of a program and work backwards from there.
This has its drawbacks, mainly on the speed and compatibility fronts. nouveau is much, much slower than the proprietary Nvidia drivers, especially with newer graphics cards. Support for the newest Nvidia products is also quite lacking — it takes a lot of time to recreate.
nouveau also lacks something that the proprietary driver has: reclocking. This allows the GPU to work harder, and thus perform faster (at the cost of more power). Unfortunately, only a few Nvidia GPUs can use this with nouveau installed, none of them very new.
The difference in speed is plain silly at times, especially for newer graphics cards. Some benchmarks show that the proprietary drivers can perform up to nine times faster than their open source counterparts. Suffice to say, nouveau is suitable for drawing your desktop, but gaming has a way to go. That being said, some specific Nvidia graphics cards work decently with them, so your mileage may vary.
AMD: Solid Support
For the most part, it doesn’t really matter which kind of drivers you install for AMD graphics cards. They’re well supported across the board, though using open source drivers is the preferred method. In fact, there are many cases where the open source drivers (AMDGPU for newer cards, and Radeon for older ones), are on par with their proprietary counterparts or even faster!
Compared to Nvidia’s open source driver, nouveau, there is far better support for newer graphics cards. In fact, support for AMD’s next generation of graphics cards, Vega, is already being developed. This is partially due to AMD’s support for the open source community, providing documentation and manpower for driver development.
That being said, while the drivers are decent across the board in the AMD camp, your performance will still be noticeably slower than using a Nvidia graphics card with proprietary drivers. Unless, of course, things change soon. There’s also the matter of acquiring a system with AMD graphics in the first place, which may be a bit of a challenge.
Also known as NVIDIA Optimus or AMD Switchable Graphics, they’re technologies that lets you choose between using a high-performance (Nvidia/AMD) graphics card, and a less power hungry one (usually Intel). This is very useful for laptops when you’re away from a power port and want your battery to last.
While both work rather well on Windows, on Linux, it’s definitely easier to set up using AMD (with a few exceptions). For starters, there is no true Optimus support for Nvidia graphics cards, and this is doubly the case if you’re using proprietary drivers.
The main way of getting this feature to work is using a program called Bumblebee. While it’s not officially endorsed by Nvidia, it works fairly well. However, there is a bit of setup required to make it work. It runs as a separate program service, which usually needs a manual install to get running. A lot of bugs have cropped up with the service as well, having not been updated in a few years.
For everything else, there’s PRIME, which allows for graphics switching for open source drivers, such as nouveau and AMDGPU. Being built in with these drivers, it’s much easier to set up in comparison, no extra software required.
That being said, this is only really a problem for laptops — it’s a non issue for desktop computers. In which case, you’re free to choose whatever graphics card you like, without worrying about power usage. And performance wise, Nvidia wins hands down.
Along with this, some Linux operating systems work around these problems with Nvidia, using special tweaks to make graphics switching a little easier. For example, Ubuntu has its own control panel which lets you choose between using Intel or Nvidia’s graphics card (but only after logging back in).
Put shortly, Wayland is seen as the future of the Linux desktop, aiming to eventually replace the X display server. It aims to make development much easier, among other modern innovations. It’s already available on two major Linux desktops: GNOME and Plasma.
At this point in time though, Nvidia’s proprietary driver only works with GNOME’s implementation of Wayland, due to its slightly unique design. Wayland needs a desktop environment that supports compositing, a technique which prevents graphical artifacts like window tearing. They do this by keeping multiple copies of your screen in memory at once.
To move these copies to memory, compositors for Wayland need to use a special API (application programming interface), implemented by the graphics driver. The API that’s currently in use the most is called GBM (Generic Buffer Management). So long as you’re using an open source driver (AMDGPU/Radeon/nouveau), Wayland will work.
Nvidia’s proprietary driver however, uses a different API, called EGLStreams. Many compositors don’t have support for this, the GNOME desktop being the major exception. While this may change in time, you can’t really do much (except stick with the X display server for now).
While Wayland is still very much in development, it’s clearly going to become more and more important. Fedora, for example, already ships with it (though since it uses GNOME by default, Nvidia drivers won’t be a problem).
What About Intel Graphics?
At this point in time, the only graphics card provider you can absolutely be sure to work is Intel’s integrated graphics. While they may not be that fast, they’re actually much better than they once were in terms of speed. They’re also very battery friendly in comparison to Nvidia or AMD’s graphics cards.
Support for them will definitely be out of the box, their drivers being fully open source on Linux. Many games are also quite playable, if not as well as dedicated graphics cards. You’re also assured to have Wayland working if you wanted to test it out, due to its open source nature.
For Linux desktop computers, it’s a much easier choice to make. Nvidia easily has the fastest graphics cards on the market at this point in time (so long as you’re using their proprietary drivers). It’s a different story on laptops though, due to having a battery life.
In this case, it’s a harder decision to make. Getting switchable graphics to work is rather difficult on Nvidia’s proprietary driver, though not impossible. Plus, unless more desktop environments become compatible with Nvidia’s quirks on Wayland, it may mean using a desktop that’s not your preference.
In the end, it’s a matter of deciding what you’re prepared to deal with. AMD graphics cards have better out of the box support, but can also be slightly slower than Nvidia’s offerings. And Intel easily has the best support out of the three (but is the slowest).
What would you choose? Why?
Image Credits: Jan Martin Will/Shutterstock