Package Details: chromium-vaapi 71.0.3578.98-1

Git Clone URL: https://aur.archlinux.org/chromium-vaapi.git (read-only)
Package Base: chromium-vaapi
Description: Chromium with VA-API support to enable hardware acceleration
Upstream URL: https://www.chromium.org/Home
Keywords: browser web
Licenses: BSD
Conflicts: chromium
Provides: chromium
Submitter: samcv
Maintainer: OneObsession (maximbaz)
Last Packager: maximbaz
Votes: 62
Popularity: 4.552630
First Submitted: 2016-07-09 09:44
Last Updated: 2018-12-13 21:31

Dependencies (48)

Required by (37)

Sources (8)

Pinned Comments

Terence commented on 2018-11-13 23:15

[Nvidia users PLEASE READ]

To get hardware acceleration working, you also have to install https://aur.archlinux.org/packages/libva-vdpau-driver-chromium

Disclaimer : VP8/9 video decoding will not work!

GeForce GTX 750 SE and after support HEVC and VP9 video decoding but VDPAU,the only VAAPI backend available for Nvidia users with libva-vdpau-driver, doesn't support VP8/9.

4 ways to solve this:

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 8 9 ... Next › Last »

maximbaz commented on 2018-10-30 22:33

Sure thing!

vainfo:

vainfo: VA-API version: 1.3 (libva 2.3.0)
vainfo: Driver version: Intel i965 driver for Intel(R) Kaby Lake - 2.2.0
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Simple            : VAEntrypointEncSlice
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointEncSliceLP
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSlice
      VAProfileH264High               : VAEntrypointEncSliceLP
      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
      VAProfileHEVCMain10             : VAEntrypointVLD
      VAProfileHEVCMain10             : VAEntrypointEncSlice
      VAProfileVP9Profile0            : VAEntrypointVLD
      VAProfileVP9Profile0            : VAEntrypointEncSlice
      VAProfileVP9Profile2            : VAEntrypointVLD

chrome://gpu

Canvas: Hardware accelerated
Flash: Hardware accelerated
Flash Stage3D: Hardware accelerated
Flash Stage3D Baseline profile: Hardware accelerated
Compositing: Hardware accelerated
Multiple Raster Threads: Enabled
Native GpuMemoryBuffers: Hardware accelerated
Out-of-process Rasterization: Disabled
Hardware Protected Video Decode: Hardware accelerated
Rasterization: Hardware accelerated
Skia Deferred Display List: Disabled
Skia Renderer: Disabled
Surface Synchronization: Enabled
Video Decode: Hardware accelerated
Viz Service Display Compositor: Disabled
WebGL: Hardware accelerated
WebGL2: Hardware accelerated

chrome://media-internals while playing a random video on YouTube:

video_buffering_state   BUFFERING_HAVE_ENOUGH
video_codec_name    vp9
video_dds   false
video_decoder   GpuVideoDecoder

My chromium flags

Terence commented on 2018-10-30 18:55

@maximbaz can you tell me what vainfo gives you? and also the content of your chrome://gpu page please.

darkbasic commented on 2018-10-30 13:37

Nevermind, looks like something broke in my vaapi setup:

$ vainfo vainfo: VA-API version: 1.3 (libva 2.3.0) vainfo: Driver version: Mesa Gallium driver 18.2.3 for AMD Radeon HD 7900 Series (TAHITI, DRM 3.26.0, 4.18.16-arch1-1-ARCH, LLVM 7.0.0) vainfo: Supported profile and entrypoints VAProfileMPEG2Simple : VAEntrypointVLD VAProfileMPEG2Main : VAEntrypointVLD VAProfileNone : VAEntrypointVideoProc

darkbasic commented on 2018-10-30 13:31

@ForeignCon [1549:1549:1030/142019.522023:ERROR:sandbox_linux.cc(379)] : InitializeSandbox() called with multiple threads in process gpu-process.

maximbaz commented on 2018-10-30 11:05

Shameless self-promotion in light of updated icu which requires chromium to be rebuilt: I made an AUR package rebuild-detector which as the name suggests detects AUR packages that have to be rebuilt because of an updated dependency. It's a very simple script and it doesn't try to be 100% bullet-proof like lddd tool in pacman-contrib, instead it tries to be fast so you can run it very often (I run every time I install updates) - hope it will make your experience more pleasant, not only with chromium-vaapi, but with AUR in general.

maximbaz commented on 2018-10-30 10:30

I've just noticed that he actually explained his decision in patch description :)

Flags are kept independent for linux, where this feature has to be enabled before actually using it. This should not change how other OSes use the flags already, the new flags will show at the buttom on the section of unavailable experiments

I don't want to rush switching patch or enabling/disabling decoding by default, but I'll definitely keep an eye on the Suse patch.

Good luck with trying to make it work on wayland, please share your findings afterwards ;)

xsmile commented on 2018-10-29 21:34

Charles probably added another flag to maintain compatibility. While hardware acceleration is well tested and enabled by default in ChromeOS, this is/was not the case for Linux.

Users of this package will enable the flags anyway and I see no reason why they shouldn't be enabled by default in this case.

Personally I likely won't make changes to the patch logic and keep refreshing it as long as everything works.

ForeignCon commented on 2018-10-29 17:45

@maximbaz You're most welcome. :) Btw from the looks of the their chromium wrapper and the patch, it seems they have enabled it by default and honestly it's not a big deal. Browser won't crash if it can't detect libva drivers. It will switched to software decoding. Only thing which concerns me is Nvidia drivers. They are just horrible and can crash together with system.

I have tried building with wayland support using the flag use_ozone=true use_intel_minigbm=true(gbm is what kwin and mutter uses, minigbm because intel vaapi drivers fails under xwayland) but the final linking failed with undeclared scope error. I'm still trying to find out the cause though. Will try with egl next.

Note: Nvidia driver in this case too doesn't want to implement gbm. They want egl streams and there is whole new chaos in this context too. Mutter recently had patches for egl streams to support wayland on Nvidia drivers.

maximbaz commented on 2018-10-29 17:35

Thanks @ForeignCon, you obviously follow this thread more closely than I do. I heard Open Suse has even added that patch in their official distribution of chromium, so it's a good argument for using the same patch as them. What do others think about it? @xsmile?

Speaking of Open Suse, do you know if HW acceleration is disabled for them by default? Just curious, since enabling it by default sounds quite risky for an official package.

I'm not using wayland so I'm not exactly sure if HW acceleration works there or not. Do you know if a separate patch is needed for that?

ForeignCon commented on 2018-10-29 17:17

@maximbaz Here is opensuse's patch : https://build.opensuse.org/package/view_file/network:chromium/chromium/chromium-vaapi.patch?expand=1

I think everyone is following the latest comment on code review about using existing flags which will would make the CL smaller except ubuntu and arch linux.

Btw have you been successful in building with wayland support and with the official vaapi patch?