The VIDEO_CARDSmake.conf setting is used to define what graphics support is enabled on your system. This graphics support can include a combination of kernel drivers and user-space libraries that as a whole provide graphics capability for your system. This Portage variable is generally used only by packages that directly implement graphics support, such as media-libs/mesa and a few others. To set VIDEO_CARDS, set it in /etc/make.conf, separating each value with a space, as follows:

/etc/make.conf (bash source code)

VIDEO_CARDS="intel i965 i915"

Funtoo Differences

Starting with Funtoo Linux 1.4, VIDEO_CARDS settings work a bit differently than in Gentoo and are documented here. Also note that it is possible to have VIDEO_CARDS set for you via use of a Funtoo profile mix-in.

The Funtoo VIDEO_CARDS flags are designed to have a consistent format. If just a graphics driver is listed, such as i965, then it is an X-based DRI driver. Drivers that use the new Gallium driver architecture are in the format gallium-<driver> such as gallium-radeonsi. In addition, any optional framework is listed as a prefix, such as vulkan-i965 for optional DRI-based Vulkan support for i965+ Intel cards.

Changing VIDEO_CARDS Settings

When changing VIDEO_CARDS settings, either directly by modifying /etc/make.conf or by use of a mix-in, it is important to perform a deep update of your system and ensure that X is configured correctly for your new settings. At the minimum, this generally involves performing an emerge -auDN @world. You will likely notice a rebuild of media-libs/mesa and perhaps x11-libs/libdrm.

DRI3

The most well-supported version of DRI is version 2. There is a dri3VIDEO_CARDS setting that can be enabled to enable support for version 3 of DRI, which should offer improved performance. DRI version 3 support may be less mature than the same driver with just version 2 support, so the availability of a VIDEO_CARDS option allows it to be turned off if you experience video issues. In general, however, dri3 has been around long enough to be generally robust for most users.

NVIDIA Drivers

Video Acceleration Architectures

In addition to graphics driver architectures, over the years there have been different architectures designed to help accelerate the playback of video. As you might guess, these architectures are different levels of support depending upon the graphics driver selected. The VIDEO_CARDS settings related to graphics drivers are xa, vaapi, vdpau and xvmc. In Funtoo it is safe, and recommended, to append all these settings to your VIDEO_CARDS setting, which can be done by adding this to the end of your /etc/make.conf:

/etc/make.conf (bash source code)

VIDEO_CARDS="${VIDEO_CARDS} xa vaapi vdpau xvmc"

If you are using the workstation or desktop flavor, these settings will be enabled for you automatically. In addition, you may want to add some or all of these settings to your USE flags to enable any optional video acceleration support in regular software. These VIDEO_CARDS settings enable the support in the underlying graphics driver itself only, if available.

It's also important to note that while most of the time, video acceleration is provided by the underlying graphics driver, this is not the case for Intel integrated graphics, where it is necessary to emerge another ebuild to enable full video acceleration support:

root#emerge libva-intel-driver

Even more confusing, there is a new libva-intel-media-driver which is a new design of the VAAPI-based acceleration for Intel integrated graphics, and requires a bleeding-edge installation of media-libs/libva. This is something that is not yet actively supported under Funtoo but is something that I hope to play with soon.

Use within Ebuilds

Inside ebuilds, the VIDEO_CARDS settings is USE_EXPANDed to a USE flag with a prefix of video_card_. For example, radeonsi will set the video_card_radeonsi USE flag, gallium-osmesa will set the video_card_gallium-osmesaUSE flag, etc. Pay careful attention to the use of underscores and hyphens. Hyphens are used in the video card variable name itself, whereas underscores are used in video_card_ only.

VIDEO_CARDS Settings

The most-common VIDEO_CARDS settings are listed below. For a comprehensive list of settings, type emerge -av mesa and peruse the list of USE flags.

AMDGPU is an Open Source graphics driver developed by AMD that supports the latest AMD Radeon graphics cards (GCN 1.2, HD 7xxxx+). It is typically used in conjunction with Mesa's radeonsi driver which provides OpenGL support. There is a kernel-space part and a user-space part (in

Gallium-based software-only OpenGL driver, also known as "softpipe". This setting will also enable Intel's "swr" driver (taking advantage of some Intel processor instructions for acceleration) on supported CPU architectures.