# Intel Hardware Acceleration Problem

## PrivateVoid

Hi, 

so my problem: I suppose my video hardware acceleration on my laptop does not work.

Symptoms: 20-30% CPU usage while watching videos on chromium (multiple sites) or VLC (720p videos)

Leads to short battery life, loud fans

Hardware: MacBook Pro early 2015 13-inch, Dual Core Broadwell, Intel Iris Pro, no other graphics card

I followed the Gentoo Wiki about VAAPI, Intel, VDPAU, Hardware Acceleration Guide

(I also tried Arch Linux Forums and Debian)

```
alex@broadwell ~ $ vainfo 

libva info: VA-API version 1.1.0

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_1_1

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) Broadwell - 2.1.0

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
```

This probably means VAAPI is working; But the following snippet:

```
alex@broadwell ~ $ vdpauinfo 

display: :0   screen: 0

Failed to open VDPAU backend libvdpau_i965.so: cannot open shared object file: No such file or directory

Error creating VDPAU device: 1
```

obviously says VDPAU has a problem.

Does anyone have experience with this? What the problem is & how to fix it?

Installed packages:

```
[IP-] [  ] x11-libs/libva-2.1.0:0/2

[IP-] [  ] x11-libs/libva-intel-driver-2.1.0:0

[IP-] [  ] x11-libs/libva-vdpau-driver-0.7.4-r4:0

[IP-] [  ] media-video/libva-utils-2.1.0:0

[IP-] [  ] x11-libs/libvdpau-1.1.1:0

[IP-] [  ] x11-misc/vdpauinfo-1.0:0

[IP-] [  ] media-libs/mesa-18.1.0:0
```

And just in case my only xorg.conf:

```
alex@broadwell ~ $ cat /etc/X11/xorg.conf.d/20-modesetting.conf 

Section "Device"

    Identifier  "Intel Graphics"

    Driver      "modesetting"

    Option      "AccelMethod"    "glamor"

    Option      "DRI"            "3"

EndSection
```

Thank you for your help

(my first forum post - please don't be harsh)

----------

## NeddySeagoon

PrivateVoid,

Welcome to Gentoo.

Please 

```
emerge wgetpaste
```

Then use it to put /var/log/Xorg.0.log onto a pastebin site.

Post the link you get back.

The log will tell what Xorg actually did when it started, as opposed to what it was asked to do.

Is your normal user in the video group?

```
$ groups

tty wheel uucp audio cdrom video games kvm cdrw usb users vboxusers scanner wireshark plugdev
```

----------

## PrivateVoid

Hi, thank you for your reply  :Smile: 

Sure the link from my Xorg.0.log is:

Well I am not good in reading error logs.. 

https://paste.pound-python.org/show/KiyW2H7JoZlv0n84sLBe/

Yes, my normal user is in the video group:

```
alex@broadwell ~ $ groups

wheel audio video kvm usb input users plugdev alex
```

Thank you for your help

----------

## NeddySeagoon

PrivateVoid,

```
[     6.140] (WW) modeset(0): Option "DRI" is not used

[     6.140] (II) modeset(0): [DRI2] Setup complete

[     6.140] (II) modeset(0): [DRI2]   DRI driver: i965

[     6.140] (II) modeset(0): [DRI2]   VDPAU driver: i965
```

That's all OK. There are no VDPAU errors or warnings there.

The 

```
(WW) modeset(0): Option "DRI" is not used
```

is because you have 

```
Option      "DRI"            "3" 
```

in your config but Xorg ignores it.

At the end of the log you have

```
[ 21304.009] (EE) modeset(0): Failed to make 16bpp pixmap exportable
```

why are you trying to use 16bpp colour?

```
man modesetting
```

may be worth a read.

----------

## PrivateVoid

Hi,

firstly, thank you very much, I really appreciate your help and patience with me.

secondly I did not explictly set 16bpp anywhere & after a 25 minute Google search, modesetting man page reading I am still not sure what that means or how to fix this.

And just to clarify for me: that Xorg ignores my DRI Option is something I can ignore too? (Would not make sense, because there is a reason it stands in the Gentoo Hardware Acceleration Guide) Or is this the first thing I should get working before doing anything else?

Thank you for your help.

----------

## NeddySeagoon

PrivateVoid,

Correct. The modesetting driver ignores, your DRI option. It issues a warning about it not being used.

Feel free to ignore the warning.

Once upon a time when DRI 3 was experimental, the option made sense. Its no longer listed in 

```
man modesetting
```

I suspect that the root of the problem is   

```
 DESCRIPTION

       modesetting  is  an Xorg driver for KMS devices.  This is a non-accelerated driver ...
```

Your vainfo output means that /usr/lib64/va/drivers/i965_drv_video.so is installed.

Likewise, vdpauinfo,  libvdpau_i965.so tells that libvdpau_i965.so: cannot open shared object file: No such file or directory is not installed.

That does not infer that the modesetting driver can use either of them.

For testing, move /etc/X11/xorg.conf.d/20-modesetting.conf out of /etc/X11/, so its not found and lets see which driver Xorg prefers for your chipset.

Start your GUI after that move and pastebin the /var/log/Xorg.0.log from that starup.

If the start fails, make a copy of the log and pastebin the copy after you revert the /etc/X11/xorg.conf.d/20-modesetting.conf move.

I suspect that intel is the preferred driver.

----------

