mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2025-02-16 23:57:11 +00:00
extra/chromium to 72.0.3626.96-2
This commit is contained in:
parent
e664687474
commit
e431ee14e4
4 changed files with 322 additions and 2 deletions
|
@ -16,14 +16,14 @@ highmem=1
|
|||
|
||||
pkgname=chromium
|
||||
pkgver=72.0.3626.96
|
||||
pkgrel=1
|
||||
pkgrel=2
|
||||
_launcher_ver=6
|
||||
pkgdesc="A web browser built for speed, simplicity, and security"
|
||||
arch=('x86_64')
|
||||
url="https://www.chromium.org/Home"
|
||||
license=('BSD')
|
||||
depends=('gtk3' 'nss' 'alsa-lib' 'xdg-utils' 'libxss' 'libcups' 'libgcrypt'
|
||||
'ttf-font' 'systemd' 'dbus' 'libpulse' 'pciutils' 'json-glib'
|
||||
'ttf-font' 'systemd' 'dbus' 'libpulse' 'pciutils' 'json-glib' 'libva'
|
||||
'desktop-file-utils' 'hicolor-icon-theme')
|
||||
makedepends=('python' 'python2' 'gperf' 'yasm' 'mesa' 'ninja' 'nodejs' 'git'
|
||||
'clang' 'lld' 'gn' 'java-runtime-headless' 'distcc-clang')
|
||||
|
@ -35,6 +35,9 @@ source=(https://commondatastorage.googleapis.com/chromium-browser-official/$pkgn
|
|||
chromium-launcher-$_launcher_ver.tar.gz::https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver.tar.gz
|
||||
chromium-system-icu.patch
|
||||
chromium-webrtc-missing-header.patch
|
||||
chromium-vaapi.patch
|
||||
chromium-vaapi-relax-the-version-check-for-VA-API.patch
|
||||
chromium-vaapi-fix-the-VA_CHECK_VERSION.patch
|
||||
chromium-widevine.patch
|
||||
chromium-skia-harmony.patch
|
||||
0001-crashpad-include-limits.patch)
|
||||
|
@ -42,6 +45,9 @@ sha256sums=('b2daf52aac4d9eba0ab9f034db6f2411ad6930dd02544c4b583e3a6e49dcaa3b'
|
|||
'04917e3cd4307d8e31bfb0027a5dce6d086edb10ff8a716024fbb8bb0c7dccf1'
|
||||
'e2d284311f49c529ea45083438a768db390bde52949995534034d2a814beab89'
|
||||
'63cbed7d7af327c17878a2066c303f106ff08636372721845131f7ff13d87b44'
|
||||
'561151f381db44908ab5649f3579049e4cbce04cbed76e32d767b156bf83944d'
|
||||
'07fcf5d25114c7335582f117090b5e0bd148aca69044d4fe25c66b4c52dcd2a6'
|
||||
'0bd750255163bfb1bedaf97c1cdb313f42bd9e6e52243c6e68494b6e0ffb84bf'
|
||||
'd081f2ef8793544685aad35dea75a7e6264a2cb987ff3541e6377f4a3650a28b'
|
||||
'5887f78b55c4ecbbcba5930f3f0bb7bc0117c2a41c2f761805fcf7f46f1ca2b3'
|
||||
'df99f49ad58b70c9a3e1827d7e80b62e4363419334ed83373cf55b79c17b6f10')
|
||||
|
@ -104,6 +110,11 @@ prepare() {
|
|||
third_party/blink/renderer/core/xml/parser/xml_document_parser.cc \
|
||||
third_party/libxml/chromium/libxml_utils.cc
|
||||
|
||||
# Enable VAAPI on Linux
|
||||
patch -Np1 -i ../chromium-vaapi.patch
|
||||
patch -Np1 -i ../chromium-vaapi-relax-the-version-check-for-VA-API.patch
|
||||
patch -Np1 -i ../chromium-vaapi-fix-the-VA_CHECK_VERSION.patch
|
||||
|
||||
# Load Widevine CDM if available
|
||||
patch -Np1 -i ../chromium-widevine.patch
|
||||
|
||||
|
@ -179,6 +190,7 @@ build() {
|
|||
'use_custom_libcxx=false'
|
||||
'enable_hangout_services_extension=true'
|
||||
'enable_widevine=true'
|
||||
'use_vaapi=true'
|
||||
'enable_nacl=false'
|
||||
'enable_swiftshader=false'
|
||||
"google_api_key=\"${_google_api_key}\""
|
||||
|
|
74
extra/chromium/chromium-vaapi-fix-the-VA_CHECK_VERSION.patch
Normal file
74
extra/chromium/chromium-vaapi-fix-the-VA_CHECK_VERSION.patch
Normal file
|
@ -0,0 +1,74 @@
|
|||
From 674fb0486a1b525cb850530c4cdc79506338bd37 Mon Sep 17 00:00:00 2001
|
||||
From: Azhar Shaikh <azhar.shaikh@intel.com>
|
||||
Date: Fri, 11 Jan 2019 07:44:38 +0000
|
||||
Subject: [PATCH] media/gpu/vaapi: Fix the VA_CHECK_VERSION
|
||||
|
||||
commit 6f1309ef8fe109 ("media/gpu/vaapi: Relax the version
|
||||
check for VA-API") added the VA_CHECK_VERSION to relax the
|
||||
VA-API version check. But it still does the same thing as
|
||||
the previous check. VA_CHECK_VERSION will return 'true', only
|
||||
when the VA-API version is greater than or equal to the
|
||||
parameters passed to it. So in this case when the major and
|
||||
minor version were passed from vaInitialize() output, it did
|
||||
the same strict check as earlier. When trying to update libva
|
||||
to a newer version, there will still be a mismatch, since
|
||||
vaInitialize() would return the updated/newer libva version
|
||||
installed on the system, but the chromium would still be built
|
||||
with older version (libva-2.1.0 as of now).
|
||||
To fix this and actually relax the check, make sure the system
|
||||
version of libva is greater than the libva version with which
|
||||
the browser is built, since libva is backward compatible. This
|
||||
will allow any future libva updates without breaking existing code.
|
||||
|
||||
Fixes: 6f1309ef8fe109 ("media/gpu/vaapi: Relax the version check for VA-API")
|
||||
|
||||
Bug: 905814
|
||||
TEST=Below scenarios were tested and h/w acceleration is working successfully.
|
||||
TEST=Build chromium with libva-2.3.0 and system version 2.3.0
|
||||
TEST=Build chromium with libva-2.1.0 and system version 2.3.0
|
||||
TEST=Build chromium with libva 2.1.0 and system version 2.1.0
|
||||
|
||||
Signed-off-by: Azhar Shaikh <azhar.shaikh@intel.com>
|
||||
Change-Id: I1ec14aabed21b7d6b6fc55080bbac17233c40ec0
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/1376716
|
||||
Commit-Queue: Alexandre Courbot <acourbot@chromium.org>
|
||||
Reviewed-by: Alexandre Courbot <acourbot@chromium.org>
|
||||
Reviewed-by: Miguel Casas <mcasas@chromium.org>
|
||||
Cr-Commit-Position: refs/heads/master@{#621940}
|
||||
---
|
||||
media/gpu/vaapi/vaapi_wrapper.cc | 19 ++++++++++---------
|
||||
1 file changed, 10 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/media/gpu/vaapi/vaapi_wrapper.cc b/media/gpu/vaapi/vaapi_wrapper.cc
|
||||
index 4921aabf64..93d7c98b80 100644
|
||||
--- a/media/gpu/vaapi/vaapi_wrapper.cc
|
||||
+++ b/media/gpu/vaapi/vaapi_wrapper.cc
|
||||
@@ -337,15 +337,16 @@ bool VADisplayState::InitializeOnce() {
|
||||
<< va_vendor_string_;
|
||||
|
||||
// The VAAPI version is determined from what is loaded on the system by
|
||||
- // calling vaInitialize(). We want a runtime evaluation of libva version,
|
||||
- // of what is loaded on the system, with, what browser is compiled with.
|
||||
- // Also since the libva is now ABI-compatible, relax the version check
|
||||
- // which helps in upgrading the libva, without breaking any existing
|
||||
- // functionality.
|
||||
- if (!VA_CHECK_VERSION(major_version, minor_version, 0)) {
|
||||
- LOG(ERROR) << "This build of Chromium requires VA-API version "
|
||||
- << VA_MAJOR_VERSION << "." << VA_MINOR_VERSION
|
||||
- << ", system version: " << major_version << "." << minor_version;
|
||||
+ // calling vaInitialize(). Since the libva is now ABI-compatible, relax the
|
||||
+ // version check which helps in upgrading the libva, without breaking any
|
||||
+ // existing functionality. Make sure the system version is not older than
|
||||
+ // the version with which the chromium is built since libva is only
|
||||
+ // guaranteed to be backward (and not forward) compatible.
|
||||
+ if (VA_MAJOR_VERSION > major_version ||
|
||||
+ (VA_MAJOR_VERSION == major_version && VA_MINOR_VERSION > minor_version)) {
|
||||
+ LOG(ERROR) << "The system version " << major_version << "." << minor_version
|
||||
+ << " should be greater than or equal to "
|
||||
+ << VA_MAJOR_VERSION << "." << VA_MINOR_VERSION;
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
--
|
||||
2.20.1
|
||||
|
|
@ -0,0 +1,62 @@
|
|||
From 6f1309ef8fe10965e4d0018b4f1b80ac6deccdaa Mon Sep 17 00:00:00 2001
|
||||
From: Azhar Shaikh <azhar.shaikh@intel.com>
|
||||
Date: Fri, 30 Nov 2018 23:11:57 +0000
|
||||
Subject: [PATCH] media/gpu/vaapi: Relax the version check for VA-API
|
||||
|
||||
Since the newer versions of VA-API are ABI compatible, relax the
|
||||
version checks for VA-API, by using VA_CHECK_VERSION().
|
||||
This will help in updating the libva to the latest releases,
|
||||
while still supporting the old versions, till the new version of
|
||||
libva is merged and picked by the builds. Thus ensuring that
|
||||
hardware accleration is not broken while updating the libva.
|
||||
|
||||
Bug: 905814
|
||||
TEST=libva-2.3.0 and libva-2.1.0 are able to do hardware acceleration.
|
||||
|
||||
Suggested-by: Alexandre Courbot <acourbot@chromium.org>
|
||||
Signed-off-by: Azhar Shaikh <azhar.shaikh@intel.com>
|
||||
Change-Id: I510549f72290d20676927eeeeb89a87199c062af
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/1352519
|
||||
Reviewed-by: Alexandre Courbot <acourbot@chromium.org>
|
||||
Reviewed-by: Hirokazu Honda <hiroh@chromium.org>
|
||||
Commit-Queue: Miguel Casas <mcasas@chromium.org>
|
||||
Cr-Commit-Position: refs/heads/master@{#612832}
|
||||
---
|
||||
AUTHORS | 1 +
|
||||
media/gpu/vaapi/vaapi_wrapper.cc | 8 +++++++-
|
||||
2 files changed, 8 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/AUTHORS b/AUTHORS
|
||||
index 567fe15a60..ff42fc5df0 100644
|
||||
--- a/AUTHORS
|
||||
+++ b/AUTHORS
|
||||
@@ -103,6 +103,7 @@ Asish Singh <asish.singh@samsung.com>
|
||||
Attila Dusnoki <dati91@gmail.com>
|
||||
Avinaash Doreswamy <avi.nitk@samsung.com>
|
||||
Ayush Khandelwal <k.ayush@samsung.com>
|
||||
+Azhar Shaikh <azhar.shaikh@intel.com>
|
||||
Balazs Kelemen <b.kelemen@samsung.com>
|
||||
Baul Eun <baul.eun@samsung.com>
|
||||
Behara Mani Shyam Patro <behara.ms@samsung.com>
|
||||
diff --git a/media/gpu/vaapi/vaapi_wrapper.cc b/media/gpu/vaapi/vaapi_wrapper.cc
|
||||
index b4156423f7..053384d378 100644
|
||||
--- a/media/gpu/vaapi/vaapi_wrapper.cc
|
||||
+++ b/media/gpu/vaapi/vaapi_wrapper.cc
|
||||
@@ -333,7 +333,13 @@ bool VADisplayState::InitializeOnce() {
|
||||
DVLOG(1) << "VAAPI version: " << major_version << "." << minor_version << " "
|
||||
<< va_vendor_string_;
|
||||
|
||||
- if (major_version != VA_MAJOR_VERSION || minor_version != VA_MINOR_VERSION) {
|
||||
+ // The VAAPI version is determined from what is loaded on the system by
|
||||
+ // calling vaInitialize(). We want a runtime evaluation of libva version,
|
||||
+ // of what is loaded on the system, with, what browser is compiled with.
|
||||
+ // Also since the libva is now ABI-compatible, relax the version check
|
||||
+ // which helps in upgrading the libva, without breaking any existing
|
||||
+ // functionality.
|
||||
+ if (!VA_CHECK_VERSION(major_version, minor_version, 0)) {
|
||||
LOG(ERROR) << "This build of Chromium requires VA-API version "
|
||||
<< VA_MAJOR_VERSION << "." << VA_MINOR_VERSION
|
||||
<< ", system version: " << major_version << "." << minor_version;
|
||||
--
|
||||
2.20.1
|
||||
|
172
extra/chromium/chromium-vaapi.patch
Normal file
172
extra/chromium/chromium-vaapi.patch
Normal file
|
@ -0,0 +1,172 @@
|
|||
From abc7295ca1653c85472916909f0eb76e28e79a58 Mon Sep 17 00:00:00 2001
|
||||
From: Akarshan Biswas <akarshan.biswas@gmail.com>
|
||||
Date: Thu, 24 Jan 2019 12:45:29 +0530
|
||||
Subject: [PATCH] Enable mojo with VDA2 on Linux
|
||||
|
||||
---
|
||||
chrome/browser/about_flags.cc | 8 ++++----
|
||||
chrome/browser/flag_descriptions.cc | 9 +++++++--
|
||||
chrome/browser/flag_descriptions.h | 10 ++++++++--
|
||||
gpu/config/software_rendering_list.json | 3 ++-
|
||||
media/media_options.gni | 9 ++++++---
|
||||
media/mojo/services/gpu_mojo_media_client.cc | 4 ++--
|
||||
6 files changed, 29 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
index 0a84c6ac1..be2aa1d8b 100644
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -1714,7 +1714,7 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
"disable-accelerated-video-decode",
|
||||
flag_descriptions::kAcceleratedVideoDecodeName,
|
||||
flag_descriptions::kAcceleratedVideoDecodeDescription,
|
||||
- kOsMac | kOsWin | kOsCrOS | kOsAndroid,
|
||||
+ kOsMac | kOsWin | kOsCrOS | kOsAndroid | kOsLinux,
|
||||
SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode),
|
||||
},
|
||||
#if defined(OS_WIN)
|
||||
@@ -2345,12 +2345,12 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
FEATURE_VALUE_TYPE(service_manager::features::kXRSandbox)},
|
||||
#endif // ENABLE_ISOLATED_XR_SERVICE
|
||||
#endif // ENABLE_VR
|
||||
-#if defined(OS_CHROMEOS)
|
||||
+#if defined(OS_CHROMEOS) || defined(OS_LINUX)
|
||||
{"disable-accelerated-mjpeg-decode",
|
||||
flag_descriptions::kAcceleratedMjpegDecodeName,
|
||||
- flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS,
|
||||
+ flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS | kOsLinux,
|
||||
SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedMjpegDecode)},
|
||||
-#endif // OS_CHROMEOS
|
||||
+#endif // OS_CHROMEOS // OS_LINUX
|
||||
{"v8-cache-options", flag_descriptions::kV8CacheOptionsName,
|
||||
flag_descriptions::kV8CacheOptionsDescription, kOsAll,
|
||||
MULTI_VALUE_TYPE(kV8CacheOptionsChoices)},
|
||||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
index 62637e092..86f89fc6e 100644
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -3085,15 +3085,20 @@ const char kTextSuggestionsTouchBarDescription[] =
|
||||
|
||||
#endif
|
||||
|
||||
-// Chrome OS -------------------------------------------------------------------
|
||||
+// Chrome OS Linux-------------------------------------------------------------------
|
||||
|
||||
-#if defined(OS_CHROMEOS)
|
||||
+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID))
|
||||
|
||||
const char kAcceleratedMjpegDecodeName[] =
|
||||
"Hardware-accelerated mjpeg decode for captured frame";
|
||||
const char kAcceleratedMjpegDecodeDescription[] =
|
||||
"Enable hardware-accelerated mjpeg decode for captured frame where "
|
||||
"available.";
|
||||
+#endif
|
||||
+
|
||||
+// Chrome OS --------------------------------------------------
|
||||
+
|
||||
+#if defined(OS_CHROMEOS)
|
||||
|
||||
const char kAllowTouchpadThreeFingerClickName[] = "Touchpad three-finger-click";
|
||||
const char kAllowTouchpadThreeFingerClickDescription[] =
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
index 5dac660bb..6cc4115da 100644
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -1846,13 +1846,19 @@ extern const char kPermissionPromptPersistenceToggleDescription[];
|
||||
|
||||
#endif // defined(OS_MACOSX)
|
||||
|
||||
-// Chrome OS ------------------------------------------------------------------
|
||||
+// Chrome OS and Linux ------------------------------------------------------------------
|
||||
|
||||
-#if defined(OS_CHROMEOS)
|
||||
+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID))
|
||||
|
||||
extern const char kAcceleratedMjpegDecodeName[];
|
||||
extern const char kAcceleratedMjpegDecodeDescription[];
|
||||
|
||||
+#endif // defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID))
|
||||
+
|
||||
+// Chrome OS ------------------------------------------------------------------------
|
||||
+
|
||||
+#if defined(OS_CHROMEOS)
|
||||
+
|
||||
extern const char kAllowTouchpadThreeFingerClickName[];
|
||||
extern const char kAllowTouchpadThreeFingerClickDescription[];
|
||||
|
||||
diff --git a/gpu/config/software_rendering_list.json b/gpu/config/software_rendering_list.json
|
||||
index 65f37b3f1..ae8a1718f 100644
|
||||
--- a/gpu/config/software_rendering_list.json
|
||||
+++ b/gpu/config/software_rendering_list.json
|
||||
@@ -371,11 +371,12 @@
|
||||
},
|
||||
{
|
||||
"id": 48,
|
||||
- "description": "Accelerated video decode is unavailable on Linux",
|
||||
+ "description": "Accelerated VA-API video decode is not supported on NVIDIA platforms",
|
||||
"cr_bugs": [137247],
|
||||
"os": {
|
||||
"type": "linux"
|
||||
},
|
||||
+ "vendor_id": "0x10de",
|
||||
"features": [
|
||||
"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
|
Loading…
Reference in a new issue