New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 785117 link

Starred by 6 users

Issue metadata

Status: Fixed
Owner:
Closed: May 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Feature



Sign in to add a comment

Update libva to 2.0.0

Project Member Reported by acourbot@chromium.org, Nov 15 2017

Issue description

This is a tracking bug for the upgrade of Chromium OS' libva to 2.0.0. The update needs to take place in several steps:

1) Do a local upgrade and make sure that Chromium's VAAPI wrapper still compiles (i.e. ensure that we hit no source-level incompatibilities). Fix eventual errors with conditional compilation.

2) Even after we upgrade libva on Chromium OS, simplechrome's design will make that Chromium binaries build against 1.8.3 will want to run on the new rootfs. Thus current libva 1.8.3 must still be built and installed on the target device (development-related files are not required though)

2.1) Reserve a placeholder for libva1 drivers (e.g. /usr/lib64/va/drivers/) and update libva 1.8.3's ebuild to install the libraries there. Make sure to update Chrome's sandbox hook to include this new path beforehand.

2.2) Enable the libva 2 ebuilds using a slot, and similarly add the new paths into Chromium's sandbox and libva's loading code.

3) Once all simplechrome builds have using libva 2, the old libva 1.8.3 ebuild can be removed, as well as the obsolete paths in GPU sandbox and VAAPI wrapper.
 

Comment 1 Deleted

Got most of the pieces in place locally for dual support of 1.8.3 and 2.0.0.

Also tried to build and run Chrome against 2.0.0. Initialization is successful but I get the following as soon as I try to play something:

    ERROR:vaapi_wrapper.cc(989)] vaEndPicture failed VA error: invalid VASurfaceID

Could not find any past bug related to this error, so looks like something new.

Comment 3 by mcasas@chromium.org, Nov 15 2017

Components: Internals>GPU>Video
Labels: OS-Chrome
Cc: daniel.c...@intel.com
Adding Daniel for comments as I have more information about the error.

The "invalid VASurfaceID" reported by vaapi_wrapper ultimately comes from the intel driver, file i965_decoder_utils.cc, function intel_decoder_check_avc_parameter():

        if (!(va_pic->flags & VA_PICTURE_H264_INVALID) &&
            va_pic->picture_id != VA_INVALID_ID) {
            obj_surface = SURFACE(pic_param->ReferenceFrames[i].picture_id);
            if (!obj_surface)
                return VA_STATUS_ERROR_INVALID_SURFACE;

I could not find any change between 1.8.3 and 2.0.0 that would explain this behavior. Daniel, would you have any idea where this comes from?
False alarm, I have been careless and was still using old .o files compiled against the 1.8.3 headers. >_< Things look better, re-checking everything. Daniel, sorry for the noise!
Project Member

Comment 6 by bugdroid1@chromium.org, Nov 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3aa0c39e2a34aa95d2da2f334af65667c0d7d9cb

commit 3aa0c39e2a34aa95d2da2f334af65667c0d7d9cb
Author: Alexandre Courbot <acourbot@chromium.org>
Date: Tue Nov 21 03:41:45 2017

vaapi_wrapper: prepare for libva 2.0

libva 2.0 is a major version upgrade, meaning that the library dlopen'ed
by Chromium is renamed from libva.so.1 to libva.so.2.

Due to the way ChromeOS is built, we may end up with a browser build
against the old libva even after the sysroot is upgraded to the new
version. For this reason we will keep both versions of the library on
the system until all buildbots have caught up to the 2.0 upgrade.

This patch makes Chromium capable of loading any of these two versions,
by whitelisting the newly-introduced libraries on the rootfs, and
loading the correct library depending on the version it has been
compiled against.

The old libva 1 paths will be removed once the buildbots have all caught
up.

BUG= chromium:785117 
TEST=Made sure that the chrome binary and video_decode_accelerator_unittest
were both finding and loading the right library.

Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I93c582e4ff6bca730003706bd1e21fbb8959be1f
Reviewed-on: https://chromium-review.googlesource.com/771170
Reviewed-by: Jorge Lucangeli Obes <jorgelo@chromium.org>
Reviewed-by: Pawel Osciak <posciak@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Alexandre Courbot <acourbot@chromium.org>
Cr-Commit-Position: refs/heads/master@{#518095}
[modify] https://crrev.com/3aa0c39e2a34aa95d2da2f334af65667c0d7d9cb/content/gpu/gpu_sandbox_hook_linux.cc
[modify] https://crrev.com/3aa0c39e2a34aa95d2da2f334af65667c0d7d9cb/media/gpu/vaapi_wrapper.cc

Compatility change landed in Chromium source, waiting for simplechrome builds to use a version that includes it to proceed with changes on the sysroot side.
Project Member

Comment 8 by bugdroid1@chromium.org, Nov 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/72c435bf7745358cf71239dc9d5ee0a1165681e5

commit 72c435bf7745358cf71239dc9d5ee0a1165681e5
Author: Alexandre Courbot <acourbot@chromium.org>
Date: Tue Nov 21 05:16:16 2017

Revert "vaapi_wrapper: prepare for libva 2.0"

This reverts commit 3aa0c39e2a34aa95d2da2f334af65667c0d7d9cb.

Reason for revert: VAAPI driver files will not be dlopen'd properly on an older rootfs.

Original change's description:
> vaapi_wrapper: prepare for libva 2.0
> 
> libva 2.0 is a major version upgrade, meaning that the library dlopen'ed
> by Chromium is renamed from libva.so.1 to libva.so.2.
> 
> Due to the way ChromeOS is built, we may end up with a browser build
> against the old libva even after the sysroot is upgraded to the new
> version. For this reason we will keep both versions of the library on
> the system until all buildbots have caught up to the 2.0 upgrade.
> 
> This patch makes Chromium capable of loading any of these two versions,
> by whitelisting the newly-introduced libraries on the rootfs, and
> loading the correct library depending on the version it has been
> compiled against.
> 
> The old libva 1 paths will be removed once the buildbots have all caught
> up.
> 
> BUG= chromium:785117 
> TEST=Made sure that the chrome binary and video_decode_accelerator_unittest
> were both finding and loading the right library.
> 
> Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
> Change-Id: I93c582e4ff6bca730003706bd1e21fbb8959be1f
> Reviewed-on: https://chromium-review.googlesource.com/771170
> Reviewed-by: Jorge Lucangeli Obes <jorgelo@chromium.org>
> Reviewed-by: Pawel Osciak <posciak@chromium.org>
> Reviewed-by: Antoine Labour <piman@chromium.org>
> Reviewed-by: Kenneth Russell <kbr@chromium.org>
> Commit-Queue: Alexandre Courbot <acourbot@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#518095}

TBR=jorgelo@chromium.org,posciak@chromium.org,kbr@chromium.org,piman@chromium.org,acourbot@chromium.org

Change-Id: Ie0333df18e94b907c21c961bfce5373075f72455
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  chromium:785117 
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Reviewed-on: https://chromium-review.googlesource.com/781002
Reviewed-by: Pawel Osciak <posciak@chromium.org>
Commit-Queue: Alexandre Courbot <acourbot@chromium.org>
Cr-Commit-Position: refs/heads/master@{#518132}
[modify] https://crrev.com/72c435bf7745358cf71239dc9d5ee0a1165681e5/content/gpu/gpu_sandbox_hook_linux.cc
[modify] https://crrev.com/72c435bf7745358cf71239dc9d5ee0a1165681e5/media/gpu/vaapi_wrapper.cc

Project Member

Comment 9 by bugdroid1@chromium.org, Nov 22 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8d19e7f12d8c4bfa3bb91dd47c54340e6fddbf8b

commit 8d19e7f12d8c4bfa3bb91dd47c54340e6fddbf8b
Author: Alexandre Courbot <acourbot@chromium.org>
Date: Wed Nov 22 10:19:37 2017

vaapi_wrapper: prepare for libva 2.0

libva 2.0 is a major version upgrade, meaning that the library dlopen'ed
by Chromium is renamed from libva.so.1 to libva.so.2.

Due to the way ChromeOS is built, we may end up with a browser build
against the old libva even after the sysroot is upgraded to the new
version. For this reason we will keep both versions of the library on
the system until all buildbots have caught up to the 2.0 upgrade.

This patch makes Chromium capable of loading any of these two versions,
by whitelisting the newly-introduced libraries on the rootfs, and
loading the correct library depending on the version it has been
compiled against.

The old libva 1 paths will be removed once the buildbots have all caught
up.

BUG= chromium:785117 
TEST=Made sure that the chrome binary and video_decode_accelerator_unittest
were both finding and loading the right library.

Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I3b24ffdd2ac9dcadacab2f3e10dbe62644e9ce01
Reviewed-on: https://chromium-review.googlesource.com/781324
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Jorge Lucangeli Obes <jorgelo@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Wu-Cheng Li <wuchengli@chromium.org>
Commit-Queue: Alexandre Courbot <acourbot@chromium.org>
Cr-Commit-Position: refs/heads/master@{#518595}
[modify] https://crrev.com/8d19e7f12d8c4bfa3bb91dd47c54340e6fddbf8b/content/gpu/gpu_sandbox_hook_linux.cc
[modify] https://crrev.com/8d19e7f12d8c4bfa3bb91dd47c54340e6fddbf8b/media/gpu/vaapi_wrapper.cc

Hi Alex,

I was hoping the patch (link below) would simply this quite a bit.  By moving all initialization dances to vaapi_wrapper there's no need to modify sandbox code.   What do you think? 


https://chromium-review.googlesource.com/c/chromium/src/+/666138


Hi Daniel,

Your patch is definitely a more generic way to address the issue (although it does not attempt to load libva.so.2, which is the entry point for libva 2.0). I hope we can move towards something like this, since the drivers path is not fixed and distro-dependent.

My issue with it is more from a security standpoint. This allows 3rd-party code to run before we sandbox. Any vulnerability in the libva initialization code would become much more serious. We need to discuss this point (and rebase ;)) before merging it.

For now, the patch I merged is a simple-and-dirty way to address the transition period during which we need to have both libva 1 and 2 in Chrome OS. I will revert it once all the builders have switched to libva 2.
Project Member

Comment 12 by bugdroid1@chromium.org, Dec 8 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/2883076467d595b85cf663eee19645fc73a6b118

commit 2883076467d595b85cf663eee19645fc73a6b118
Author: Alexandre Courbot <acourbot@chromium.org>
Date: Fri Dec 08 11:59:16 2017

libva: move driver libraries to /usr/lib{64}/va1

libva 1 and 2 will coexist for a short while on the filesystem, and both
want to place their driver libraries in /usr/lib{64}/va by default.

Avoid a collision between these two packages by moving libva1's drivers
to /usr/lib{64}/va1.

BUG= chromium:785117 
TEST=Checked that HW video acceleration still worked after Chromium is
patched with CL 771170.
CQ-DEPEND=CL:771170

Change-Id: I9569cd816d7301972412d0eeac6bda2d577ae151
Reviewed-on: https://chromium-review.googlesource.com/778739
Commit-Ready: Alexandre Courbot <acourbot@chromium.org>
Tested-by: Alexandre Courbot <acourbot@chromium.org>
Reviewed-by: Pawel Osciak <posciak@chromium.org>

[modify] https://crrev.com/2883076467d595b85cf663eee19645fc73a6b118/x11-libs/libva/libva-1.8.3.ebuild
[rename] https://crrev.com/2883076467d595b85cf663eee19645fc73a6b118/x11-libs/libva/libva-1.8.3-r4.ebuild

Currently blocked on https://chromium-review.googlesource.com/c/chromium/src/+/666138 because the linux-chromeos-rel builder consistently fails to pass basic browser tests (browser process keeps crashing). Investigating the cause locally.
Project Member

Comment 14 by bugdroid1@chromium.org, Feb 8 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/281edc278272f0650fc190c8539d443ac59157bc

commit 281edc278272f0650fc190c8539d443ac59157bc
Author: Daniel Charles <daniel.charles@intel.com>
Date: Thu Feb 08 02:36:51 2018

vaapi initialization: move it to vaapi_wrapper

vaapi loading of libraries happens on the Pre and Post Sandbox
functions.  Moving dynamic loading of libaries, i.e. libva,libva-drm
and i965_drv_video shared libraries to vaapi_wrapper.

When calling PreSandbox function in vaapi_wrapper libva will open
i965_drv_video shared library and both will be available for use

BUG= 785117 
TEST=video initialization of h/w dec/enc, VAVDA/VAVEA/VAJDA subjective
     testing and include unittests and autotests

Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I862bb49f1167d7437e80387882cb9081ad53f54b
Signed-off-by: Daniel Charles <daniel.charles@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/666138
Commit-Queue: Miguel Casas <mcasas@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Dongseong Hwang <dongseong.hwang@intel.com>
Reviewed-by: Pawel Osciak <posciak@chromium.org>
Reviewed-by: Jorge Lucangeli Obes <jorgelo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#535274}
[modify] https://crrev.com/281edc278272f0650fc190c8539d443ac59157bc/content/gpu/gpu_sandbox_hook_linux.cc
[modify] https://crrev.com/281edc278272f0650fc190c8539d443ac59157bc/media/gpu/vaapi/vaapi_wrapper.cc

Hi Alex,

I have posted this patch [1] for bumping up x11-libs/libva, x11-libs/libva-intel-driver and media-video/libva-utils and avoiding to remove previous version, a.k.a. 1.8.3

This was tested to be functional at compile time by emerging one version, then uninstalling (emerge -C) and emerging the other version.

The patch works to recompile media-libs/cmrt and media-libs/intel-hybrid-driver as they depend on x11-libs/libva

This is using pkg-config to identify headers installed in different places but libraries are installed on the same place.  Collisions will affect if not properly uninstalled.

Chrome Browser is not aware yet of the new va{1}{2}/va include folder and a patch will follow.

I am hoping this is similar to what you're looking for.  I need your feedback to improve towards your needs.

I did some investigation on overriding CFLAGS and LIBS to properly compile without pkg-config but haven't reached a good solution yet.




[1]: https://chromium-review.googlesource.com/c/chromiumos/overlays/chromiumos-overlay/+/914706
Thanks Daniel! I am looking at it and will probably make a few changes to support multiple slots.
Project Member

Comment 17 by bugdroid1@chromium.org, Mar 8 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/6f51395472d9b89a4abe1378aabd71764b8f12cd

commit 6f51395472d9b89a4abe1378aabd71764b8f12cd
Author: Daniel Charles <daniel.charles@intel.com>
Date: Thu Mar 08 00:55:24 2018

target-chromium-os-sdk: adjust ffmpeg dependency

ChromiumOS doesn't use vaapi through ffmpeg. When calculating
sdk dependencies vaapi (libva) should not be needed

BUG= chromium:785117 
TEST="./setup_board -board=${board} --force should not calculate
     dependencies with vaapi through ffmpeg."
Signed-off-by: Daniel Charles <daniel.charles@intel.com>

Change-Id: I48a824682721749b5c5c333b0e3dcad9f1ee36d3
Signed-off-by: Daniel Charles <daniel.charles@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/952065
Reviewed-by: Pawel Osciak <posciak@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/6f51395472d9b89a4abe1378aabd71764b8f12cd/profiles/targets/sdk/package.use

Project Member

Comment 18 by bugdroid1@chromium.org, Mar 30 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/bf72183e4d42683a5a2425b094b762244ecdf855

commit bf72183e4d42683a5a2425b094b762244ecdf855
Author: Daniel Charles <daniel.charles@intel.com>
Date: Fri Mar 30 05:00:13 2018

libva/libva-utils/intel-vaapi-driver: update to release 2.1.0

This release includes a set of fixes for ABI compatibility, general
issues and enabling of CNL platforms

Links to all 2.1.0 releases are copied next:

libva
https://github.com/intel/libva/releases/tag/2.1.0

libva-utils
https://github.com/intel/libva-utils/releases/tag/2.1.0

intel-vaapi-driver
https://github.com/intel/intel-vaapi-driver/releases/tag/2.1.0

All three projects moved to github.com/intel, former repositories
use a symlink to this new location.

We also keep 1.8.3 temporarily, as to not break binary compatibility
with existing Chrome binaries. This hack will be removed later.

BUG= chromium:785117 ,chromium:826573
TEST="VAVDA, VAVEA and VAJDA subjective tests and unittests on all h/w"
TEST="families, production images will not have libva-utils installed"

Change-Id: Ibd3deb05a19d83e1ebc5c7b46985ee894cdf9241
Signed-off-by: Daniel Charles <daniel.charles@intel.com>
Signed-off-by: Alexandre Courbot <acourbot@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/914706

[rename] https://crrev.com/bf72183e4d42683a5a2425b094b762244ecdf855/x11-libs/libva-intel-driver/files/1.8.3-Revert-Use-Media-Read-message-if-possible-on-Gen8.patch
[modify] https://crrev.com/bf72183e4d42683a5a2425b094b762244ecdf855/media-video/libva-utils/Manifest
[add] https://crrev.com/bf72183e4d42683a5a2425b094b762244ecdf855/x11-libs/libva-intel-driver/libva-intel-driver-2.1.0.ebuild
[rename] https://crrev.com/bf72183e4d42683a5a2425b094b762244ecdf855/x11-libs/libva-intel-driver/files/1.8.3-add-init-kernel-set-curbe-send-surface-for-gen8-avc-.patch
[rename] https://crrev.com/bf72183e4d42683a5a2425b094b762244ecdf855/x11-libs/libva/files/1.8.3-va_enc_h264-fix-union-struct-typo-to-silence-warning.patch
[delete] https://crrev.com/0ccaec6b72dd1b1f3b4cf61771caac5d8add7cd9/media-video/libva-utils/libva-utils-1.8.3-r1.ebuild
[rename] https://crrev.com/bf72183e4d42683a5a2425b094b762244ecdf855/media-video/libva-utils/libva-utils-2.1.0.ebuild
[modify] https://crrev.com/bf72183e4d42683a5a2425b094b762244ecdf855/x11-libs/libva-intel-driver/Manifest
[rename] https://crrev.com/bf72183e4d42683a5a2425b094b762244ecdf855/media-libs/cmrt/cmrt-1.0.5-r3.ebuild
[rename] https://crrev.com/bf72183e4d42683a5a2425b094b762244ecdf855/x11-libs/libva-intel-driver/files/1.8.3-change-file-name-prefix-from-gen9-to-i965-for-avc-en.patch
[add] https://crrev.com/bf72183e4d42683a5a2425b094b762244ecdf855/media-video/libva-utils/libva-utils-2.1.0-r1.ebuild
[rename] https://crrev.com/bf72183e4d42683a5a2425b094b762244ecdf855/x11-libs/libva-intel-driver/files/1.8.3-change-prefix-of-function-name-from-gen9-to-i965-in-.patch
[rename] https://crrev.com/bf72183e4d42683a5a2425b094b762244ecdf855/x11-libs/libva-intel-driver/files/1.8.3-Don-t-check-the-stride-in-the-y-direction-for-a-sing.patch
[modify] https://crrev.com/bf72183e4d42683a5a2425b094b762244ecdf855/media-libs/intel-hybrid-driver/intel-hybrid-driver-1.0.1.ebuild
[add] https://crrev.com/bf72183e4d42683a5a2425b094b762244ecdf855/media-libs/intel-hybrid-driver/intel-hybrid-driver-1.0.1-r2.ebuild
[modify] https://crrev.com/bf72183e4d42683a5a2425b094b762244ecdf855/x11-libs/libva/Manifest
[rename] https://crrev.com/bf72183e4d42683a5a2425b094b762244ecdf855/x11-libs/libva/libva-1.8.3-r6.ebuild
[rename] https://crrev.com/bf72183e4d42683a5a2425b094b762244ecdf855/x11-libs/libva-intel-driver/files/1.8.3-add-gen8-avc-encoder-kernel.patch
[modify] https://crrev.com/bf72183e4d42683a5a2425b094b762244ecdf855/media-libs/libva-amdgpu-driver/libva-amdgpu-driver-17.2.3.ebuild
[rename] https://crrev.com/bf72183e4d42683a5a2425b094b762244ecdf855/media-libs/intel-hybrid-driver/intel-hybrid-driver-1.0.1-r3.ebuild
[rename] https://crrev.com/bf72183e4d42683a5a2425b094b762244ecdf855/x11-libs/libva-intel-driver/libva-intel-driver-1.8.3-r6.ebuild
[modify] https://crrev.com/bf72183e4d42683a5a2425b094b762244ecdf855/x11-libs/libva/libva-1.8.3.ebuild
[rename] https://crrev.com/bf72183e4d42683a5a2425b094b762244ecdf855/x11-libs/libva-intel-driver/files/1.8.3-update-gen8-avc-encoder-code-path.patch
[rename] https://crrev.com/bf72183e4d42683a5a2425b094b762244ecdf855/x11-libs/libva-intel-driver/files/1.8.3-add-structures-and-const-tables-related-with-gen8-av.patch
[add] https://crrev.com/bf72183e4d42683a5a2425b094b762244ecdf855/x11-libs/libva-intel-driver/libva-intel-driver-2.1.0-r1.ebuild
[modify] https://crrev.com/bf72183e4d42683a5a2425b094b762244ecdf855/x11-libs/libva-intel-driver/libva-intel-driver-1.8.3.ebuild
[rename] https://crrev.com/bf72183e4d42683a5a2425b094b762244ecdf855/x11-libs/libva-intel-driver/files/1.8.3-make-gpe-utils-compatible-with-gen8.patch
[modify] https://crrev.com/bf72183e4d42683a5a2425b094b762244ecdf855/media-libs/cmrt/cmrt-1.0.5.ebuild
[add] https://crrev.com/bf72183e4d42683a5a2425b094b762244ecdf855/x11-libs/libva/libva-2.1.0.ebuild
[add] https://crrev.com/bf72183e4d42683a5a2425b094b762244ecdf855/x11-libs/libva/libva-2.1.0-r1.ebuild
[rename] https://crrev.com/bf72183e4d42683a5a2425b094b762244ecdf855/x11-libs/libva-intel-driver/files/1.8.3-Change-the-vertical-alignment-for-linear-surface.patch

Chrome OS version 10554.0.0 and up are now built against libva 2.1. I have been able to test on eve and confirm things are working fine, even after removing the libva1 libraries.

Next step (AI me) is to remove libva1 from the ebuilds. For this we need to wait for LKGM to also catch up. Today we are at 10552.0.0.
Project Member

Comment 20 by bugdroid1@chromium.org, Apr 24 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/15ec8206670cf58dbf614b545e803e801cf30a8c

commit 15ec8206670cf58dbf614b545e803e801cf30a8c
Author: Alexandre Courbot <acourbot@chromium.org>
Date: Tue Apr 24 13:22:26 2018

libva/libva-utils/intel-vaapi-driver: remove 1.8.3

Chrome's LKGM has increased to a version of the sysroot that includes
libva 2.1.0. Therefore it is not linking to 1.8.3 anymore, which we can
remove along with the multiple va SLOTs we used to allow both versions
to coexist.

BUG= chromium:785117 
TEST=Checked that VDA was still working on Eve and no link existed to
the old libraries.

Change-Id: I0c5576b25fe2056b20b20395c6e57c141879766b
Reviewed-on: https://chromium-review.googlesource.com/1020960
Commit-Ready: Alexandre Courbot <acourbot@chromium.org>
Tested-by: Drew Davenport <ddavenport@chromium.org>
Tested-by: Alexandre Courbot <acourbot@chromium.org>
Reviewed-by: Daniel Charles <daniel.charles@intel.com>
Reviewed-by: Pawel Osciak <posciak@chromium.org>

[delete] https://crrev.com/2d8db016d3526d9c26018dfbc0b1e6331889531b/x11-libs/libva-intel-driver/files/1.8.3-Revert-Use-Media-Read-message-if-possible-on-Gen8.patch
[modify] https://crrev.com/15ec8206670cf58dbf614b545e803e801cf30a8c/media-video/libva-utils/Manifest
[rename] https://crrev.com/15ec8206670cf58dbf614b545e803e801cf30a8c/x11-libs/libva-intel-driver/libva-intel-driver-2.1.0-r2.ebuild
[delete] https://crrev.com/2d8db016d3526d9c26018dfbc0b1e6331889531b/x11-libs/libva-intel-driver/files/1.8.3-add-init-kernel-set-curbe-send-surface-for-gen8-avc-.patch
[rename] https://crrev.com/15ec8206670cf58dbf614b545e803e801cf30a8c/media-libs/cmrt/cmrt-1.0.5-r4.ebuild
[delete] https://crrev.com/2d8db016d3526d9c26018dfbc0b1e6331889531b/x11-libs/libva/files/1.8.3-va_enc_h264-fix-union-struct-typo-to-silence-warning.patch
[rename] https://crrev.com/15ec8206670cf58dbf614b545e803e801cf30a8c/x11-libs/libva/libva-2.1.0-r2.ebuild
[modify] https://crrev.com/15ec8206670cf58dbf614b545e803e801cf30a8c/x11-libs/libva-intel-driver/Manifest
[modify] https://crrev.com/15ec8206670cf58dbf614b545e803e801cf30a8c/x11-libs/libva-intel-driver/libva-intel-driver-2.1.0.ebuild
[delete] https://crrev.com/2d8db016d3526d9c26018dfbc0b1e6331889531b/x11-libs/libva-intel-driver/files/1.8.3-change-file-name-prefix-from-gen9-to-i965-for-avc-en.patch
[delete] https://crrev.com/2d8db016d3526d9c26018dfbc0b1e6331889531b/x11-libs/libva-intel-driver/files/1.8.3-change-prefix-of-function-name-from-gen9-to-i965-in-.patch
[delete] https://crrev.com/2d8db016d3526d9c26018dfbc0b1e6331889531b/x11-libs/libva-intel-driver/files/1.8.3-Don-t-check-the-stride-in-the-y-direction-for-a-sing.patch
[modify] https://crrev.com/15ec8206670cf58dbf614b545e803e801cf30a8c/media-libs/intel-hybrid-driver/intel-hybrid-driver-1.0.1.ebuild
[modify] https://crrev.com/15ec8206670cf58dbf614b545e803e801cf30a8c/x11-libs/libva/Manifest
[delete] https://crrev.com/2d8db016d3526d9c26018dfbc0b1e6331889531b/media-libs/intel-hybrid-driver/intel-hybrid-driver-1.0.1-r5.ebuild
[delete] https://crrev.com/2d8db016d3526d9c26018dfbc0b1e6331889531b/x11-libs/libva-intel-driver/files/1.8.3-add-gen8-avc-encoder-kernel.patch
[delete] https://crrev.com/2d8db016d3526d9c26018dfbc0b1e6331889531b/x11-libs/libva/libva-1.8.3-r6.ebuild
[delete] https://crrev.com/2d8db016d3526d9c26018dfbc0b1e6331889531b/x11-libs/libva-intel-driver/libva-intel-driver-1.8.3-r6.ebuild
[delete] https://crrev.com/2d8db016d3526d9c26018dfbc0b1e6331889531b/x11-libs/libva/libva-1.8.3.ebuild
[delete] https://crrev.com/2d8db016d3526d9c26018dfbc0b1e6331889531b/x11-libs/libva-intel-driver/files/1.8.3-update-gen8-avc-encoder-code-path.patch
[delete] https://crrev.com/2d8db016d3526d9c26018dfbc0b1e6331889531b/x11-libs/libva-intel-driver/files/1.8.3-add-structures-and-const-tables-related-with-gen8-av.patch
[rename] https://crrev.com/15ec8206670cf58dbf614b545e803e801cf30a8c/media-libs/intel-hybrid-driver/intel-hybrid-driver-1.0.1-r6.ebuild
[delete] https://crrev.com/2d8db016d3526d9c26018dfbc0b1e6331889531b/x11-libs/libva-intel-driver/libva-intel-driver-1.8.3.ebuild
[delete] https://crrev.com/2d8db016d3526d9c26018dfbc0b1e6331889531b/x11-libs/libva-intel-driver/files/1.8.3-make-gpe-utils-compatible-with-gen8.patch
[modify] https://crrev.com/15ec8206670cf58dbf614b545e803e801cf30a8c/media-libs/cmrt/cmrt-1.0.5.ebuild
[modify] https://crrev.com/15ec8206670cf58dbf614b545e803e801cf30a8c/x11-libs/libva/libva-2.1.0.ebuild
[delete] https://crrev.com/2d8db016d3526d9c26018dfbc0b1e6331889531b/x11-libs/libva-intel-driver/files/1.8.3-Change-the-vertical-alignment-for-linear-surface.patch

Labels: Merge-Request-67
Requesting merge of latest patch to M67. The libva 1.8.3 files are dead code for this release. I have checked with 67.0.3396.16 on Eve and could confirm the Chrome binary is now using 2.1.0.
Project Member

Comment 22 by sheriffbot@chromium.org, Apr 25 2018

Labels: -Merge-Request-67 Merge-Review-67 Hotlist-Merge-Review
This bug requires manual review: Reverts referenced in bugdroid comments after merge request.
Please contact the milestone owner if you have questions.
Owners: cmasso@(Android), cmasso@(iOS), kbleicher@(ChromeOS), govind@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Hi, this has been open for a while.  Why does this have to go into post-branch M67?  Risk if it's delayed for M68?  Need more context.
Hi Kevin,

For a short while, and in order to avoid breaking the Chromium CQ, we hosted both libva 2.1.0 and libva 1.8.3 on the sysroot. The old 1.8.3 has been removed by the above commit in master, but the M67 branching occured right both versions were present. This means there is about 6MB of useless libraries (1.8.3) on M67 sysroots.

The risk of keeping them is low since nobody is linking to them anyway. So if you are fine with the dead space, I don't see any specific issue with not backporting this patch. I know however that some devices are pretty tight on storage space, which is why I proposed the backport.

Comment 25 Deleted

Comment 26 Deleted

Thanks for the explanation in #24.  Has this been tested as a no-impact and behaves as expected for some boards?
This has been tested on Eve and Kahlee and no issues were found on either.
Labels: -Merge-Review-67 Merge-Approved-67
Approving merge to M67 Chrome OS.

Project Member

Comment 30 by bugdroid1@chromium.org, May 1 2018

Labels: merge-merged-release-R67-10575.B
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/671fc72e15176edf77c661464b5289f72a2a8131

commit 671fc72e15176edf77c661464b5289f72a2a8131
Author: Alexandre Courbot <acourbot@chromium.org>
Date: Tue May 01 02:53:57 2018

libva/libva-utils/intel-vaapi-driver: remove 1.8.3

Chrome's LKGM has increased to a version of the sysroot that includes
libva 2.1.0. Therefore it is not linking to 1.8.3 anymore, which we can
remove along with the multiple va SLOTs we used to allow both versions
to coexist.

BUG= chromium:785117 
TEST=Checked that VDA was still working on Eve and no link existed to
the old libraries.

Change-Id: I0c5576b25fe2056b20b20395c6e57c141879766b
Reviewed-on: https://chromium-review.googlesource.com/1020960
Commit-Ready: Alexandre Courbot <acourbot@chromium.org>
Tested-by: Drew Davenport <ddavenport@chromium.org>
Tested-by: Alexandre Courbot <acourbot@chromium.org>
Reviewed-by: Daniel Charles <daniel.charles@intel.com>
Reviewed-by: Pawel Osciak <posciak@chromium.org>
(cherry picked from commit 15ec8206670cf58dbf614b545e803e801cf30a8c)
Reviewed-on: https://chromium-review.googlesource.com/1036745
Reviewed-by: Alexandre Courbot <acourbot@chromium.org>
Commit-Queue: Alexandre Courbot <acourbot@chromium.org>

[delete] https://crrev.com/7acc4863d3a74c1f38c8fe20048196c6b563da0d/x11-libs/libva-intel-driver/files/1.8.3-Revert-Use-Media-Read-message-if-possible-on-Gen8.patch
[modify] https://crrev.com/671fc72e15176edf77c661464b5289f72a2a8131/media-video/libva-utils/Manifest
[rename] https://crrev.com/671fc72e15176edf77c661464b5289f72a2a8131/x11-libs/libva-intel-driver/libva-intel-driver-2.1.0-r2.ebuild
[delete] https://crrev.com/7acc4863d3a74c1f38c8fe20048196c6b563da0d/x11-libs/libva-intel-driver/files/1.8.3-add-init-kernel-set-curbe-send-surface-for-gen8-avc-.patch
[rename] https://crrev.com/671fc72e15176edf77c661464b5289f72a2a8131/media-libs/cmrt/cmrt-1.0.5-r4.ebuild
[delete] https://crrev.com/7acc4863d3a74c1f38c8fe20048196c6b563da0d/x11-libs/libva/files/1.8.3-va_enc_h264-fix-union-struct-typo-to-silence-warning.patch
[rename] https://crrev.com/671fc72e15176edf77c661464b5289f72a2a8131/x11-libs/libva/libva-2.1.0-r2.ebuild
[modify] https://crrev.com/671fc72e15176edf77c661464b5289f72a2a8131/x11-libs/libva-intel-driver/Manifest
[modify] https://crrev.com/671fc72e15176edf77c661464b5289f72a2a8131/x11-libs/libva-intel-driver/libva-intel-driver-2.1.0.ebuild
[delete] https://crrev.com/7acc4863d3a74c1f38c8fe20048196c6b563da0d/x11-libs/libva-intel-driver/files/1.8.3-change-file-name-prefix-from-gen9-to-i965-for-avc-en.patch
[delete] https://crrev.com/7acc4863d3a74c1f38c8fe20048196c6b563da0d/x11-libs/libva-intel-driver/files/1.8.3-change-prefix-of-function-name-from-gen9-to-i965-in-.patch
[delete] https://crrev.com/7acc4863d3a74c1f38c8fe20048196c6b563da0d/x11-libs/libva-intel-driver/files/1.8.3-Don-t-check-the-stride-in-the-y-direction-for-a-sing.patch
[modify] https://crrev.com/671fc72e15176edf77c661464b5289f72a2a8131/media-libs/intel-hybrid-driver/intel-hybrid-driver-1.0.1.ebuild
[modify] https://crrev.com/671fc72e15176edf77c661464b5289f72a2a8131/x11-libs/libva/Manifest
[delete] https://crrev.com/7acc4863d3a74c1f38c8fe20048196c6b563da0d/x11-libs/libva-intel-driver/files/1.8.3-add-gen8-avc-encoder-kernel.patch
[delete] https://crrev.com/7acc4863d3a74c1f38c8fe20048196c6b563da0d/x11-libs/libva/libva-1.8.3-r6.ebuild
[delete] https://crrev.com/7acc4863d3a74c1f38c8fe20048196c6b563da0d/x11-libs/libva-intel-driver/libva-intel-driver-1.8.3-r6.ebuild
[delete] https://crrev.com/7acc4863d3a74c1f38c8fe20048196c6b563da0d/x11-libs/libva/libva-1.8.3.ebuild
[delete] https://crrev.com/7acc4863d3a74c1f38c8fe20048196c6b563da0d/x11-libs/libva-intel-driver/files/1.8.3-update-gen8-avc-encoder-code-path.patch
[delete] https://crrev.com/7acc4863d3a74c1f38c8fe20048196c6b563da0d/x11-libs/libva-intel-driver/files/1.8.3-add-structures-and-const-tables-related-with-gen8-av.patch
[add] https://crrev.com/671fc72e15176edf77c661464b5289f72a2a8131/media-libs/intel-hybrid-driver/intel-hybrid-driver-1.0.1-r6.ebuild
[delete] https://crrev.com/7acc4863d3a74c1f38c8fe20048196c6b563da0d/x11-libs/libva-intel-driver/libva-intel-driver-1.8.3.ebuild
[delete] https://crrev.com/7acc4863d3a74c1f38c8fe20048196c6b563da0d/x11-libs/libva-intel-driver/files/1.8.3-make-gpe-utils-compatible-with-gen8.patch
[modify] https://crrev.com/671fc72e15176edf77c661464b5289f72a2a8131/media-libs/cmrt/cmrt-1.0.5.ebuild
[modify] https://crrev.com/671fc72e15176edf77c661464b5289f72a2a8131/x11-libs/libva/libva-2.1.0.ebuild
[delete] https://crrev.com/7acc4863d3a74c1f38c8fe20048196c6b563da0d/x11-libs/libva-intel-driver/files/1.8.3-Change-the-vertical-alignment-for-linear-surface.patch

Status: Fixed (was: Started)
Merged to M67. Closing as fixed.
Project Member

Comment 32 by sheriffbot@chromium.org, May 1 2018

Cc: kbleicher@chromium.org
This issue has been approved for a merge. Please merge the fix to any appropriate branches as soon as possible!

If all merges have been completed, please remove any remaining Merge-Approved labels from this issue.

Thanks for your time! To disable nags, add the Disable-Nags label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: -Merge-Approved-67

Sign in to add a comment