diff mbox series

[meta-arago,master/wrynose,v6] chromium: restrict force-h264-youtube extension to supported boards

Message ID 20260929194855.2797852-1-t-lannynd@ti.com
State New
Headers show
Series [meta-arago,master/wrynose,v6] chromium: restrict force-h264-youtube extension to supported boards | expand

Commit Message

Thorsten Lannynd Sept. 29, 2026, 7:48 p.m. UTC
Split force-h264-youtube into its own package, enabled only on boards that
support H264 YouTube hardware accelerated playback.

Signed-off-by: Thorsten Lannynd <t-lannynd@ti.com>
---
v6:
- Shorten commit message title

v5:
- Use generic approach to loading extensions by creating arago subdirectory
  and loading all extensions that live in the subdirectory

v4:
- Add branch and layer to subject line

v3:
- Separate the extension into its own package and install on boards with
  Wave5 firmware
- Enable extension if extension directory exists

v2:
- Shorten commit message title

 .../force_h264.js                             |  0
 .../manifest.json                             |  0
 ...mium-extension-force-h264-youtube_1.0.0.bb | 24 +++++++++++++
 .../chromium/chromium-ozone-wayland-arago.inc | 14 +-------
 ...-Auto-load-arago-extensions-at-runti.patch | 34 +++++++++++++++++++
 5 files changed, 59 insertions(+), 13 deletions(-)
 rename meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/{chromium/chromium-ozone-wayland/force-h264-youtube => chromium-extension-force-h264-youtube/chromium-extension-force-h264-youtube}/force_h264.js (100%)
 rename meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/{chromium/chromium-ozone-wayland/force-h264-youtube => chromium-extension-force-h264-youtube/chromium-extension-force-h264-youtube}/manifest.json (100%)
 create mode 100644 meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-extension-force-h264-youtube/chromium-extension-force-h264-youtube_1.0.0.bb
 create mode 100644 meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland/0005-chromium-wrapper-Auto-load-arago-extensions-at-runti.patch

Comments

PRC Automation Sept. 29, 2026, 7:56 p.m. UTC | #1
meta-arago / na / 20260929194855.2797852-1-t-lannynd

PRC Results: FAIL

=========================================================
  check-yocto-patches: PASS
=========================================================
Patches
----------------------------------------
All patches passed



=========================================================
  apply-yocto-patch: PASS
=========================================================
master
=====================
Summary:
- Patch Series: [meta-arago][master/wrynose][PATCH v6] chromium: restrict force-h264-youtube extension to supported boards
- Submitter: From: Thorsten Lannynd <t-lannynd@ti.com>
+From: Thorsten Lannynd <t-lannynd@ti.com>
- Date: Date: Tue, 29 Sep 2026 14:48:55 -0500
+Date: Mon, 28 Sep 2026 13:22:56 -0500
- Num Patches: 1
- Mailing List (public inbox) Commit SHA: 6aca1ebc0b4f683f4cad5152f7ad67fb8737d661

Applied to:
- Repository: lcpd-prc-meta-arago
- Base Branch: master-wip
- Commit Author: Ryan Eatmon <reatmon@ti.com>
- Commit Subject: ti-world: Clean up chromium inclusion
- Commit SHA: 6e0dd96eebdd75de156536406d0cda78c2f8b572

Patches
----------------------------------------
All patches applied

wrynose
=====================
Summary:
- Patch Series: [meta-arago][master/wrynose][PATCH v6] chromium: restrict force-h264-youtube extension to supported boards
- Submitter: From: Thorsten Lannynd <t-lannynd@ti.com>
+From: Thorsten Lannynd <t-lannynd@ti.com>
- Date: Date: Tue, 29 Sep 2026 14:48:55 -0500
+Date: Mon, 28 Sep 2026 13:22:56 -0500
- Num Patches: 1
- Mailing List (public inbox) Commit SHA: 6aca1ebc0b4f683f4cad5152f7ad67fb8737d661

Applied to:
- Repository: lcpd-prc-meta-arago
- Base Branch: wrynose-wip
- Commit Author: Ryan Eatmon <reatmon@ti.com>
- Commit Subject: check_yocto_rules: Add exception for pipewire update
- Commit SHA: cc1013940d3b41154ab5e3e6e82a9b584a02820f

Patches
----------------------------------------
All patches applied



=========================================================
  check-yocto-repo: PASS
=========================================================
master
=====================
PASS

wrynose
=====================
PASS



=========================================================
  yocto-check-layers: FAIL
=========================================================
master - FAIL
=====================
ERROR: No recipes in default available for:

wrynose - PASS
=====================
All checks passed
Ryan Eatmon Sept. 29, 2026, 8:09 p.m. UTC | #2
Ok.  This is a petty request.  Given that the change to chromium is now 
generic, can we split the patch into two.  First patch is to chromium 
for the wrapper.  Second patch adds chromium-extension-force-h264-youtube.



On 9/29/2026 2:48 PM, Thorsten Lannynd wrote:
> Split force-h264-youtube into its own package, enabled only on boards that
> support H264 YouTube hardware accelerated playback.
> 
> Signed-off-by: Thorsten Lannynd <t-lannynd@ti.com>
> ---
> v6:
> - Shorten commit message title
> 
> v5:
> - Use generic approach to loading extensions by creating arago subdirectory
>    and loading all extensions that live in the subdirectory
> 
> v4:
> - Add branch and layer to subject line
> 
> v3:
> - Separate the extension into its own package and install on boards with
>    Wave5 firmware
> - Enable extension if extension directory exists
> 
> v2:
> - Shorten commit message title
> 
>   .../force_h264.js                             |  0
>   .../manifest.json                             |  0
>   ...mium-extension-force-h264-youtube_1.0.0.bb | 24 +++++++++++++
>   .../chromium/chromium-ozone-wayland-arago.inc | 14 +-------
>   ...-Auto-load-arago-extensions-at-runti.patch | 34 +++++++++++++++++++
>   5 files changed, 59 insertions(+), 13 deletions(-)
>   rename meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/{chromium/chromium-ozone-wayland/force-h264-youtube => chromium-extension-force-h264-youtube/chromium-extension-force-h264-youtube}/force_h264.js (100%)
>   rename meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/{chromium/chromium-ozone-wayland/force-h264-youtube => chromium-extension-force-h264-youtube/chromium-extension-force-h264-youtube}/manifest.json (100%)
>   create mode 100644 meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-extension-force-h264-youtube/chromium-extension-force-h264-youtube_1.0.0.bb
>   create mode 100644 meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland/0005-chromium-wrapper-Auto-load-arago-extensions-at-runti.patch
> 
> diff --git a/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland/force-h264-youtube/force_h264.js b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-extension-force-h264-youtube/chromium-extension-force-h264-youtube/force_h264.js
> similarity index 100%
> rename from meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland/force-h264-youtube/force_h264.js
> rename to meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-extension-force-h264-youtube/chromium-extension-force-h264-youtube/force_h264.js
> diff --git a/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland/force-h264-youtube/manifest.json b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-extension-force-h264-youtube/chromium-extension-force-h264-youtube/manifest.json
> similarity index 100%
> rename from meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland/force-h264-youtube/manifest.json
> rename to meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-extension-force-h264-youtube/chromium-extension-force-h264-youtube/manifest.json
> diff --git a/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-extension-force-h264-youtube/chromium-extension-force-h264-youtube_1.0.0.bb b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-extension-force-h264-youtube/chromium-extension-force-h264-youtube_1.0.0.bb
> new file mode 100644
> index 00000000..bdc3d223
> --- /dev/null
> +++ b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-extension-force-h264-youtube/chromium-extension-force-h264-youtube_1.0.0.bb
> @@ -0,0 +1,24 @@
> +SUMMARY = "Chromium extension that forces YouTube to use H.264 codec"
> +LICENSE = "CLOSED"
> +
> +python () {
> +    if not bb.utils.contains("MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS", "cnm-wave-fw", True, False, d):
> +        raise bb.parse.SkipRecipe("cnm-wave-fw not in MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS")
> +}
> +
> +RDEPENDS:${PN} = "chromium-ozone-wayland"
> +
> +SRC_URI = "file://force_h264.js \
> +           file://manifest.json \
> +           "
> +
> +EXTENSION_DIR = "${libdir}/chromium/extensions/arago/force-h264-youtube"
> +
> +do_install() {
> +    install -d ${D}${EXTENSION_DIR}
> +    install -m 0644 ${WORKDIR}/force_h264.js \
> +                    ${WORKDIR}/manifest.json \
> +                    ${D}${EXTENSION_DIR}/
> +}
> +
> +FILES:${PN} = "${EXTENSION_DIR}"
> diff --git a/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland-arago.inc b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland-arago.inc
> index d8eb0204..40b74c18 100644
> --- a/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland-arago.inc
> +++ b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland-arago.inc
> @@ -1,7 +1,5 @@
>   PR:append = ".arago0"
>   
> -EXTENSION_DIR = "/usr/lib/chromium/extensions/force-h264-youtube"
> -
>   FILESEXTRAPATHS:prepend := "${THISDIR}/chromium-ozone-wayland:"
>   
>   PACKAGECONFIG:append = " proprietary-codecs"
> @@ -11,15 +9,5 @@ SRC_URI:append = " \
>                     file://0002-chromium-gpu-sandbox-Allow-GPU-sandbox-access-to-V4L.patch \
>                     file://0003-chromium-gpu-v4l2-Fix-OUTPUT-queue-streaming-in-V4L2.patch \
>                     file://0004-media-gpu-v4l2-Avoid-placing-incomplete-H264-access-.patch \
> -                  file://force-h264-youtube/force_h264.js \
> -                  file://force-h264-youtube/manifest.json \
> +                  file://0005-chromium-wrapper-Auto-load-arago-extensions-at-runti.patch \
>                     "
> -
> -do_install:append() {
> -    install -d ${D}${EXTENSION_DIR}
> -    install -m 0644 ${WORKDIR}/sources/force-h264-youtube/force_h264.js \
> -                    ${WORKDIR}/sources/force-h264-youtube/manifest.json \
> -                    ${D}${EXTENSION_DIR}/
> -}
> -
> -FILES:${PN}:append = " ${EXTENSION_DIR}"
> diff --git a/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland/0005-chromium-wrapper-Auto-load-arago-extensions-at-runti.patch b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland/0005-chromium-wrapper-Auto-load-arago-extensions-at-runti.patch
> new file mode 100644
> index 00000000..90323537
> --- /dev/null
> +++ b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland/0005-chromium-wrapper-Auto-load-arago-extensions-at-runti.patch
> @@ -0,0 +1,34 @@
> +From 5bcdc4db88d908abdeba11270740864a13bafad1 Mon Sep 17 00:00:00 2001
> +From: Thorsten Lannynd <t-lannynd@ti.com>
> +Date: Mon, 28 Sep 2026 13:22:56 -0500
> +Subject: [PATCH] chromium: wrapper: Auto-load arago extensions at runtime
> +
> +Upstream-Status: Inappropriate [TI-specific extension directory]
> +
> +Scan $HERE/extensions/arago/ at runtime and pass any installed
> +subdirectories through --load-extension, allowing all TI extensions to be
> +enabled by default.
> +
> +Signed-off-by: Thorsten Lannynd <t-lannynd@ti.com>
> +---
> + chrome/installer/linux/common/wrapper | 6 ++++++
> + 1 file changed, 6 insertions(+)
> +
> +diff --git a/chrome/installer/linux/common/wrapper b/chrome/installer/linux/common/wrapper
> +index 3547069c2a..76588abda8 100755
> +--- a/chrome/installer/linux/common/wrapper
> ++++ b/chrome/installer/linux/common/wrapper
> +@@ -28,5 +28,11 @@ exec 2> >(exec cat >&2)
> +
> + CHROME_EXTRA_ARGS=""
> +
> ++# Auto-load arago extensions at runtime
> ++for _ext in "$HERE/extensions/arago"/*/; do
> ++    [ -d "$_ext" ] && _ext_list="${_ext_list:+$_ext_list,}${_ext%/}"
> ++done
> ++[ -n "$_ext_list" ] && CHROME_EXTRA_ARGS="$CHROME_EXTRA_ARGS --load-extension=$_ext_list"
> ++
> + # Note: exec -a below is a bashism.
> + exec -a "$0" "$HERE/@@PROGNAME@@" ${CHROME_EXTRA_ARGS} "$@"
> +--
> +2.34.1
diff mbox series

Patch

diff --git a/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland/force-h264-youtube/force_h264.js b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-extension-force-h264-youtube/chromium-extension-force-h264-youtube/force_h264.js
similarity index 100%
rename from meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland/force-h264-youtube/force_h264.js
rename to meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-extension-force-h264-youtube/chromium-extension-force-h264-youtube/force_h264.js
diff --git a/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland/force-h264-youtube/manifest.json b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-extension-force-h264-youtube/chromium-extension-force-h264-youtube/manifest.json
similarity index 100%
rename from meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland/force-h264-youtube/manifest.json
rename to meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-extension-force-h264-youtube/chromium-extension-force-h264-youtube/manifest.json
diff --git a/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-extension-force-h264-youtube/chromium-extension-force-h264-youtube_1.0.0.bb b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-extension-force-h264-youtube/chromium-extension-force-h264-youtube_1.0.0.bb
new file mode 100644
index 00000000..bdc3d223
--- /dev/null
+++ b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-extension-force-h264-youtube/chromium-extension-force-h264-youtube_1.0.0.bb
@@ -0,0 +1,24 @@ 
+SUMMARY = "Chromium extension that forces YouTube to use H.264 codec"
+LICENSE = "CLOSED"
+
+python () {
+    if not bb.utils.contains("MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS", "cnm-wave-fw", True, False, d):
+        raise bb.parse.SkipRecipe("cnm-wave-fw not in MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS")
+}
+
+RDEPENDS:${PN} = "chromium-ozone-wayland"
+
+SRC_URI = "file://force_h264.js \
+           file://manifest.json \
+           "
+
+EXTENSION_DIR = "${libdir}/chromium/extensions/arago/force-h264-youtube"
+
+do_install() {
+    install -d ${D}${EXTENSION_DIR}
+    install -m 0644 ${WORKDIR}/force_h264.js \
+                    ${WORKDIR}/manifest.json \
+                    ${D}${EXTENSION_DIR}/
+}
+
+FILES:${PN} = "${EXTENSION_DIR}"
diff --git a/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland-arago.inc b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland-arago.inc
index d8eb0204..40b74c18 100644
--- a/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland-arago.inc
+++ b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland-arago.inc
@@ -1,7 +1,5 @@ 
 PR:append = ".arago0"
 
-EXTENSION_DIR = "/usr/lib/chromium/extensions/force-h264-youtube"
-
 FILESEXTRAPATHS:prepend := "${THISDIR}/chromium-ozone-wayland:"
 
 PACKAGECONFIG:append = " proprietary-codecs"
@@ -11,15 +9,5 @@  SRC_URI:append = " \
                   file://0002-chromium-gpu-sandbox-Allow-GPU-sandbox-access-to-V4L.patch \
                   file://0003-chromium-gpu-v4l2-Fix-OUTPUT-queue-streaming-in-V4L2.patch \
                   file://0004-media-gpu-v4l2-Avoid-placing-incomplete-H264-access-.patch \
-                  file://force-h264-youtube/force_h264.js \
-                  file://force-h264-youtube/manifest.json \
+                  file://0005-chromium-wrapper-Auto-load-arago-extensions-at-runti.patch \
                   "
-
-do_install:append() {
-    install -d ${D}${EXTENSION_DIR}
-    install -m 0644 ${WORKDIR}/sources/force-h264-youtube/force_h264.js \
-                    ${WORKDIR}/sources/force-h264-youtube/manifest.json \
-                    ${D}${EXTENSION_DIR}/
-}
-
-FILES:${PN}:append = " ${EXTENSION_DIR}"
diff --git a/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland/0005-chromium-wrapper-Auto-load-arago-extensions-at-runti.patch b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland/0005-chromium-wrapper-Auto-load-arago-extensions-at-runti.patch
new file mode 100644
index 00000000..90323537
--- /dev/null
+++ b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland/0005-chromium-wrapper-Auto-load-arago-extensions-at-runti.patch
@@ -0,0 +1,34 @@ 
+From 5bcdc4db88d908abdeba11270740864a13bafad1 Mon Sep 17 00:00:00 2001
+From: Thorsten Lannynd <t-lannynd@ti.com>
+Date: Mon, 28 Sep 2026 13:22:56 -0500
+Subject: [PATCH] chromium: wrapper: Auto-load arago extensions at runtime
+
+Upstream-Status: Inappropriate [TI-specific extension directory]
+
+Scan $HERE/extensions/arago/ at runtime and pass any installed
+subdirectories through --load-extension, allowing all TI extensions to be
+enabled by default.
+
+Signed-off-by: Thorsten Lannynd <t-lannynd@ti.com>
+---
+ chrome/installer/linux/common/wrapper | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/chrome/installer/linux/common/wrapper b/chrome/installer/linux/common/wrapper
+index 3547069c2a..76588abda8 100755
+--- a/chrome/installer/linux/common/wrapper
++++ b/chrome/installer/linux/common/wrapper
+@@ -28,5 +28,11 @@ exec 2> >(exec cat >&2)
+ 
+ CHROME_EXTRA_ARGS=""
+ 
++# Auto-load arago extensions at runtime
++for _ext in "$HERE/extensions/arago"/*/; do
++    [ -d "$_ext" ] && _ext_list="${_ext_list:+$_ext_list,}${_ext%/}"
++done
++[ -n "$_ext_list" ] && CHROME_EXTRA_ARGS="$CHROME_EXTRA_ARGS --load-extension=$_ext_list"
++
+ # Note: exec -a below is a bashism.
+ exec -a "$0" "$HERE/@@PROGNAME@@" ${CHROME_EXTRA_ARGS} "$@"
+-- 
+2.34.1