# Intel graphics configuration

## neyuru

I thought I understood it but now can't figure out which combination to use:

Classic vs Gallium

intel vs modesetting

video_cards_intel vs video_cards_i915 vs video_cards_i965 vs video_cards_iris

xorg drivers vs mesa drivers

 :Question: 

So far, I prefer placing "intel" driver in xorg.conf, as the modesetting drivers leave screen tearing. I have a Broadwell P6300 iris graphics (Gen 8 ). After reading the gentoo wiki and the most recent forum post I am still confused as to what is the best combination of USE flags and USE_EXPAND to use. Common sense tells me that if there are two options for drivers: "classic and gallium" then only one of them should be installed (in mesa) at once but, they can and I don't understand why, shouldn't they be mutually exclusive?. I've also tried to combine classic with (intel or modesetting) and gallium with (intel or modesetting) and frankly, I can't figure out why this can be done.

And what about vaapi:

vaapi use flag vs x11-libs/libva-intel-media-driver ?

according to upstream,

 *Quote:*   

> The Intel(R) Media Driver for VAAPI is a new VA-API (Video Acceleration API) user mode driver supporting hardware accelerated decoding, encoding, and video post processing for GEN based graphics hardware.

 

so why doesn't the gentoo vaapi wiki recommend installing it?

totally, utterly confused.   :Crying or Very sad: 

----------

## dmpogo

 *neyuru wrote:*   

> I thought I understood it but now can't figure out which combination to use:
> 
> Classic vs Gallium
> 
> intel vs modesetting
> ...

 

Yep, confusing,  now as well with iris ...    What I remember from when I setup my laptop 2 years ago is   i965 will override intel,   That is, if both options are enabled in VIDEO_DRIVERS,   x86-video-intel will not be installed.

It may have changed ...  :Smile: 

What I have now,  I believe on pre-iris video-chip is

VIDEO_CARDS="intel i965",   with a comment that i956 overrides intel for installed driver, but intel option is needed for some packages  :Smile: 

As the result the driver used is modesetting.     xf86-video-intel is not installed.  I never had eny tearing, and modesetting felt a bit snappier getting out of hibernation, but really marginally.

mesa is compiled with both classic and gallium options,  

Basically, I feel that iris is a new intel effort, and if your chipset is supported you should try it.

----------

## neyuru

I have resorted to enable everything that seems to support my gpu (Broadwell 8th gen iris P6300): 'VIDEO_CARDS="intel i965 iris"' The only other thing I can configure is to decide which driver to use: intel or modesetting. But I would really wish to know is if, for example, each of those two "driver versions" are present in i965 or iris. In other words, does enabling iris in make.conf make any difference for the choice of either  intel or modesetting? And the same for i965...   :Confused:  Like this:

Option 1: i965 with intel

Option 2: i965 with modesetting

Option 3: iris with intel

Option 4: iris with modesetiing

----------

## grumblebear

Maybe you should read that other forum thread again.

i965 and iris is for mesa (3D accelleration). Your graphics supports the new iris driver, so if you enable both, newer mesa will use iris, because that is now the default driver.

Modesetting or intel affects basic 2D accelleration. You can configure which one is used in xorg.conf. Having intel in make.conf is needer for some other packages, so you would leave that in anyway. Having i965 in make.conf prevents automatic pulling of the old intel driver, which is not the case for iris alone. See the bug report mentioned in the other thread.

----------

## dmpogo

 *grumblebear wrote:*   

> Maybe you should read that other forum thread again.
> 
> i965 and iris is for mesa (3D accelleration). Your graphics supports the new iris driver, so if you enable both, newer mesa will use iris, because that is now the default driver.
> 
> Modesetting or intel affects basic 2D accelleration. You can configure which one is used in xorg.conf. Having intel in make.conf is needer for some other packages, so you would leave that in anyway. Having i965 in make.conf prevents automatic pulling of the old intel driver, which is not the case for iris alone. See the bug report mentioned in the other thread.

 

So it is somewhat a  mess  :Smile:     And you have not yet touched on "classic" versus "gallium"    :Smile: 

----------

## grumblebear

That is easy, I believe. i965 is a "classic" driver and iris is a Gallium driver.

----------

## dmpogo

 *grumblebear wrote:*   

> That is easy, I believe. i965 is a "classic" driver and iris is a Gallium driver.

 

Yes, but then ....  from mesa ebuild

```

        video_cards_intel?  ( classic )

        video_cards_i915?   ( || ( classic gallium ) )

        video_cards_i965?   ( classic )

        video_cards_iris?   ( gallium )

```

there is i915  where you can choose  :Smile: 

----------

## grumblebear

That's because there are tow different i915 drivers, the old classic one and a newer Gallium based driver. Both are only intended for older Intel hardware, though.

----------

## dmpogo

 *grumblebear wrote:*   

> That's because there are tow different i915 drivers, the old classic one and a newer Gallium based driver. Both are only intended for older Intel hardware, though.

 

So there is gallium-based  driver for older intel hardware,  but not, say, for 3 year old Gen 7 which I have ?

A sidestep,  what option should I use for Mesa (classic, gallium, nothing)   if I have nvidia card  with proprietary nvidia-drivers ?

----------

## Zucca

I'm also confused. :(

My laptop has Intel N5000 CPU with

```
# lspci | grep VGA                                                   

00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 605 (rev 03)
```

I haven't yet figured out which diver is the correct one. :|

I guess more RTFM'ing from somewhere is needed.

EDIT: I think it belongs to Skylake family...

It might actually be a decent GPU what comes to intel offerings: https://wiki.gentoo.org/wiki/Intel#Feature_support

----------

## dmpogo

 *grumblebear wrote:*   

> That's because there are tow different i915 drivers, the old classic one and a newer Gallium based driver. Both are only intended for older Intel hardware, though.

 

Thanks grumblebea a lot !  I finally think I start understanding  it.    My confusion stemmed from the fact that i965 was an option not only to Mesa, but also to xorg-drtivers,   while iris, somehow is not an option for xorg-drivers.

So I see we have the following actions

1) i965   -   as 2D driver sets modesetting through being an option to xorg-drivers and overriding intel driver.   Requires 'classic'  as 3D infrastructure in Mesa

2) intel   -    installs oldstyle 2D driver,  through flag to xorg-drivers, if not overwritten by i965.    Requires  'classic' as 3D in Mesa

3) iris     -    does nothing to choose 2D driver (not used as flag to xorg-drivers) .    Uses 'gallium'  for 3D in Mesa

side issue    ' video_cards_intel'   is the only intel related  option  to libdrm.     Is it needed there irrespectively   of using   i965 or iris ?

----------

## grumblebear

 *dmpogo wrote:*   

> 
> 
> side issue    ' video_cards_intel'   is the only intel related  option  to libdrm.     Is it needed there irrespectively   of using   i965 or iris ?

 

As libdrm is a low level library, something like the glue between the i915 kernel driver and mesa's drivers, I think it is absolutely necessary to build with video_cards_intel for all intel drivers.

----------

## neyuru

Look at the USE flags mesa utilizes (some of the omitted to save space):

equery uses mesa

```
[ Legend : U - final flag setting for installation]

[        : I - package is installed with flag     ]

[ Colors : set, unset                             ]

 * Found these USE flags for media-libs/mesa-20.0.8:

 U I

 + + X                    : Add support for X11

 - - abi_x86_32           : 32-bit (x86) libraries

 + + classic              : Build drivers based on the classic architecture.

 - - d3d9                 : Enable Direct 3D9 API through Nine state tracker. Can be used together with patched wine.

 - - debug                : Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces

 + + dri3                 : Enable DRI3 support.

 + + egl                  : Enable EGL support.

 + + gallium              : Build drivers based on Gallium3D, the new architecture for 3D graphics drivers.

 + + gbm                  : Enable the Graphics Buffer Manager for EGL on KMS.

 - - gles1                : Enable GLESv1 support.

 + + gles2                : Enable GLESv2 support.

 + + libglvnd             : Use libglvnd for dispatch.

 + + llvm                 : Enable LLVM backend for Gallium3D.

 + + lm-sensors           : Enable Gallium HUD lm-sensors support.

 - - opencl               : Enable the Clover Gallium OpenCL state tracker.

 - - osmesa               : Build the Mesa library for off-screen rendering.

 - - test                 : Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)

 - - unwind               : Add support for call stack unwinding and function name resolution

 + + vaapi                : Enable Video Acceleration API for hardware decoding

 - - valgrind             : Compile in valgrind memory hints

 + + vdpau                : Enable the VDPAU acceleration interface for the Gallium3D Video Layer.

 - - video_cards_i915     : VIDEO_CARDS setting to build driver for Intel i915 video cards

 + + video_cards_i965     : VIDEO_CARDS setting to build driver for Intel i965 video cards

 + + video_cards_intel    : VIDEO_CARDS setting to build driver for Intel video cards

 + + video_cards_iris     : VIDEO_CARDS setting to build driver for Intel video cards Gen8 / Broadwell or newer

 - - vulkan               : Enable Vulkan drivers

 - - vulkan-overlay       : Build vulkan-overlay-layer which displays Frames Per Second and other statistics

 - - wayland              : Enable support for dev-libs/wayland

 - - xa                   : Enable the XA (X Acceleration) API for Gallium3D.

 - - xvmc                 : Enable the XvMC acceleration interface for the Gallium3D Video Layer.

 + + zstd                 : Enable support for ZSTD compression
```

Mesa does have classic, but gallium can be activated concurrently. Does this mean that if gallium is not activated, all is treated like classic? But then  there's iris which supposedly is a gallium driver. But if I enable iris but not gallium, what happens? This is the kind of confusion a user might come by. Another one: if you enable both xvmc and vaapi (because you don't know better or you're confused), which one is utilized? Does the final decision depends on which driver you enable? But what if you enable a collection of drivers? (e.g. i915, intel, iris). Furthermore:

If I have a gen 8 gpu, enable iris on mesa but i965 on xorg-drivers, what does this mean?

equery uses xorg-drivers

```
[ Legend : U - final flag setting for installation]

[        : I - package is installed with flag     ]

[ Colors : set, unset                             ]

 * Found these USE flags for x11-base/xorg-drivers-1.20-r2:

 U I

 - - video_cards_i915          : VIDEO_CARDS setting to build driver for Intel i915 video cards

 + + video_cards_i965          : VIDEO_CARDS setting to build driver for Intel i965 video cards

 + + video_cards_intel         : VIDEO_CARDS setting to build driver for Intel video cards

 - - video_cards_mga           : VIDEO_CARDS setting to build driver for mga video cards

 - - video_cards_nouveau       : VIDEO_CARDS setting to build reverse-engineered driver for nvidia cards

 - - video_cards_nv            : VIDEO_CARDS setting to build driver for nv video cards

 + + video_cards_nvidia        : VIDEO_CARDS setting to build driver for nvidia video cards

 - - video_cards_qxl           : VIDEO_CARDS setting to build driver for qxl (QEMU virtual GPU)

 - - video_cards_r128          : VIDEO_CARDS setting to build driver for ATI r128 video cards

 - - video_cards_radeon        : VIDEO_CARDS setting to build driver for ATI radeon video cards

 - - video_cards_radeonsi      : VIDEO_CARDS setting to build only Southern Islands based chips code for radeon

 - - video_cards_siliconmotion : VIDEO_CARDS setting to build driver for siliconmotion video cards

 - - video_cards_vesa          : VIDEO_CARDS setting to build driver for vesa video cards

 - - video_cards_via           : VIDEO_CARDS setting to build driver for via video cards

 - - video_cards_virtualbox    : VIDEO_CARDS setting to build driver for virtualbox emulation

 - - video_cards_vmware        : VIDEO_CARDS setting to build driver for vmware video cards
```

Here are the other packages that use video_cards in my system:

equery uses libva

```
[ Legend : U - final flag setting for installation]

[        : I - package is installed with flag     ]

[ Colors : set, unset                             ]

 * Found these USE flags for x11-libs/libva-2.5.0-r1:

 U I

 + + X                   : Add support for X11

 - - abi_x86_32          : 32-bit (x86) libraries

 + + drm                 : Enables VA/DRM API support.

 + + opengl              : Add support for OpenGL (3D graphics)

 - - utils               : Install VA-API utility programs.

 + + vdpau               : Enable the Video Decode and Presentation API for Unix acceleration interface

 + + video_cards_i965    : VIDEO_CARDS setting to build driver for Intel i965 video cards

 + + video_cards_intel   : VIDEO_CARDS setting to build driver for Intel video cards

 - - video_cards_nouveau : VIDEO_CARDS setting to build reverse-engineered driver for nvidia cards

 + + video_cards_nvidia  : VIDEO_CARDS setting to build driver for nvidia video cards

 - - wayland             : Enable dev-libs/wayland backend
```

equery uses pm-utils

```
[ Legend : U - final flag setting for installation]

[        : I - package is installed with flag     ]

[ Colors : set, unset                             ]

 * Found these USE flags for sys-power/pm-utils-1.4.1-r7:

 U I

 + + alsa               : Add support for media-libs/alsa-lib (Advanced Linux Sound Architecture)

 - - debug              : Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces

 - - ntp                : Install support for net-misc/ntp

 + + video_cards_intel  : VIDEO_CARDS setting to build driver for Intel video cards

 - - video_cards_radeon : VIDEO_CARDS setting to build driver for ATI radeon video cards
```

equery uses libdrm

```
[ Legend : U - final flag setting for installation]

[        : I - package is installed with flag     ]

[ Colors : set, unset                             ]

 * Found these USE flags for x11-libs/libdrm-2.4.100:

 U I

 - - abi_x86_32          : 32-bit (x86) libraries

 - - libkms              : Enable building of libkms, a library for applications to interface with KMS

 - - valgrind            : Compile in valgrind memory hints

 - - video_cards_amdgpu  : VIDEO_CARDS setting to build driver for AMDGPU video cards

 + + video_cards_intel   : VIDEO_CARDS setting to build driver for Intel video cards

 - - video_cards_nouveau : VIDEO_CARDS setting to build reverse-engineered driver for nvidia cards

 - - video_cards_radeon  : VIDEO_CARDS setting to build driver for ATI radeon video cards

 - - video_cards_vmware  : VIDEO_CARDS setting to build driver for vmware video cards
```

For me, the description  *Quote:*   

> VIDEO_CARDS setting to build driver for XXX video cards

 

is not very helpful as it is the same no matter if you are viewing mesa, xorg, libva, libdrm, or whatever... but they are clearly for different purposes, as have been laid out here in the comments.   :Confused: 

----------

## dmpogo

Hi neyuru

I was just looking (again) on mesa ebuild and

xvmc is ignored if   video cards are   not   r600 or nouveau

vaapi is ignored if video cards are not   r600,  radeonsi or nouveau

all are ignored independently on card if gallium is not set.

But for some combinations of flags you specified emerge will just fail.  Say iris require gallium, so

```
  

> USE='-gallium'  VIDEO_CARDS='iris' emerge -pv mesa

These are the packages that would be merged, in order:

Calculating dependencies \

!!! Problem resolving dependencies for media-libs/mesa

... done!

!!! The ebuild selected to satisfy "mesa" has unmet requirements.

- media-libs/mesa-20.0.8::gentoo USE="X classic dri3 egl gbm gles2 wayland zstd -d3d9 -debug -gallium -gles1 -libglvnd -llvm -lm-sensors -opencl -osmesa (-selinux) -test -unwind -vaapi -valgrind -vdpau -vulkan -vulkan-overlay -xa -xvmc" ABI_X86="(64) -32 (-x32)" VIDEO_CARDS="iris (-freedreno) -i915 -i965 -intel (-lima) -nouveau (-panfrost) -r100 -r200 -r300 -r600 -radeon -radeonsi (-vc4) -virgl (-vivante) -vmware"

  The following REQUIRED_USE flag constraints are unsatisfied:

    video_cards_iris? ( gallium )

```

And yes, I hate when USE flag description repeats some general thing while serving different purposes in different packages.

----------

## neyuru

Hello!

 *dmpogo wrote:*   

> But for some combinations of flags you specified emerge will just fail. Say iris require gallium, so

 

yes, I forgot that prior to that I added media-libs/mesa gallium in my package.use file, so that message never arrived =p

----------

## dmpogo

 *neyuru wrote:*   

> Hello!
> 
>  *dmpogo wrote:*   But for some combinations of flags you specified emerge will just fail. Say iris require gallium, so 
> 
> yes, I forgot that prior to that I added media-libs/mesa gallium in my package.use file, so that message never arrived =p

 

So I now have

VIDEO_CARDS='intel i965 iris'

mesa is compiled with USE='classic gallium'

xorg have no special configuration for driver choice.    Gen 9 GPU

What I get  (you can check your Xorg.0.log)

1) x86-video-intel    is not installed   (video_cards_i965 choice in  xorg-drivers blocks installation)

2)  as a result kernel modesetting driver  is used 

3)  DRI  driver is  iris    (both i965 ( uses classic) and iris (uses gallium) DRI drivers are installed by mesa,   default as I found prefers iris).   If either classic or gallium were not enabled, emerge would fail, since both architectures are needed,  for i965 and iris respectively.

4) libdrm is compiled with video_cards_intel   for whatever it does.

If I did it package by package I would have achieved the same result with

```

VIDEO_CARDS='i965'   emerge xorg-drivers

VIDEO_CARDS='iris' USE='-classic gallium' emerge mesa

VIDEO_CARDS='intel'   emerge libdrm

```

using global VIDEO_CARDS setting basically compiles unused classical i965 dri driver in mesa

----------

## neyuru

Do you use vaapi? If so, does vaapi work with your iris implementation?

----------

## neyuru

e.g. what happens when you run 

```
vainfo
```

 (Assuming libva-utils is installed and vaapi use flag is enabled)?

----------

## dmpogo

 *neyuru wrote:*   

> e.g. what happens when you run 
> 
> ```
> vainfo
> ```
> ...

 

Hm,  vaapi USE flag in enabled, but vainfo fails

```

grizzly ~ # vainfo

libva info: VA-API version 1.5.0

libva info: va_getDriverName() returns 0

libva info: Trying to open /usr/lib64/va/drivers/iris_drv_video.so

libva info: va_openDriver() returns -1

vaInitialize failed with error code -1 (unknown libva error),exit

```

I'll try it with i965_dry_video.so,  but later, cannot reboot right now.

Oo, I see,   USE='vaapi' is actually ignored by mesa for intel drivers   (used only for r600, radeonsi and nouveau

EDIT:   Ok for vaapi to work with iris, one needs to install   libva-intel-media-driver,   instead of (or in addition to)  libva-intel-driver  which gives vaapi to i965.

           Unfortumately  libva-intel-media-driver   is  unstable ~amd64  only, and latest version will require untable libva as well.   After that it all works

```

vainfo

libva info: VA-API version 1.7.0

libva info: Trying to open /usr/lib64/va/drivers/iHD_drv_video.so

libva info: Found init function __vaDriverInit_1_7

libva info: va_openDriver() returns 0

vainfo: VA-API version: 1.7 (libva 2.5.0)

vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 20.1.1 ()

vainfo: Supported profile and entrypoints

      VAProfileNone                   : VAEntrypointVideoProc

      VAProfileNone                   : VAEntrypointStats

      VAProfileMPEG2Simple            : VAEntrypointVLD

      VAProfileMPEG2Simple            : VAEntrypointEncSlice

      VAProfileMPEG2Main              : VAEntrypointVLD

      VAProfileMPEG2Main              : VAEntrypointEncSlice

      VAProfileH264Main               : VAEntrypointVLD

      VAProfileH264Main               : VAEntrypointEncSlice

      VAProfileH264Main               : VAEntrypointFEI

      VAProfileH264Main               : VAEntrypointEncSliceLP

      VAProfileH264High               : VAEntrypointVLD

      VAProfileH264High               : VAEntrypointEncSlice

      VAProfileH264High               : VAEntrypointFEI

      VAProfileH264High               : VAEntrypointEncSliceLP

      VAProfileVC1Simple              : VAEntrypointVLD

      VAProfileVC1Main                : VAEntrypointVLD

      VAProfileVC1Advanced            : VAEntrypointVLD

      VAProfileJPEGBaseline           : VAEntrypointVLD

      VAProfileJPEGBaseline           : VAEntrypointEncPicture

      VAProfileH264ConstrainedBaseline: VAEntrypointVLD

      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice

      VAProfileH264ConstrainedBaseline: VAEntrypointFEI

      VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP

      VAProfileVP8Version0_3          : VAEntrypointVLD

      VAProfileVP8Version0_3          : VAEntrypointEncSlice

      VAProfileHEVCMain               : VAEntrypointVLD

      VAProfileHEVCMain               : VAEntrypointEncSlice

      VAProfileHEVCMain               : VAEntrypointFEI

      VAProfileHEVCMain10             : VAEntrypointVLD

      VAProfileHEVCMain10             : VAEntrypointEncSlice

      VAProfileVP9Profile0            : VAEntrypointVLD

      VAProfileVP9Profile2            : VAEntrypointVLD

```

----------

## neyuru

 *dmpogo wrote:*   

> 
> 
> EDIT:   Ok for vaapi to work with iris, one needs to install   libva-intel-media-driver,   instead of (or in addition to)  libva-intel-driver  which gives vaapi to i965.
> 
> 

 

Interesting, I was wondering that since post #1 hehe. I'm going to try emerging an iris only driver with vaapi without explicitly installing libva-intel-media-driver. My guess is that portage it will not automatically pull that last package (I also got the same error before but this time I will try being more cautious and explicit in the use of use flags). This is in contrast to when a dependency is automatically pulled in most ebuilds. If this is the case, maybe a bug report is on the verge of being issued   :Rolling Eyes: 

----------

## neyuru

Does anyone know why gles2 egl is selected by default on mesa?

----------

## neyuru

Another thing that hasn't been covered (I think):

Xorg has two options: modesetting or intel

Do each of these two options work with any of the video_cards_xyz of the mesa driver (the VIDEO_CARDS use flags)?

----------

## grumblebear

Things are not so involved as you might imagine. The choice of modesetting or intel driver for Xorg has nothing to do with mesa.

Similarly, libva-intel-driver and libva-intel-media-driver should work with both, i965 and iris. The latter, like iris, is a newer development with support for more codecs and more recent hardware.

----------

## neyuru

 *grumblebear wrote:*   

> Things are not so involved as you might imagine. The choice of modesetting or intel driver for Xorg has nothing to do with mesa.
> 
> Similarly, libva-intel-driver and libva-intel-media-driver should work with both, i965 and iris. The latter, like iris, is a newer development with support for more codecs and more recent hardware.

 

Excellent, thanks!

I would pledge for the gentoo documentation maintainers to expand on these issues on the wiki. A simple grunt like myself has access only to the "discussion pages" of the wiki and, if one posts there, there are mixed results (sometimes a person responds, sometimes not... from personal experience)

----------

## neyuru

 *grumblebear wrote:*   

> Things are not so involved as you might imagine. The choice of modesetting or intel driver for Xorg has nothing to do with mesa.
> 
> Similarly, libva-intel-driver and libva-intel-media-driver should work with both, i965 and iris. The latter, like iris, is a newer development with support for more codecs and more recent hardware.

 

Also, xorg has 3 options for building intel support: intel, i915 and i965. The distinction from i915 and i965 is straightforward (I think: old vs new hardware) but what about plain intel?

----------

## grumblebear

You want to start all over? Have you read anything in this or the other thread at all? xorg-drivers is just a meta package that wants to make intelligent choices for those other drivers. But we have already covered all this in depth.

----------

## dmpogo

 *grumblebear wrote:*   

> Things are not so involved as you might imagine. The choice of modesetting or intel driver for Xorg has nothing to do with mesa.
> 
> 

 

Except that they are controlled by the same VIDEO_CARDS  meta flags,  that most people set once globally (which is how these meta flag variables are designed to be used).   Which is the source of all the confusion and discussion.

 *Quote:*   

> 
> 
> Similarly, libva-intel-driver and libva-intel-media-driver should work with both, i965 and iris. The latter, like iris, is a newer development with support for more codecs and more recent hardware.

 

I am not so sure.   libva-intel-driver  surely does not work on my machine with iris mesa driver.    Are you sure you have seen a working example to the contrary  ? 

BTW the driver name this package provides is called i965_drv_video, which is somewhat telling.  Also libva-intel-media-driver only works for GEN8+ hardware, exactly as iris,

so  libva-intel-media-driver  not just supports new platforma,  but will not work on older platforms, while i965 Mesa driver will.       

BTW that  USE='vaapi' is ignored  in Mesa for any intel  video cards does not help the confusion.

----------

## dmpogo

 *neyuru wrote:*   

>  *dmpogo wrote:*   
> 
> EDIT:   Ok for vaapi to work with iris, one needs to install   libva-intel-media-driver,   instead of (or in addition to)  libva-intel-driver  which gives vaapi to i965.
> 
>  
> ...

 

Neither libva-intel-driver  nor libva-intel-media-driver is pulled in automatically by any package.   Mesa ignores  USE='vaapi'  for any intel card choice.   So there is not obvious bug to file.   Moreover libva-intel-media-driver

exists only in   unstable ~amd64,  so stable packages cannot pull it anyway.      I wonder though why Mesa would not extend vaapi use flags for intel cards.

----------

## grumblebear

 *dmpogo wrote:*   

> 
> 
> I am not so sure.   libva-intel-driver  surely does not work on my machine with iris mesa driver.    Are you sure you have seen a working example to the contrary  ? 
> 
> 

 

Of course. I can easily switch between libva-intel-driver and libva-intel-media-driver when playing videos with mpv. You can control which driver is used by setting the LIBVA_DRIVER_NAME environment variable.

 *dmpogo wrote:*   

> BTW that  USE='vaapi' is ignored  in Mesa for any intel  video cards does not help the confusion.

 

It is well known that AMD and especially Nvidia are not very dedicated to the open source community when it comes to graphics support. So, while Intel provides a full featured solution, mesa provides a makeshift vaapi driver for those other platforms.

----------

## dmpogo

 *grumblebear wrote:*   

> [
> 
> Of course. I can easily switch between libva-intel-driver and libva-intel-media-driver when playing videos with mpv. You can control which driver is used by setting the LIBVA_DRIVER_NAME environment variable.
> 
> 

 

Interesting, I know about this variable and tried to load libva i965  since I knew I have it installed, while mesa was iris, and it did not work, but perhaps I did something wrong

 *Quote:*   

> 
> 
>  *dmpogo wrote:*   BTW that  USE='vaapi' is ignored  in Mesa for any intel  video cards does not help the confusion. 
> 
> It is well known that AMD and especially Nvidia are not very dedicated to the open source community when it comes to graphics support. So, while Intel provides a full featured solution, mesa provides a makeshift vaapi driver for those other platforms.

 

I am surprised that USE='vaapi'  for Mesa will not just pull in libva-intel-driver,  which is a nice stable package in the tree ? So it will be completely different solution than for other cards, but why not ?   Moreover, it is not an upstream issue, being purely Gentoo managing USE flags.

----------

