Giter Site home page Giter Site logo

intel-hybrid-driver's Introduction

DISCONTINUATION OF PROJECT.

This project will no longer be maintained by Intel.

Intel has ceased development and contributions including, but not limited to, maintenance, bug fixes, new releases, or updates, to this project.

Intel no longer accepts patches to this project.

If you have an ongoing need to use this project, are interested in independently developing it, or would like to maintain patches for the open source software community, please create your own fork of this project.

intel-hybrid-driver's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

intel-hybrid-driver's Issues

undefined symbol: dri_get_drawable

Ubuntu 21.04
5.11.0-34-lowlatency
X11/Xorg
Haswell i5-4200U / HD Graphics 4400 (HSW GT2)

libva, intel-hybrib-driver, cmrt, intel-vaapi-driver, libva-utils all compiled from master from the therepo's this morning.

At one point i had VP9 hybrid decode working but after upgrading the OS it no longer works. Recompiling had two issues crop up, the one with issues with the libs .so vs .so.1 the header missing externs in intel-hybrid-driver i'm left with this problem where it can't find dri_get_drawable :

libva info: VA-API version 1.13.0 libva info: User environment variable requested driver 'i965' libva info: Trying to open /opt/Apps/vaapi/lib/x86_64-linux-gnu/dri/i965_drv_video.so libva info: Found init function __vaDriverInit_1_13 error: failed to resolve dri_get_drawable(): /opt/Apps/vaapi/lib/x86_64-linux-gnu/libva-x11.so.2: undefined symbol: dri_get_drawable /opt/Apps/vaapi/lib/x86_64-linux-gnu/dri/hybrid_drv_video.so init failed Not using hybrid_drv_video.so libva info: va_openDriver() returns 0 vainfo: VA-API version: 1.13 (libva 2.13.0.pre1) vainfo: Driver version: Intel i965 driver for Intel(R) Haswell Mobile - 2.4.0.pre1 (2.3.0-34-g3ed3f6a) 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

intel-hybrid-driver does not work with libva 2.0

When using the new libva, the hybrid driver fails to start:

$  vainfo
libva info: VA-API version 1.1.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_1
/usr/lib64/dri/hybrid_drv_video.so init failed
Failed to wrapper hybrid_drv_video.so
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.1 (libva 2.1.0)
vainfo: Driver version: Intel i965 driver for Intel(R) Skylake - 2.1.0

MEDIA_DRV_ASSERT issue in line248: media_drv_init.c

For the MEDIA_DRV_ASSERT issue in line248: The code is bug. It should be changed to Poitner instead of Integer.

Same master branch. https://github.com/01org/intel-hybrid-driver/blob/master/src/media_drv_init.c#L248 has an:
case VASurfaceAttribExternalBufferDescriptor:
MEDIA_DRV_ASSERT (attrib_list[i].value.type ==
VAGenericValueTypeInteger);

which prohibits using VaGenericValueTypePointer. However, it seems that after that it actually uses it as pointer, not as integer. So maybe this is just a buggy ASSERT only.

GPU Hang on mpv

Hi I just installed this driver and its amazing, but it has a little problem, 2 of every 5 videos I open freeze the pc I searched and it seams like its a gpu hang, is there a way to prevent this from happening? my system is manjaro gnome (wayland session) and a intel celeron n3050 with intel hd 400 graphics

Skylake vp9 decoding not working

LIBVA_DRIVER_NAME=i965 vainfo

/usr/lib/dri/hybrid_drv_video.so has no function __vaDriverInit_0_32
Not using hybrid_drv_video.so
vainfo: VA-API version: 1.13 (libva 2.13.0)
vainfo: Driver version: Intel i965 driver for Intel(R) Skylake - 2.4.1
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Simple            :	VAEntrypointEncSlice
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSliceLP
      VAProfileH264ConstrainedBaseline:	VAEntrypointFEI
      VAProfileH264ConstrainedBaseline:	VAEntrypointStats
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointEncSlice
      VAProfileH264Main               :	VAEntrypointEncSliceLP
      VAProfileH264Main               :	VAEntrypointFEI
      VAProfileH264Main               :	VAEntrypointStats
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointEncSlice
      VAProfileH264High               :	VAEntrypointEncSliceLP
      VAProfileH264High               :	VAEntrypointFEI
      VAProfileH264High               :	VAEntrypointStats
      VAProfileH264MultiviewHigh      :	VAEntrypointVLD
      VAProfileH264MultiviewHigh      :	VAEntrypointEncSlice
      VAProfileH264StereoHigh         :	VAEntrypointVLD
      VAProfileH264StereoHigh         :	VAEntrypointEncSlice
      VAProfileVC1Simple              :	VAEntrypointVLD
      VAProfileVC1Main                :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
      VAProfileNone                   :	VAEntrypointVideoProc
      VAProfileJPEGBaseline           :	VAEntrypointVLD
      VAProfileJPEGBaseline           :	VAEntrypointEncPicture
      VAProfileVP8Version0_3          :	VAEntrypointVLD
      VAProfileVP8Version0_3          :	VAEntrypointEncSlice
      VAProfileHEVCMain               :	VAEntrypointVLD
      VAProfileHEVCMain               :	VAEntrypointEncSlice

LIBVA_DRIVER_NAME=hybrid vainfo

vainfo: VA-API version: 1.13 (libva 2.13.0)
vainfo: Driver version: Intel hybrid driver - 2.0.0
vainfo: Supported profile and entrypoints
      VAProfileVP9Profile0            :	VAEntrypointVLD

distro: arch linux

[RFE] Add appdata support for the hybrid-driver

With appdata files, it's possible to make the "software" application in GNOME or related desktop environment to know if the current hardware might benefit from a particular "driver" (here intel-hybrid-driver).

Please provide us with a way to extract such information (with pciids) for hardware relevant with this project.

Here is a sample about how to use this feature with nvidia and :
https://github.com/rpmfusion/xorg-x11-drv-nvidia/blob/master/xorg-x11-drv-nvidia.metainfo.xml
https://github.com/rpmfusion/xorg-x11-drv-nvidia/blob/master/xorg-x11-drv-nvidia.spec#L395
https://github.com/rpmfusion/xorg-x11-drv-nvidia/blob/master/parse-readme.py

libva error: hybrid_drv_video.so has no function __vaDriverInit_1_0

I'm trying to build this for libva 2.0.0 but even after rebuilding all packages against the new version of libva trying to run vainfo with LIBVA_DRIVER_NAME=hybrid results in the following output:

libva info: VA-API version 1.0.0
libva info: va_getDriverName() returns 0
libva info: User requested driver 'hybrid'
libva info: Trying to open /usr/lib/dri/hybrid_drv_video.so
libva error: /usr/lib/dri/hybrid_drv_video.so has no function __vaDriverInit_1_0
libva info: va_openDriver() returns -1
vaInitialize failed with error code -1 (unknown libva error),exit

Running
nm --demangle -D /usr/lib/dri/hybrid_drv_video.so | grep vaDriver
Shows that there is still a reference to the previous version of libva
000000000001c610 T __vaDriverInit_0_34

GCC 10 compatibility issue

With the latest GCC 10 (in Fedora Rawhide), intel-hybrid-driver fails to build:

/usr/bin/ld: .libs/hybrid_drv_video_la-media_drv_hw_g75.o:/builddir/build/BUILD/intel-hybrid-driver-1.0.2/src/media_drv_common.h:43: multiple definition of `ME_CURBE_INIT_DATA'; .libs/hybrid_drv_video_la-media_drv_common.o:/builddir/build/BUILD/intel-hybrid-driver-1.0.2/src/media_drv_common.c:135: first defined here
/usr/bin/ld: .libs/hybrid_drv_video_la-media_drv_hw_g75.o:/builddir/build/BUILD/intel-hybrid-driver-1.0.2/src/media_drv_common.h:42: multiple definition of `SEARCH_PATH_TABLE'; .libs/hybrid_drv_video_la-media_drv_common.o:/builddir/build/BUILD/intel-hybrid-driver-1.0.2/src/media_drv_common.c:29: first defined here
collect2: error: ld returned 1 exit status
make[3]: *** [Makefile:681: hybrid_drv_video.la] Error 1
make[2]: *** [Makefile:975: all-recursive] Error 1
make[1]: *** [Makefile:596: all] Error 2
make: *** [Makefile:419: all-recursive] Error 1

This is related to this change in GCC 10:

GCC now defaults to -fno-common. As a result, global variable accesses are more efficient on various targets. In C, global variables with multiple tentative definitions now result in linker errors. With -fcommon such definitions are silently merged during linking.

https://gcc.gnu.org/gcc-10/changes.html

Default to -fno-common

A common mistake in C is omitting extern when declaring a global variable in a header file. If the header is included by several files it results in multiple definitions of the same variable. In previous GCC versions this error is ignored. GCC 10 defaults to -fno-common, which means a linker error will now be reported. To fix this, use extern in header files when declaring global variables, and ensure each global is defined in exactly one C file. As a workaround, legacy C code can be compiled with -fcommon.

int x; // tentative definition - avoid in header files

extern int y; // correct declaration in a header file

https://gcc.gnu.org/gcc-10/porting_to.html

VP9Decoding crashes on HSW

From the Mailing List HSW should not be able to decode VP9 in a hybrid way at all, see: http://lists.freedesktop.org/archives/libva/2015-September/003524.html

But VP9 capabailities are newer the less enumerated on my hsw gpu:

fritsch@t440s:~/Desktop/xbmc-fritsch/xbmc$ vainfo 
libva info: VA-API version 0.38.1
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/local/lib/dri/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.3.pre1)
vainfo: Driver version: Intel i965 driver for Intel(R) Haswell Mobile - 1.6.3.pre1 (1.6.1-84-ga7803c0)
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
      VAProfileH264MultiviewHigh      : VAEntrypointVLD
      VAProfileH264MultiviewHigh      : VAEntrypointEncSlice
      VAProfileH264StereoHigh         : VAEntrypointVLD
      VAProfileH264StereoHigh         : VAEntrypointEncSlice
      VAProfileVP9Profile0            : VAEntrypointVLD

Consequently it crashes hard when decoding VP9 with that driver:
Backtrace: http://sprunge.us/DBAe

If HSW does not support VP9 it should not be exposed by the hybrid driver.

does Baytrail supports VP9 hardware accelaration with this driver ?

libva info: VA-API version 1.11.0
libva info: User environment variable requested driver 'i965'
libva info: Trying to open /usr/lib64/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_11
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.11 (libva 2.11.1)
vainfo: Driver version: Intel i965 driver for Intel(R) Bay Trail - 2.4.1
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
      VAProfileH264StereoHigh         : VAEntrypointVLD
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
      VAProfileNone                   : VAEntrypointVideoProc
      VAProfileJPEGBaseline           : VAEntrypointVLD

This is after Installing intel hybrid driver .

VP8 not being forwarded

libva-1.6.1-1.x86_64
libva-driver-intel-1.6.1-1.x86_64
libva-driver-intel-hybrid-1.0.1-1.x86_64
libcmrt-1.0.5-1.x86_64

[arekm@xps ~]$ vainfo |grep VP
libva info: VA-API version 0.38.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/libva/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_38
libva info: va_openDriver() returns 0
      VAProfileVP9Profile0            : VAEntrypointVLD
[arekm@xps ~]$ LIBVA_DRIVER_NAME=hybrid vainfo |grep VP
libva info: VA-API version 0.38.0
libva info: va_getDriverName() returns 0
libva info: User requested driver 'hybrid'
libva info: Trying to open /usr/lib64/libva/dri/hybrid_drv_video.so
libva info: Found init function __vaDriverInit_0_34
libva info: va_openDriver() returns 0
      VAProfileVP8Version0_3          : VAEntrypointEncSlice
      VAProfileVP9Profile0            : VAEntrypointVLD

VAProfileVP8Version0_3 is not being forwarded when using via regular intel driver while VAProfileVP9Profile0 is forwarded nicely. Not sure if this is a bug though. I assume it is.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.