Merge pull request 'chromium-fourier: bump to 148.0.7778.178, add Debian recipe' (#93) from claude-noether/marfrit-packages:noether/chromium-fourier-148 into main
build and publish packages / distcc-avahi-aarch64 (push) Successful in 5s
build and publish packages / mesa-panvk-bifrost-aarch64 (push) Successful in 4s
build and publish packages / mesa-panvk-bifrost-video-aarch64 (push) Successful in 5s
build and publish packages / lmcp-any (push) Successful in 4s
build and publish packages / lmcp-debian (push) Successful in 4s
build and publish packages / claude-his-any (push) Successful in 3s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 3s
build and publish packages / claude-his-debian (push) Successful in 4s
build and publish packages / ffmpeg-v4l2-request-debian (push) Successful in 6s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Successful in 3s
build and publish packages / daedalus-v4l2-debian (push) Successful in 5s
build and publish packages / mpv-fourier-aarch64 (push) Successful in 3s
build and publish packages / libva-v4l2-request-fourier-debian (push) Successful in 4s
build and publish packages / daedalus-v4l2-dkms-debian (push) Successful in 3s
build and publish packages / mpv-fourier-debian (push) Successful in 4s
build and publish packages / distcc-avahi-aarch64 (push) Successful in 5s
build and publish packages / mesa-panvk-bifrost-aarch64 (push) Successful in 4s
build and publish packages / mesa-panvk-bifrost-video-aarch64 (push) Successful in 5s
build and publish packages / lmcp-any (push) Successful in 4s
build and publish packages / lmcp-debian (push) Successful in 4s
build and publish packages / claude-his-any (push) Successful in 3s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 3s
build and publish packages / claude-his-debian (push) Successful in 4s
build and publish packages / ffmpeg-v4l2-request-debian (push) Successful in 6s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Successful in 3s
build and publish packages / daedalus-v4l2-debian (push) Successful in 5s
build and publish packages / mpv-fourier-aarch64 (push) Successful in 3s
build and publish packages / libva-v4l2-request-fourier-debian (push) Successful in 4s
build and publish packages / daedalus-v4l2-dkms-debian (push) Successful in 3s
build and publish packages / mpv-fourier-debian (push) Successful in 4s
Reviewed-on: #93
This commit was merged in pull request #93.
This commit is contained in:
@@ -8,13 +8,13 @@
|
||||
# NEXT.md alongside this PKGBUILD for the full rationale and the
|
||||
# validation log on PineTab2 (RK3566).
|
||||
#
|
||||
# Multi-arch: builds natively on x86_64 and aarch64. The x86_64 path
|
||||
# is primarily a development / CI host; the runtime target audience is
|
||||
# aarch64. The two patches are architecture-independent.
|
||||
# Cross-compiled from x86_64 using chromium's bundled clang (upstream
|
||||
# LLVM doesn't ship clang 23+ yet; chromium's internal fork is required).
|
||||
# Runtime target is aarch64. The three patches are architecture-independent.
|
||||
|
||||
pkgname=chromium-fourier
|
||||
pkgver=147.0.7727.116
|
||||
pkgrel=2
|
||||
pkgver=148.0.7778.178
|
||||
pkgrel=1
|
||||
epoch=1
|
||||
pkgdesc='Chromium with V4L2VDA HW video decode unlocked for mainline Linux Wayland on Rockchip'
|
||||
arch=('aarch64' 'x86_64')
|
||||
@@ -150,7 +150,6 @@ build() {
|
||||
'symbol_level=0'
|
||||
'is_cfi=false'
|
||||
'treat_warnings_as_errors=false'
|
||||
'enable_nacl=false'
|
||||
'enable_widevine=false'
|
||||
|
||||
# System toolchain (clang/lld from pacman)
|
||||
|
||||
@@ -73,16 +73,15 @@ diff --git a/ui/ozone/common/native_pixmap_egl_binding.cc b/ui/ozone/common/nati
|
||||
index 31877f4459..6855c1093e 100644
|
||||
--- a/ui/ozone/common/native_pixmap_egl_binding.cc
|
||||
+++ b/ui/ozone/common/native_pixmap_egl_binding.cc
|
||||
@@ -6,10 +6,13 @@
|
||||
|
||||
@@ -6,9 +6,12 @@
|
||||
|
||||
#include <array>
|
||||
|
||||
|
||||
+#include "base/containers/flat_map.h"
|
||||
#include "base/logging.h"
|
||||
#include "base/memory/scoped_refptr.h"
|
||||
+#include "base/no_destructor.h"
|
||||
#include "base/notreached.h"
|
||||
#include "base/numerics/safe_conversions.h"
|
||||
+#include "base/synchronization/lock.h"
|
||||
#include "ui/gfx/linux/drm_util_linux.h"
|
||||
#include "ui/gl/gl_bindings.h"
|
||||
|
||||
+150
@@ -0,0 +1,150 @@
|
||||
#!/bin/bash
|
||||
# Package pre-built chromium-fourier artifacts into a .deb.
|
||||
#
|
||||
# Chromium can't be compiled natively on any available aarch64 runner
|
||||
# (clang version wall — chromium requires its internal clang fork).
|
||||
# The build is cross-compiled on CT 220 (data, x86_64 Ryzen 7).
|
||||
# This script expects the build artifacts to exist at BUILD_DIR
|
||||
# (default: fetched from CT 220 via SSH).
|
||||
#
|
||||
# Sibling Arch package: ../../arch/chromium-fourier/PKGBUILD
|
||||
set -euo pipefail
|
||||
|
||||
PKGVER=148.0.7778.178
|
||||
EPOCH=1
|
||||
PKGREL=1
|
||||
ARCH=arm64
|
||||
|
||||
HERE=$(dirname "$(readlink -f "$0")")
|
||||
export SOURCE_DATE_EPOCH=1779854400 # 2026-05-24 09:00 UTC
|
||||
|
||||
BUILD_DIR="${BUILD_DIR:-}"
|
||||
|
||||
work=$(mktemp -d)
|
||||
trap "rm -rf $work" EXIT
|
||||
|
||||
if [ -z "$BUILD_DIR" ]; then
|
||||
echo "BUILD_DIR not set — fetching artifacts from CT 220 on data..."
|
||||
BUILD_DIR="$work/artifacts"
|
||||
mkdir -p "$BUILD_DIR"
|
||||
ssh root@data "pct exec 220 -- tar -cf - -C /build/chromium/src/out/Default \
|
||||
chrome chrome_crashpad_handler \
|
||||
libEGL.so libGLESv2.so libvk_swiftshader.so libvulkan.so.1 \
|
||||
vk_swiftshader_icd.json \
|
||||
chrome_100_percent.pak chrome_200_percent.pak resources.pak \
|
||||
v8_context_snapshot.bin snapshot_blob.bin icudtl.dat \
|
||||
locales/" | tar -xf - -C "$BUILD_DIR"
|
||||
fi
|
||||
|
||||
ROOT="$work/pkgroot"
|
||||
|
||||
install -Dm755 "$BUILD_DIR/chrome" "$ROOT/usr/lib/chromium/chromium"
|
||||
install -Dm755 "$BUILD_DIR/chrome_crashpad_handler" "$ROOT/usr/lib/chromium/chrome_crashpad_handler"
|
||||
|
||||
for so in libEGL.so libGLESv2.so libvk_swiftshader.so libvulkan.so.1; do
|
||||
[ -f "$BUILD_DIR/$so" ] && install -Dm755 "$BUILD_DIR/$so" "$ROOT/usr/lib/chromium/$so"
|
||||
done
|
||||
|
||||
for icd in "$BUILD_DIR"/*_icd.json; do
|
||||
[ -f "$icd" ] && install -Dm644 "$icd" "$ROOT/usr/lib/chromium/$(basename "$icd")"
|
||||
done
|
||||
|
||||
for f in chrome_100_percent.pak chrome_200_percent.pak resources.pak \
|
||||
v8_context_snapshot.bin snapshot_blob.bin icudtl.dat; do
|
||||
[ -f "$BUILD_DIR/$f" ] && install -Dm644 "$BUILD_DIR/$f" "$ROOT/usr/lib/chromium/$f"
|
||||
done
|
||||
|
||||
if [ -d "$BUILD_DIR/locales" ]; then
|
||||
install -dm755 "$ROOT/usr/lib/chromium/locales"
|
||||
cp -r "$BUILD_DIR/locales/"* "$ROOT/usr/lib/chromium/locales/"
|
||||
fi
|
||||
|
||||
install -dm755 "$ROOT/usr/bin"
|
||||
cat > "$ROOT/usr/bin/chromium-fourier" <<'LAUNCHER'
|
||||
#!/bin/bash
|
||||
USER_HANDLES_VULKAN=0
|
||||
for arg in "$@"; do
|
||||
case "$arg" in
|
||||
--use-vulkan*|--enable-features=*Vulkan*|--disable-features=*Vulkan*|--use-angle=vulkan*)
|
||||
USER_HANDLES_VULKAN=1
|
||||
break
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
vulkan_default=()
|
||||
if [ "$USER_HANDLES_VULKAN" = 0 ]; then
|
||||
vulkan_default=(--disable-features=Vulkan)
|
||||
fi
|
||||
|
||||
exec /usr/lib/chromium/chromium \
|
||||
--ozone-platform=wayland \
|
||||
--use-gl=angle --use-angle=gles \
|
||||
--enable-features=AcceleratedVideoDecoder \
|
||||
"${vulkan_default[@]}" \
|
||||
"$@"
|
||||
LAUNCHER
|
||||
chmod 0755 "$ROOT/usr/bin/chromium-fourier"
|
||||
|
||||
mkdir -p "$ROOT/usr/share/doc/chromium-fourier" "$ROOT/DEBIAN"
|
||||
install -Dm644 "$HERE/debian/copyright" \
|
||||
"$ROOT/usr/share/doc/chromium-fourier/copyright"
|
||||
install -Dm644 "$HERE/debian/changelog" \
|
||||
"$ROOT/usr/share/doc/chromium-fourier/changelog.Debian"
|
||||
gzip -9 -n "$ROOT/usr/share/doc/chromium-fourier/changelog.Debian"
|
||||
|
||||
ISIZE=$(du -sk "$ROOT" | awk '{print $1}')
|
||||
cat > "$ROOT/DEBIAN/control" <<EOF
|
||||
Package: chromium-fourier
|
||||
Version: ${EPOCH}:${PKGVER}-${PKGREL}
|
||||
Section: web
|
||||
Priority: optional
|
||||
Architecture: ${ARCH}
|
||||
Installed-Size: ${ISIZE}
|
||||
Depends: libasound2,
|
||||
libatk-bridge2.0-0,
|
||||
libatk1.0-0,
|
||||
libcairo2,
|
||||
libcups2,
|
||||
libdbus-1-3,
|
||||
libdrm2,
|
||||
libexpat1,
|
||||
libfontconfig1,
|
||||
libfreetype6,
|
||||
libgbm1,
|
||||
libglib2.0-0,
|
||||
libgtk-3-0,
|
||||
libnspr4,
|
||||
libnss3,
|
||||
libpango-1.0-0,
|
||||
libpulse0,
|
||||
libva2,
|
||||
libwayland-client0,
|
||||
libx11-6,
|
||||
libxcb1,
|
||||
libxkbcommon0,
|
||||
libpipewire-0.3-0,
|
||||
fonts-liberation,
|
||||
v4l-utils
|
||||
Provides: www-browser
|
||||
Conflicts: chromium
|
||||
Maintainer: Markus Fritsche <mfritsche@reauktion.de>
|
||||
Homepage: https://www.chromium.org/
|
||||
Description: Chromium with V4L2 HW video decode for Rockchip (Wayland + mainline)
|
||||
Chromium ${PKGVER} with three patches enabling V4L2 hardware video
|
||||
decoding on mainline Linux / Wayland for Rockchip SoCs (RK3566 hantro,
|
||||
RK3588 VDPU381).
|
||||
.
|
||||
Cross-compiled from x86_64 using chromium's bundled clang (upstream
|
||||
LLVM cannot compile chromium). Runtime target is aarch64.
|
||||
.
|
||||
Patches: enable-v4l2-decoder-default, wayland-allow-direct-egl-gles2,
|
||||
nv12-external-oes-on-modifier-external-only.
|
||||
.
|
||||
Launcher at /usr/bin/chromium-fourier defaults to Wayland + ANGLE/GLES
|
||||
with Vulkan disabled (panvk on RK3566 breaks V4L2 dispatch).
|
||||
EOF
|
||||
|
||||
DEB_OUT="chromium-fourier_${EPOCH}%3a${PKGVER}-${PKGREL}_${ARCH}.deb"
|
||||
dpkg-deb --root-owner-group --build "$ROOT" "$HERE/$DEB_OUT"
|
||||
echo "built: $HERE/$DEB_OUT"
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
chromium-fourier (1:148.0.7778.178-1) trixie; urgency=medium
|
||||
|
||||
* Chromium 148.0.7778.178 with V4L2 HW decode patches for Rockchip.
|
||||
* Cross-compiled from x86_64 using chromium's bundled clang.
|
||||
* Three fourier patches: enable-v4l2-decoder-default,
|
||||
wayland-allow-direct-egl-gles2, nv12-external-oes-on-modifier-external-only.
|
||||
|
||||
-- Markus Fritsche <mfritsche@reauktion.de> Sat, 24 May 2026 09:00:00 +0200
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||
Upstream-Name: Chromium
|
||||
Upstream-Contact: chromium-dev@chromium.org
|
||||
Source: https://www.chromium.org/
|
||||
|
||||
Files: *
|
||||
Copyright: The Chromium Authors
|
||||
License: BSD-3-Clause
|
||||
|
||||
Files: debian/*
|
||||
Copyright: 2026 Markus Fritsche <mfritsche@reauktion.de>
|
||||
License: BSD-3-Clause
|
||||
|
||||
License: BSD-3-Clause
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
.
|
||||
1. Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions and the following disclaimer.
|
||||
.
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
.
|
||||
3. Neither the name of the copyright holder nor the names of its
|
||||
contributors may be used to endorse or promote products derived from
|
||||
this software without specific prior written permission.
|
||||
.
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED.
|
||||
Reference in New Issue
Block a user