Make.conf/VIDEO CARDS/Understanding What's Available

From Funtoo
Jump to navigation Jump to search

Understanding What's Available

It is helpful to be aware of the different graphics architectures because there are sometimes multiple implementations of a driver for different graphics driver architectures, and they will each have their own performance characteristics, so a particular one may be better for your needs than others -- the reason why all these competing graphics architectures exist in the first place is to try different approaches to squeeze out the best possible performance from your graphics card and to deal with the gnarly challenges of supporting complex and varied graphics hardware.

NVIDIA Example

Let's look at some examples of different graphics driver architectures. For NVIDIA cards there is an Open Source DRI-based driver called nouveau, and an Open Source Gallium-based driver called gallium-nouveau. And in addition, there is also NVIDIA's proprietary accelerated driver simply called nvidia. The nvidia graphics driver typically performs best and supports Vulkan but is closed-source, and sometimes needs to be updated by NVIDIA to support the newest Linux kernels. Some may prefer using nouveau or gallium-nouveau since they are Open Source and always work with the absolute latest upstream Linux kernels.

Intel Example

Some graphics drivers are more mature than others. For example, Intel integrated graphics drivers for DRI have been around a lot longer, are very fast, and are more mature than the equivalent Gallium drivers. And some graphics cards, like modern Radeon cards, only have a Gallium-based driver (gallium-radeonsi). Performance, both with 3D graphics, video playback, and general 2D use is highly dependent on the graphics driver you use so it's good to be aware of what's available for your hardware.

Bottom Line

The guiding principle when choosing a graphics stack is -- ask around and also experiment! See which works best for your use case. The Funtoo VIDEO_CARDS system is designed to make this exploration and experimentation as pain-free for users as possible.