summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO28
-rw-r--r--.gitignore3
-rw-r--r--enable_vaapi_on_linux.diff292
3 files changed, 16 insertions, 307 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 3dd19db01e82..5877b9503bf7 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = chromium-dev
pkgdesc = The open-source project behind Google Chrome (Dev Channel)
- pkgver = 47.0.2503.0
+ pkgver = 47.0.2522.1
pkgrel = 1
url = http://www.chromium.org
install = chromium-dev.install
@@ -16,6 +16,7 @@ pkgbase = chromium-dev
makedepends = python2-html5lib
makedepends = python2-simplejson
makedepends = python2-jinja
+ makedepends = python2-ply
makedepends = subversion
makedepends = yasm
makedepends = git
@@ -25,7 +26,7 @@ pkgbase = chromium-dev
makedepends = libffi
makedepends = chrpath
depends = desktop-file-utils
- depends = gtk2
+ depends = icu
depends = jsoncpp
depends = libwebp
depends = libxslt
@@ -39,30 +40,31 @@ pkgbase = chromium-dev
depends = speech-dispatcher
depends = speex
depends = xdg-utils
+ depends = gtk3
depends = libpulse
optdepends = chromium-pepper-flash-dev: PPAPI Flash Player (Dev Channel)
optdepends = kdebase-kdialog: Needed for file dialogs in KDE4
- optdepends = kdeutils-kwalletmanager: For storing passwords in KWallet in KDE4
+ optdepends = kwalletmanager4: Needed for storing passwords in KWallet in KDE4
optdepends = kdialog-frameworks-git: Needed for file dialogs in KF5
- optdepends = kwalletmanager-git: Needed for storing passwords in KWallet in KF5
- optdepends = libappindicator-gtk2: Needed for show systray icon in the panel in plasma-next (KF5)
+ optdepends = kwalletmanager: Needed for storing passwords in KWallet in KF5
optdepends = libexif: Need for read EXIF metadata
optdepends = ttf-font: For some typography
+ optdepends = libappindicator-gtk3: Needed for show systray icon in the panel in plasma-next (KF5)
options = !strip
- source = https://commondatastorage.googleapis.com/chromium-browser-official/chromium-47.0.2503.0.tar.xz
- source = chromium-launcher-2.tar.gz::https://github.com/foutrelis/chromium-launcher/archive/v2.tar.gz
+ source = https://commondatastorage.googleapis.com/chromium-browser-official/chromium-47.0.2522.1.tar.xz
+ source = chromium-launcher-3.tar.gz::https://github.com/foutrelis/chromium-launcher/archive/v3.tar.gz
source = chromium-dev.desktop
source = chromium-dev.xml
source = chromium-dev.svg
- source = chromium-system-jinja-r8.patch
- source = enable_vaapi_on_linux.diff
- sha1sums = 18b63f2943050d99096741d88f513e876ac15cd3
- sha1sums = 55f9646683bc8b92587f8e0a36aff242cb436a24
+ source = https://raw.githubusercontent.com/gentoo/gentoo/master/www-client/chromium/files/chromium-system-jinja-r7.patch
+ source = enable_vaapi_on_linux-r1.diff
+ sha1sums = 58096d886cd442c4e769061ba2ee4365e994b022
+ sha1sums = d18f8d96e80be9c31d994cc6362d7d8041c53319
sha1sums = 0acc45b901418f270d0b2068502e39c407c74ea4
sha1sums = 2b98c549332e7337307ce287e150930cfc1dfa5f
sha1sums = 336976cb66bf8df71fc7f2e92aa723891b6efb53
- sha1sums = 51ee08f9500a9006673787b0f29ffa089b09c286
- sha1sums = 4e223ea3df5be9374f202f7c3f0679ae55eed495
+ sha1sums = c24d14029714d2295f3220a7173a5a7362f578a2
+ sha1sums = 255d71cd9b9e55265e1bfeaa4612bcf60d293204
makedepends_x86_64 = lib32-gcc-libs
makedepends_x86_64 = lib32-zlib
diff --git a/.gitignore b/.gitignore
index 8d80a9b638fa..9f0208e5031d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,5 +6,4 @@
!chromium-dev.install
!chromium-dev.xml
!chromium-dev.svg
-!chromium-system-jinja-r8.patch
-!enable_vaapi_on_linux.diff
+!enable_vaapi_on_linux-r1.diff
diff --git a/enable_vaapi_on_linux.diff b/enable_vaapi_on_linux.diff
deleted file mode 100644
index 99b84a7b173e..000000000000
--- a/enable_vaapi_on_linux.diff
+++ /dev/null
@@ -1,292 +0,0 @@
-Description: Enables using VA-API hardware acceleration in Linux. The patch for bpf_gpu_policy_linux.cc initially came from https://codereview.chromium.org/15955009/diff/92001/content/common/sandbox_linux/bpf_gpu_policy_linux.cc.
-
-Index: beta.vivid/content/common/gpu/media/gpu_video_decode_accelerator.cc
-===================================================================
---- beta.vivid.orig/content/common/gpu/media/gpu_video_decode_accelerator.cc 2015-06-02 14:57:28.961592702 -0400
-+++ beta.vivid/content/common/gpu/media/gpu_video_decode_accelerator.cc 2015-06-02 14:57:28.954592798 -0400
-@@ -33,7 +33,7 @@
- #include "content/common/gpu/media/dxva_video_decode_accelerator.h"
- #elif defined(OS_MACOSX)
- #include "content/common/gpu/media/vt_video_decode_accelerator.h"
--#elif defined(OS_CHROMEOS)
-+#elif defined(OS_CHROMEOS) || defined(OS_LINUX)
- #if defined(USE_V4L2_CODEC)
- #include "content/common/gpu/media/v4l2_device.h"
- #include "content/common/gpu/media/v4l2_slice_video_decode_accelerator.h"
-@@ -346,7 +346,7 @@
- scoped_ptr<media::VideoDecodeAccelerator>
- GpuVideoDecodeAccelerator::CreateVaapiVDA() {
- scoped_ptr<media::VideoDecodeAccelerator> decoder;
--#if defined(OS_CHROMEOS) && defined(ARCH_CPU_X86_FAMILY)
-+#if (defined(OS_CHROMEOS) || defined(OS_LINUX)) && defined(ARCH_CPU_X86_FAMILY)
- decoder.reset(new VaapiVideoDecodeAccelerator(
- make_context_current_, base::Bind(&GpuVideoDecodeAccelerator::BindImage,
- base::Unretained(this))));
-Index: dev.vivid/content/content_common.gypi
-===================================================================
---- dev.vivid.orig/content/content_common.gypi 2015-06-02 15:12:59.295303719 -0400
-+++ dev.vivid/content/content_common.gypi 2015-06-02 15:12:59.289303797 -0400
-@@ -826,7 +826,7 @@
- },
- ],
- }],
-- ['chromeos==1', {
-+ ['chromeos==1 or desktop_linux==1', {
- 'sources': [
- 'common/gpu/media/accelerated_video_decoder.h',
- 'common/gpu/media/h264_decoder.cc',
-@@ -875,7 +875,7 @@
- 'common/gpu/media/tegra_v4l2_device.h',
- ],
- }],
-- ['target_arch != "arm" and chromeos == 1', {
-+ ['target_arch != "arm" and (chromeos == 1 or desktop_linux == 1)', {
- 'dependencies': [
- '../media/media.gyp:media',
- '../third_party/libyuv/libyuv.gyp:libyuv',
-Index: dev.vivid/content/content_gpu.gypi
-===================================================================
---- dev.vivid.orig/content/content_gpu.gypi 2015-06-02 15:12:59.295303719 -0400
-+++ dev.vivid/content/content_gpu.gypi 2015-06-02 15:12:59.289303797 -0400
-@@ -36,7 +36,7 @@
- ],
- },
- }],
-- ['target_arch!="arm" and chromeos == 1', {
-+ ['target_arch!="arm" and (chromeos == 1 or desktop_linux == 1)', {
- 'include_dirs': [
- '<(DEPTH)/third_party/libva',
- ],
-Index: dev.vivid/content/content_tests.gypi
-===================================================================
---- dev.vivid.orig/content/content_tests.gypi 2015-06-02 15:12:59.295303719 -0400
-+++ dev.vivid/content/content_tests.gypi 2015-06-02 15:12:59.289303797 -0400
-@@ -1651,7 +1651,7 @@
- },
- ]
- }],
-- ['chromeos==1 and target_arch != "arm"', {
-+ ['(chromeos==1 or desktop_linux==1) and target_arch != "arm"', {
- 'targets': [
- {
- 'target_name': 'vaapi_jpeg_decoder_unittest',
-Index: dev.vivid/content/public/common/content_switches.cc
-===================================================================
---- dev.vivid.orig/content/public/common/content_switches.cc 2015-06-02 15:12:59.295303719 -0400
-+++ dev.vivid/content/public/common/content_switches.cc 2015-06-02 15:12:59.290303784 -0400
-@@ -962,7 +962,7 @@
- // Disable web audio API.
- const char kDisableWebAudio[] = "disable-webaudio";
-
--#if defined(OS_CHROMEOS)
-+#if defined(OS_CHROMEOS) || defined(OS_LINUX)
- // Disables panel fitting (used for mirror mode).
- const char kDisablePanelFitting[] = "disable-panel-fitting";
-
-Index: dev.vivid/content/public/common/content_switches.h
-===================================================================
---- dev.vivid.orig/content/public/common/content_switches.h 2015-06-02 15:12:59.295303719 -0400
-+++ dev.vivid/content/public/common/content_switches.h 2015-06-02 15:12:59.290303784 -0400
-@@ -273,7 +273,7 @@
-
- CONTENT_EXPORT extern const char kDisableWebAudio[];
-
--#if defined(OS_CHROMEOS)
-+#if defined(OS_CHROMEOS) || defined(OS_LINUX)
- CONTENT_EXPORT extern const char kDisablePanelFitting[];
- CONTENT_EXPORT extern const char kDisableVaapiAcceleratedVideoEncode[];
- #endif
-Index: dev.vivid/media/media.gyp
-===================================================================
---- dev.vivid.orig/media/media.gyp 2015-06-02 15:12:59.295303719 -0400
-+++ dev.vivid/media/media.gyp 2015-06-02 15:12:59.290303784 -0400
-@@ -708,7 +708,7 @@
- ],
- }],
- # For VaapiVideoEncodeAccelerator.
-- ['target_arch != "arm" and chromeos == 1', {
-+ ['target_arch != "arm" and (chromeos == 1 or desktop_linux == 1)', {
- 'sources': [
- 'filters/h264_bitstream_buffer.cc',
- 'filters/h264_bitstream_buffer.h',
-Index: dev.vivid/gpu/config/software_rendering_list_json.cc
-===================================================================
---- dev.vivid.orig/gpu/config/software_rendering_list_json.cc 2015-06-02 15:12:59.295303719 -0400
-+++ dev.vivid/gpu/config/software_rendering_list_json.cc 2015-06-02 15:12:59.290303784 -0400
-@@ -475,17 +475,6 @@
- ]
- },
- {
-- "id": 48,
-- "description": "Accelerated video decode is unavailable on Linux",
-- "cr_bugs": [137247],
-- "os": {
-- "type": "linux"
-- },
-- "features": [
-- "accelerated_video_decode"
-- ]
-- },
-- {
- "id": 49,
- "description": "NVidia GeForce GT 650M can cause the system to hang with flash 3D",
- "cr_bugs": [140175],
-@@ -1034,6 +1023,11 @@
- "op": ">=",
- "value": "3.0"
- }
-+ },
-+ {
-+ "os": {
-+ "type": "linux"
-+ }
- }
- ],
- "features": [
-Index: dev.vivid/content/common/sandbox_linux/bpf_gpu_policy_linux.cc
-===================================================================
---- dev.vivid.orig/content/common/sandbox_linux/bpf_gpu_policy_linux.cc 2015-06-02 15:12:59.295303719 -0400
-+++ dev.vivid/content/common/sandbox_linux/bpf_gpu_policy_linux.cc 2015-06-02 15:12:59.291303771 -0400
-@@ -21,6 +21,8 @@
- #include "base/logging.h"
- #include "base/memory/scoped_ptr.h"
- #include "build/build_config.h"
-+// Auto-generated for dlopen libva libraries
-+#include "content/common/gpu/media/va_stubs.h"
- #include "content/common/sandbox_linux/sandbox_bpf_base_policy_linux.h"
- #include "content/common/sandbox_linux/sandbox_seccomp_bpf_linux.h"
- #include "content/common/set_process_title.h"
-@@ -31,6 +33,8 @@
- #include "sandbox/linux/syscall_broker/broker_file_permission.h"
- #include "sandbox/linux/syscall_broker/broker_process.h"
- #include "sandbox/linux/system_headers/linux_syscalls.h"
-+#include "third_party/libva/va/va.h"
-+#include "third_party/libva/va/va_x11.h"
-
- using sandbox::arch_seccomp_data;
- using sandbox::bpf_dsl::Allow;
-@@ -40,6 +44,11 @@
- using sandbox::syscall_broker::BrokerProcess;
- using sandbox::SyscallSets;
-
-+using content_common_gpu_media::kModuleVa;
-+using content_common_gpu_media::kModuleVa_x11;
-+using content_common_gpu_media::InitializeStubs;
-+using content_common_gpu_media::StubPathMap;
-+
- namespace content {
-
- namespace {
-@@ -94,7 +103,7 @@
-
- bool IsAcceleratedVaapiVideoEncodeEnabled() {
- bool accelerated_encode_enabled = false;
--#if defined(OS_CHROMEOS)
-+#if defined(OS_CHROMEOS) || defined(OS_LINUX)
- const base::CommandLine& command_line =
- *base::CommandLine::ForCurrentProcess();
- accelerated_encode_enabled =
-@@ -295,23 +304,41 @@
- // inside the sandbox, so preload them now.
- if (IsAcceleratedVaapiVideoEncodeEnabled() ||
- IsAcceleratedVideoDecodeEnabled()) {
-- const char* I965DrvVideoPath = NULL;
-- const char* I965HybridDrvVideoPath = NULL;
-+ VLOG(1) << "Attempting to enable hardware video acceleration.";
-+ StubPathMap paths;
-+ paths[kModuleVa].push_back("libva.so.1");
-+ paths[kModuleVa_x11].push_back("libva-x11.so.1");
-+ if (!InitializeStubs(paths)) {
-+ VLOG(1) << "Failed to initialize stubs";
-+ return false;
-+ }
-
-- if (IsArchitectureX86_64()) {
-- I965DrvVideoPath = "/usr/lib64/va/drivers/i965_drv_video.so";
-- I965HybridDrvVideoPath = "/usr/lib64/va/drivers/hybrid_drv_video.so";
-- } else if (IsArchitectureI386()) {
-- I965DrvVideoPath = "/usr/lib/va/drivers/i965_drv_video.so";
-+ // libva drivers won't get loaded even above two libraries get dlopened.
-+ // Thus, libva calls will fail after post sandbox stage.
-+ //
-+ // To get the va driver loaded before sandboxing, upstream simply dlopen
-+ // the hard-coded va driver path because ChromeOS is the only platform
-+ // that Google want to support libva.
-+ //
-+ // While generic linux distros ship va driver as anywhere they want.
-+ // Fortunately, the va driver will be loadded when vaInitialize() get
-+ // called.
-+ // So the following code is to call vaInitialize() before sandboxing.
-+ Display* x_display = XOpenDisplay(NULL);
-+ VADisplay va_display = vaGetDisplay(x_display);
-+ if (!vaDisplayIsValid(va_display)) {
-+ VLOG(1) << "Failed to call vaGetDisplay()";
-+ return false;
- }
-
-- dlopen(I965DrvVideoPath, RTLD_NOW|RTLD_GLOBAL|RTLD_NODELETE);
-- dlopen("libva.so.1", RTLD_NOW|RTLD_GLOBAL|RTLD_NODELETE);
--#if defined(USE_OZONE)
-- dlopen("libva-drm.so.1", RTLD_NOW|RTLD_GLOBAL|RTLD_NODELETE);
--#elif defined(USE_X11)
-- dlopen("libva-x11.so.1", RTLD_NOW|RTLD_GLOBAL|RTLD_NODELETE);
--#endif
-- }
-- }
-+ int major_version, minor_version;
-+ if (vaInitialize(va_display, &major_version, &minor_version)
-+ != VA_STATUS_SUCCESS) {
-+ VLOG(1) << "Failed to call vaInitialize()";
-+ return false;
-+ }
-+ } // end of IsAcceleratedVaapiVideoEncodeEnabled() || IsAcceleratedVideoDecodeEnabled()
-+ } // end of IsArchitectureX86_64() || IsArchitectureI386()
-
- return true;
- }
-Index: dev.vivid/chrome/browser/about_flags.cc
-===================================================================
---- dev.vivid.orig/chrome/browser/about_flags.cc 2015-06-02 15:12:59.295303719 -0400
-+++ dev.vivid/chrome/browser/about_flags.cc 2015-06-02 15:12:59.292303758 -0400
-@@ -1072,7 +1072,7 @@
- "disable-accelerated-video-decode",
- IDS_FLAGS_DISABLE_ACCELERATED_VIDEO_DECODE_NAME,
- IDS_FLAGS_DISABLE_ACCELERATED_VIDEO_DECODE_DESCRIPTION,
-- kOsMac | kOsWin | kOsCrOS,
-+ kOsAll,
- SINGLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode),
- },
- #if defined(USE_ASH)
-Index: dev.vivid/content/common/gpu/media/vaapi_wrapper.cc
-===================================================================
---- dev.vivid.orig/content/common/gpu/media/vaapi_wrapper.cc 2015-06-02 15:12:59.295303719 -0400
-+++ dev.vivid/content/common/gpu/media/vaapi_wrapper.cc 2015-06-02 15:12:59.293303745 -0400
-@@ -146,7 +146,7 @@
- VAProfile va_profile,
- const base::Closure& report_error_to_uma_cb) {
- if (!profile_infos_.Get().IsProfileSupported(mode, va_profile)) {
-- DVLOG(1) << "Unsupported va_profile: " << va_profile;
-+ VLOG(1) << "Unsupported va_profile: " << va_profile;
- return nullptr;
- }
-
-@@ -378,7 +378,7 @@
- if (std::find(supported_entrypoints.begin(),
- supported_entrypoints.end(),
- entrypoint) == supported_entrypoints.end()) {
-- DVLOG(1) << "Unsupported entrypoint";
-+ VLOG(1) << "Unsupported entrypoint";
- return false;
- }
- return true;
-@@ -402,8 +402,8 @@
- if (attribs[i].type != required_attribs[i].type ||
- (attribs[i].value & required_attribs[i].value) !=
- required_attribs[i].value) {
-- DVLOG(1) << "Unsupported value " << required_attribs[i].value
-- << " for attribute type " << required_attribs[i].type;
-+ VLOG(1) << "Unsupported value " << required_attribs[i].value
-+ << " for attribute type " << required_attribs[i].type;
- return false;
- }
- }