extra/chromium to 72.0.3626.96-3

This commit is contained in:
Kevin Mihelich 2019-02-08 13:39:05 +00:00
parent e6e470d251
commit 346ccc5005
4 changed files with 129 additions and 58 deletions

View file

@ -17,7 +17,7 @@ highmem=1
pkgname=chromium pkgname=chromium
pkgver=72.0.3626.96 pkgver=72.0.3626.96
pkgrel=2 pkgrel=3
_launcher_ver=6 _launcher_ver=6
pkgdesc="A web browser built for speed, simplicity, and security" pkgdesc="A web browser built for speed, simplicity, and security"
arch=('x86_64') arch=('x86_64')
@ -34,20 +34,24 @@ optdepends=('kdialog: needed for file dialogs in KDE'
install=chromium.install install=chromium.install
source=(https://commondatastorage.googleapis.com/chromium-browser-official/$pkgname-$pkgver.tar.xz source=(https://commondatastorage.googleapis.com/chromium-browser-official/$pkgname-$pkgver.tar.xz
chromium-launcher-$_launcher_ver.tar.gz::https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver.tar.gz chromium-launcher-$_launcher_ver.tar.gz::https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver.tar.gz
chromium-drirc-disable-10bpc-color-configs.conf
chromium-system-icu.patch chromium-system-icu.patch
chromium-webrtc-missing-header.patch chromium-webrtc-missing-header.patch
chromium-vaapi.patch chromium-vaapi.patch
chromium-vaapi-relax-the-version-check-for-VA-API.patch chromium-vaapi-relax-the-version-check-for-VA-API.patch
chromium-enable-mojo-video-decoders-by-default.patch
chromium-vaapi-fix-the-VA_CHECK_VERSION.patch chromium-vaapi-fix-the-VA_CHECK_VERSION.patch
chromium-widevine.patch chromium-widevine.patch
chromium-skia-harmony.patch chromium-skia-harmony.patch
0001-crashpad-include-limits.patch) 0001-crashpad-include-limits.patch)
sha256sums=('b2daf52aac4d9eba0ab9f034db6f2411ad6930dd02544c4b583e3a6e49dcaa3b' sha256sums=('b2daf52aac4d9eba0ab9f034db6f2411ad6930dd02544c4b583e3a6e49dcaa3b'
'04917e3cd4307d8e31bfb0027a5dce6d086edb10ff8a716024fbb8bb0c7dccf1' '04917e3cd4307d8e31bfb0027a5dce6d086edb10ff8a716024fbb8bb0c7dccf1'
'babda4f5c1179825797496898d77334ac067149cac03d797ab27ac69671a7feb'
'e2d284311f49c529ea45083438a768db390bde52949995534034d2a814beab89' 'e2d284311f49c529ea45083438a768db390bde52949995534034d2a814beab89'
'63cbed7d7af327c17878a2066c303f106ff08636372721845131f7ff13d87b44' '63cbed7d7af327c17878a2066c303f106ff08636372721845131f7ff13d87b44'
'561151f381db44908ab5649f3579049e4cbce04cbed76e32d767b156bf83944d' 'e87ede45edf39ac19e56ac1ae49c9d1f5f5130e5838bcbb4c3d4fb16e55575c0'
'07fcf5d25114c7335582f117090b5e0bd148aca69044d4fe25c66b4c52dcd2a6' '07fcf5d25114c7335582f117090b5e0bd148aca69044d4fe25c66b4c52dcd2a6'
'669a9ad4773d182a06ee729008a60aeadddae92f1a0077b3811e11f292c8d4ff'
'0bd750255163bfb1bedaf97c1cdb313f42bd9e6e52243c6e68494b6e0ffb84bf' '0bd750255163bfb1bedaf97c1cdb313f42bd9e6e52243c6e68494b6e0ffb84bf'
'd081f2ef8793544685aad35dea75a7e6264a2cb987ff3541e6377f4a3650a28b' 'd081f2ef8793544685aad35dea75a7e6264a2cb987ff3541e6377f4a3650a28b'
'5887f78b55c4ecbbcba5930f3f0bb7bc0117c2a41c2f761805fcf7f46f1ca2b3' '5887f78b55c4ecbbcba5930f3f0bb7bc0117c2a41c2f761805fcf7f46f1ca2b3'
@ -114,6 +118,7 @@ prepare() {
# Enable VAAPI on Linux # Enable VAAPI on Linux
patch -Np1 -i ../chromium-vaapi.patch patch -Np1 -i ../chromium-vaapi.patch
patch -Np1 -i ../chromium-vaapi-relax-the-version-check-for-VA-API.patch patch -Np1 -i ../chromium-vaapi-relax-the-version-check-for-VA-API.patch
patch -Np1 -i ../chromium-enable-mojo-video-decoders-by-default.patch
patch -Np1 -i ../chromium-vaapi-fix-the-VA_CHECK_VERSION.patch patch -Np1 -i ../chromium-vaapi-fix-the-VA_CHECK_VERSION.patch
# Load Widevine CDM if available # Load Widevine CDM if available
@ -229,6 +234,9 @@ package() {
install -Dm4755 out/Release/chrome_sandbox "$pkgdir/usr/lib/chromium/chrome-sandbox" install -Dm4755 out/Release/chrome_sandbox "$pkgdir/usr/lib/chromium/chrome-sandbox"
ln -s /usr/lib/chromium/chromedriver "$pkgdir/usr/bin/chromedriver" ln -s /usr/lib/chromium/chromedriver "$pkgdir/usr/bin/chromedriver"
install -Dm644 ../chromium-drirc-disable-10bpc-color-configs.conf \
"$pkgdir/usr/share/drirc.d/10-$pkgname.conf"
install -Dm644 chrome/installer/linux/common/desktop.template \ install -Dm644 chrome/installer/linux/common/desktop.template \
"$pkgdir/usr/share/applications/chromium.desktop" "$pkgdir/usr/share/applications/chromium.desktop"
install -Dm644 chrome/app/resources/manpage.1.in \ install -Dm644 chrome/app/resources/manpage.1.in \

View file

@ -0,0 +1,15 @@
<!--
Disable 10 bpc color configs; fixes VAAPI playback.
https://bugs.freedesktop.org/show_bug.cgi?id=106490
-->
<driconf>
<device>
<application name="Chromium" executable="chromium">
<option name="allow_rgb10_configs" value="false" />
</application>
</device>
</driconf>

View file

@ -0,0 +1,104 @@
From 31225b9c5f3f685d65f742dc129241c30c32157c Mon Sep 17 00:00:00 2001
From: Julien Isorce <julien.isorce@chromium.org>
Date: Sat, 15 Dec 2018 01:02:18 +0000
Subject: [PATCH] Enable mojo video decoders by default on Linux desktop if
use_vaapi is true
Already the case for ChromeOS, Mac and Win. And run the service
in the GPU process too. Except that here the gn arg use_vaapi
has to be true as well.
Note that this CL does not change the following:
- the gn arg 'use_vaapi' is still false by default on Linux,
see media/gpu/args.gni
- 'accelerated_video_decode' is still black listed on Linux,
see entry 48 in gpu/config/software_rendering_list.json
- it is still not possible to enable hw video decode from
about:flags, see chrome/browser/about_flags.cc
Also note that with this CL the ffmpeg and libvpx video decoders
are still selected thanks to media::DecoderSelector::SelectDecoder
in case vaapi fails to initialize.
Also see https://chromium-review.googlesource.com/c/chromium/src/+/1225275/
which was very similar but for ChromeOS.
Tested on Linux desktop with gn args:
- use_vaapi = true (default is false)
./out/release/chrome --ignore-gpu-blacklist --use-gl=desktop url_to_vp9_video
./out/release/chrome --ignore-gpu-blacklist --use-gl=egl url_to_vp9_video
-> MojoVideoDecoder was in use and VaapiVideoDecodeAccelerator runing in the
GPU process, through MojoVideoDecoderService
Bug: 522298
Change-Id: Ia19f9f3edc0af488a477a16001b7de4f4818b3b2
Reviewed-on: https://chromium-review.googlesource.com/c/1370717
Reviewed-by: Dan Sanders <sandersd@chromium.org>
Commit-Queue: Julien Isorce <julien.isorce@chromium.org>
Cr-Commit-Position: refs/heads/master@{#616901}
---
media/media_options.gni | 9 ++++++---
media/mojo/services/gpu_mojo_media_client.cc | 5 +++--
2 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/media/media_options.gni b/media/media_options.gni
index 46eaa58181..6e338f651b 100644
--- a/media/media_options.gni
+++ b/media/media_options.gni
@@ -5,6 +5,7 @@
import("//build/config/chrome_build.gni")
import("//build/config/chromecast_build.gni")
import("//build/config/features.gni")
+import("//media/gpu/args.gni")
import("//testing/libfuzzer/fuzzer_test.gni")
# Do not expand this list without double-checking with OWNERS, this is a list of
@@ -129,8 +130,9 @@ declare_args() {
# |mojo_media_services|). When enabled, selected mojo paths will be enabled in
# the media pipeline and corresponding services will hosted in the selected
# remote process (e.g. "utility" process, see |mojo_media_host|).
- enable_mojo_media = is_android || is_chromecast || is_chromeos || is_mac ||
- is_win || enable_library_cdms
+ enable_mojo_media =
+ is_android || is_chromecast || is_chromeos || is_mac || is_win ||
+ enable_library_cdms || (is_desktop_linux && use_vaapi)
# Enable the TestMojoMediaClient to be used in mojo MediaService. This is for
# testing only and will override the default platform MojoMediaClient, if any.
@@ -200,7 +202,8 @@ if (enable_mojo_media) {
]
_default_mojo_media_host = "gpu"
}
- } else if (is_chromeos || is_mac || is_win) {
+ } else if (is_chromeos || is_mac || is_win ||
+ (is_desktop_linux && use_vaapi)) {
_default_mojo_media_services = [ "video_decoder" ]
_default_mojo_media_host = "gpu"
}
diff --git a/media/mojo/services/gpu_mojo_media_client.cc b/media/mojo/services/gpu_mojo_media_client.cc
index 75f5e611c7..f056e1b315 100644
--- a/media/mojo/services/gpu_mojo_media_client.cc
+++ b/media/mojo/services/gpu_mojo_media_client.cc
@@ -54,7 +54,7 @@ namespace media {
namespace {
#if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(OS_MACOSX) || \
- defined(OS_WIN)
+ defined(OS_WIN) || defined(OS_LINUX)
gpu::CommandBufferStub* GetCommandBufferStub(
base::WeakPtr<MediaGpuChannelManager> media_gpu_channel_manager,
base::UnguessableToken channel_token,
@@ -148,7 +148,8 @@ std::unique_ptr<VideoDecoder> GpuMojoMediaClient::CreateVideoDecoder(
android_overlay_factory_cb_, std::move(request_overlay_info_cb),
std::make_unique<VideoFrameFactoryImpl>(gpu_task_runner_,
std::move(get_stub_cb)));
-#elif defined(OS_CHROMEOS) || defined(OS_MACOSX) || defined(OS_WIN)
+#elif defined(OS_CHROMEOS) || defined(OS_MACOSX) || defined(OS_WIN) || \
+ defined(OS_LINUX)
std::unique_ptr<VideoDecoder> vda_video_decoder = VdaVideoDecoder::Create(
task_runner, gpu_task_runner_, media_log->Clone(), target_color_space,
gpu_preferences_, gpu_workarounds_,
--
2.20.1

View file

@ -112,61 +112,5 @@ index 65f37b3f1..ae8a1718f 100644
"features": [ "features": [
"accelerated_video_decode" "accelerated_video_decode"
] ]
diff --git a/media/media_options.gni b/media/media_options.gni
index 46eaa5818..6e338f651 100644
--- a/media/media_options.gni
+++ b/media/media_options.gni
@@ -5,6 +5,7 @@
import("//build/config/chrome_build.gni")
import("//build/config/chromecast_build.gni")
import("//build/config/features.gni")
+import("//media/gpu/args.gni")
import("//testing/libfuzzer/fuzzer_test.gni")
# Do not expand this list without double-checking with OWNERS, this is a list of
@@ -129,8 +130,9 @@ declare_args() {
# |mojo_media_services|). When enabled, selected mojo paths will be enabled in
# the media pipeline and corresponding services will hosted in the selected
# remote process (e.g. "utility" process, see |mojo_media_host|).
- enable_mojo_media = is_android || is_chromecast || is_chromeos || is_mac ||
- is_win || enable_library_cdms
+ enable_mojo_media =
+ is_android || is_chromecast || is_chromeos || is_mac || is_win ||
+ enable_library_cdms || (is_desktop_linux && use_vaapi)
# Enable the TestMojoMediaClient to be used in mojo MediaService. This is for
# testing only and will override the default platform MojoMediaClient, if any.
@@ -200,7 +202,8 @@ if (enable_mojo_media) {
]
_default_mojo_media_host = "gpu"
}
- } else if (is_chromeos || is_mac || is_win) {
+ } else if (is_chromeos || is_mac || is_win ||
+ (is_desktop_linux && use_vaapi)) {
_default_mojo_media_services = [ "video_decoder" ]
_default_mojo_media_host = "gpu"
}
diff --git a/media/mojo/services/gpu_mojo_media_client.cc b/media/mojo/services/gpu_mojo_media_client.cc
index 75f5e611c..09a8fef92 100644
--- a/media/mojo/services/gpu_mojo_media_client.cc
+++ b/media/mojo/services/gpu_mojo_media_client.cc
@@ -54,7 +54,7 @@ namespace media {
namespace {
#if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(OS_MACOSX) || \
- defined(OS_WIN)
+ defined(OS_WIN) || defined(OS_LINUX)
gpu::CommandBufferStub* GetCommandBufferStub(
base::WeakPtr<MediaGpuChannelManager> media_gpu_channel_manager,
base::UnguessableToken channel_token,
@@ -148,7 +148,7 @@ std::unique_ptr<VideoDecoder> GpuMojoMediaClient::CreateVideoDecoder(
android_overlay_factory_cb_, std::move(request_overlay_info_cb),
std::make_unique<VideoFrameFactoryImpl>(gpu_task_runner_,
std::move(get_stub_cb)));
-#elif defined(OS_CHROMEOS) || defined(OS_MACOSX) || defined(OS_WIN)
+#elif defined(OS_CHROMEOS) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX)
std::unique_ptr<VideoDecoder> vda_video_decoder = VdaVideoDecoder::Create(
task_runner, gpu_task_runner_, media_log->Clone(), target_color_space,
gpu_preferences_, gpu_workarounds_,
-- --
2.20.1 2.20.1