注意:

The Funtoo Linux project has transitioned to "Hobby Mode" and this wiki is now read-only.

Difference between revisions of "Make.conf/VIDEO CARDS"

From Funtoo
Jump to navigation Jump to search
Line 10: Line 10:


The Funtoo {{c|VIDEO_CARDS}} flags are designed to have a consistent format. If just a graphics driver is listed, such as {{c|i965}}, then it is an X-based DRI driver. Drivers that use the new [[Gallium]] driver architecture are in the format {{c|gallium-<driver>}} such as {{c|gallium-radeonsi}}. In addition, any optional framework is listed as a prefix, such as {{c|vulkan-i965}} for optional DRI-based Vulkan support for {{c|i965}}+ Intel cards.
The Funtoo {{c|VIDEO_CARDS}} flags are designed to have a consistent format. If just a graphics driver is listed, such as {{c|i965}}, then it is an X-based DRI driver. Drivers that use the new [[Gallium]] driver architecture are in the format {{c|gallium-<driver>}} such as {{c|gallium-radeonsi}}. In addition, any optional framework is listed as a prefix, such as {{c|vulkan-i965}} for optional DRI-based Vulkan support for {{c|i965}}+ Intel cards.
=== Video Acceleration ===
The following {{c|VIDEO_CARDS}} settings are exclusive to Funtoo, and are safe to enable on all systems. They instruct Mesa to enable the related video acceleration technology ''in the driver if it is available'':
;{{c|xa}}: Enable XA X Acceleration API
;{{c|vaapi}}: Enable VA/VAAPI support
;{{c|vdpau}}: Enable VDPAU support
;{{c|xvmc}}: Enable XVMC support
Therefore, it is safe, and recommended, to append ''all'' these settings to your {{c|VIDEO_CARDS}} setting, which can be done by adding this to the end of your {{c|/etc/make.conf}}:
{{file|name=/etc/make.conf|lang=bash|body=
VIDEO_CARDS="${VIDEO_CARDS} xa vaapi vdpau xvmc"
}}
If you are using the {{c|workstation}} or {{c|desktop}} flavor, these settings will be enabled for you automatically.


=== Use within Ebuilds ===
=== Use within Ebuilds ===

Revision as of 21:16, July 27, 2019

The VIDEO_CARDS make.conf setting is used to define what graphics support is enabled on your system. It 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.

Video Acceleration

The following VIDEO_CARDS settings are exclusive to Funtoo, and are safe to enable on all systems. They instruct Mesa to enable the related video acceleration technology in the driver if it is available:

xa
Enable XA X Acceleration API
vaapi
Enable VA/VAAPI support
vdpau
Enable VDPAU support
xvmc
Enable XVMC support

Therefore, 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.

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-osmesa USE 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.

Use within Make.conf

Typically, VIDEO_CARDS settings are "stacked", which means that multiple related flags are specified. Here are some common examples:

   /etc/make.conf (bash source code)
# This setting will support nearly all X/DRI-based Intel integrated graphics:
VIDEO_CARDS="intel dri3 i965 i915"

# This next setting is similar to the one above but will also enable Vulkan support:
VIDEO_CARDS="intel dri3 i965 vulkan-i965 i915"

# This next setting will enable Gallium for Intel integrated graphics -- The Intel drivers are currently more mature for X/DRI, though:
VIDEO_CARDS="intel gallium gallium-i915"

# This next setting could be useful if you have hybrid graphics on your laptop and you plan to use X:
VIDEO_CARDS="intel dri3 i965 i915 nvidia"

# This setting would be good for X-based graphics with Radeon cards using gallium:
VIDEO_CARDS="radeon gallium gallium-r300 gallium-r600 gallium-radeonsi"

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.

name description platforms
name description platforms
amdgpu 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 DRI Gallium X
gallium-i915 This is a gallium-based driver for Intel integrated graphics chipsets, i915 or later. Gallium
gallium-nouveau Open Source NVIDIA Gallium-based graphics driver. Gallium
gallium-osmesa "Osmesa" stands for "off-screen MESA" and allows rendering of graphics into a framebuffer in memory. This supports Gallium-based rendering. Gallium
gallium-r300 A Gallium-based driver for older Radeon cards: R300, R350, RV350, RV380, RS400, RS480, R420, R423, RV410, RS600, RS690, RS740, RV515, R520, RV530, RV560, RV570, R580 Gallium
gallium-r600 A Gallium-based driver for Radeon graphics cards: R600, RV610, RV630, RV620, RV635, RV670, RS780, RS880, RV770, RV730, RV710, RV740, CEDAR, REDWOOD, JUNIPER, CYPRESS, PALM (Wrestler), SUMO, SUMO2, ARUBA, BARTS, TURKS, CAICOS, CAYMAN Gallium
gallium-radeonsi Open Source Radeon driver providing support for modern Radeon graphics (HD5430-HD5970, HDxxx, HD7xxx, R7 cards, R5 230, R9 280 and other R9 cards.) Gallium-based driver. Gallium
gallium-swrast 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. Gallium X
gallium-tegra Open Source NVIDIA driver for Tegra (ARM CPU + Integrated NVIDIA graphics). Gallium-based driver. Gallium
gallium-virgl This driver provides accelerated OpenGL rendering within virtual machines via VirtualGL. Gallium-based driver. Gallium
i915 Enables support for Intel integrated graphics, i915 and more recent chipset. Most modern laptops with Intel integrated graphics will want this enabled. DRI X
i965 Enables support for Intel integrated graphics, i965 and more recent chipset. Most modern laptops with Intel integrated graphics will want this enabled. DRI X
intel Enables general support for Intel integrated graphics. This setting is required when using any Intel-related settings DRI X
nouveau Open Source NVIDIA DRI-based X graphics driver. DRI X
nvidia NVIDIA proprietary accelerated driver support. This driver includes support for traditional X-based accelerated rendering and Vulkan. Although this driver supports X, it does not use the kernel's DRI. Vulkan X
osmesa "Osmesa" stands for "off-screen MESA" and allows rendering of graphics into a framebuffer in memory. This supports X/DRI-based rendering. DRI X
r100 An X/DRI-based driver for older Radeon cards: R100, RV100, RV200, RS100, RS200 DRI X
r200 An X/DRI-based driver for older Radeon cards: R200, RV250, RV280, RS300 DRI X
radeon General support for Radeon cards. This setting is required when using any Radeon-related setting. DRI X
swrast DRI-based driver that does OpenGL without any hardware support. Enabled by default regardless of profile settings, since Mesa needs at least one "real" output to generate libGL. DRI X
virgl This driver provides accelerated OpenGL rendering within virtual machines via VirtualGL. X/DRI-based driver. DRI X
vulkan-amdgpu Enable Vulkan support for AMDGPU. Vulkan
vulkan-intel Enables Mesa's DRI-based Vulkan driver for Intel chipsets. DRI Vulkan


Intel Graphics

intel
Enables general support for Intel integrated graphics.
i915
Enables support for Intel integrated graphics, i915 and more recent chipset. Most modern laptops with Intel integrated graphics will want this enabled.
i965
Enables support for Intel integrated graphics, i965 and more recent chipset. Most modern laptops with Intel integrated graphics will want this enabled.
vulkan-i965
Enables Mesa's Vulkan driver for i965 and more recent chipsets.

NVIDIA Graphics

nvidia
Enables support for Intel integrated graphics, i965 and more recent chipset. Most modern laptops with Intel integrated graphics will want this enabled. This driver includes support for traditional X-based accelerated rendering, Gallium and Vulkan.

Radeon/AMD Graphics

radeon
General support for Radeon-based cards. If you have one, enable this setting.
radeonsi
Support for nearly all Radeon HD 7xxx series as well as Radeon R9+ cards. If you have a relatively modern Radeon card, you'll want to enable this setting.
r600
Support for slightly older Radeon HD 7350, Radeon HD 6xxx series, HD 5xxx, HD 4xxxx, HD 2xxx (600 series thru 700 series, plus Evergreen and Northern Islands)
r300
Support for Radeon R500, R400 and R300 series cards.
r100
Support for Radeon R100 series cards.