Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 604248 - x11-libs/libva should pull x11-libs/libva-intel-driver if VIDEO_CARDS="i965"
Summary: x11-libs/libva should pull x11-libs/libva-intel-driver if VIDEO_CARDS="i965"
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Alexis Ballier
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-12-31 11:30 UTC by Georgy Yakovlev
Modified: 2017-01-04 12:06 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge --info output (emerge--info.txt,5.81 KB, text/plain)
2016-12-31 11:30 UTC, Georgy Yakovlev
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Georgy Yakovlev archtester gentoo-dev 2016-12-31 11:30:58 UTC
Created attachment 458138 [details]
emerge --info output

Hello,
I'm running stable gentoo on broadwell system without x11-drivers/xf86-video-intel, using modesetting_drv.so, works great.

VIDEO_CARDS="i965"

I noticed that mpv does not provide hw acceleration despite everything compiled with vaapi support.

 vainfo
libva info: VA-API version 0.38.1
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/va/drivers/i965_drv_video.so
libva info: va_openDriver() returns -1
vaInitialize failed with error code -1 (unknown libva error),exit




tried to search for i965_drv_video.so and it definitely was missing from my system.

Installing libva-intel-driver solved my problem

 vainfo # after installing libva-intel-driver
libva info: VA-API version 0.38.1
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/va/drivers/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_38
libva info: va_openDriver() returns 0
vainfo: VA-API version: 0.38 (libva 1.6.2)
vainfo: Driver version: Intel i965 driver for Intel(R) Broadwell - 1.6
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Simple            : VAEntrypointEncSlice
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSlice
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSlice
      VAProfileH264MultiviewHigh      : VAEntrypointVLD
      VAProfileH264MultiviewHigh      : VAEntrypointEncSlice
      VAProfileH264StereoHigh         : VAEntrypointVLD
      VAProfileH264StereoHigh         : VAEntrypointEncSlice
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
      VAProfileNone                   : VAEntrypointVideoProc
      VAProfileJPEGBaseline           : VAEntrypointVLD
      VAProfileVP8Version0_3          : VAEntrypointVLD
      VAProfileH264MultiviewHigh      : VAEntrypointVLD
      VAProfileH264MultiviewHigh      : VAEntrypointEncSlice
      VAProfileH264StereoHigh         : VAEntrypointVLD
      VAProfileH264StereoHigh         : VAEntrypointEncSlice





I think  VIDEO_CARDS="i965" should make libva depend on libva-intel-driver as well.

let me know if you need more information about the system.
Comment 1 Coacher 2016-12-31 14:05:10 UTC
libva pulls libva-intel-driver with VIDEO_CARDS=intel. Is it not enough?
Comment 2 Georgy Yakovlev archtester gentoo-dev 2016-12-31 21:55:17 UTC
VIDEO_CARDS=intel is not enough. it's wrong in some cases.
let me explain.

I'm not running some experimental unsupported configuration, 
modesetting is the preferred driver for my card according to upstream.
I switched to modesetting because I was having crashes and deadlocks with classic intel driver.


VIDEO_CARDS=intel pulls xf86-video-intel and many other intel related stuff into system for various packages.

As of xorg-server-1.17, the modesetting driver was moved into x11-base/xorg-server. This driver has more features than the classic intel driver, such as GLAMOR.

Beginning with x11-base/xorg-drivers-1.19, x11-base/xorg-drivers also includes the video_cards_i965 USE flag. This will omit x11-drivers/xf86-video-intel in favor of the more advanced modesetting driver built in to x11-base/xorg-server.

here are 2 lines from x11-base/xorg-drivers-1.19 ebuild
 video_cards_i965?          ( >=x11-base/xorg-server-${PV}[glamor] )
 video_cards_intel?         ( !video_cards_i965? ( x11-drivers/xf86-video-intel ) )


Other distros have started phasing out xf86-video-intel in favor of the modesetting driver which the latter is more advanced on Gen 4 and later Intel GPUs 


So some people moving from intel driver to modesetting, and libva ebuild should support that.


Some information taken from here.

https://wiki.gentoo.org/wiki/Talk:Intel



All that information makes me believe that libva ebuild should definitely support video_cards_i965 and pull x11-libs/libva-intel-driver.
Currently it's counter-intuitive and a user has to install libva-driver manually, which is not expected behavior with correctly set USE flags and VIDEO_CARDS variables.
Comment 3 Alexis Ballier gentoo-dev 2017-01-04 12:06:03 UTC
commit b45d55634f43b808d3fc08b0c291d9dabd6012c5
Author: Alexis Ballier <aballier@gentoo.org>
Date:   Wed Jan 4 13:05:11 2017 +0100

    x11-libs/libva: pull intel driver as pdepend when video_cards_i965 is set. Bug #604248.



thanks!