From f26ade1361041f7b88e5715343096c6a7b142f2d Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 29 Apr 2026 10:55:06 +0200 Subject: [PATCH] Delay starting until after the graphical interface is online to not slow down the boot process --- pkgbuilds/edge/intel-ipu7-camera/PKGBUILD | 7 +++++-- .../edge/intel-ipu7-camera/intel-ipu7-camera.install | 8 +++++--- .../edge/intel-ipu7-camera/intel-ipu7-camera.service | 11 +++++++++++ 3 files changed, 21 insertions(+), 5 deletions(-) create mode 100644 pkgbuilds/edge/intel-ipu7-camera/intel-ipu7-camera.service diff --git a/pkgbuilds/edge/intel-ipu7-camera/PKGBUILD b/pkgbuilds/edge/intel-ipu7-camera/PKGBUILD index 5b1430a..57db711 100644 --- a/pkgbuilds/edge/intel-ipu7-camera/PKGBUILD +++ b/pkgbuilds/edge/intel-ipu7-camera/PKGBUILD @@ -2,7 +2,7 @@ pkgname=intel-ipu7-camera pkgver=1.0.3 -pkgrel=1 +pkgrel=2 pkgdesc="Intel IPU7 MIPI camera stack for Hurrican/Performance (OV08X40 + hardware ISP)" arch=('x86_64') url="https://github.com/TsaiGaggery/hurrican_omarchy_enabling" @@ -49,6 +49,7 @@ source=( "camera-deps.conf" "v4l2loopback-modprobe.conf" "camera-init.service" + "intel-ipu7-camera.service" "hide-ipu7-v4l2.conf" "disable-libcamera.conf" "71-ipu7-hide-isys.rules" @@ -63,7 +64,7 @@ sha256sums=( 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' - 'SKIP' 'SKIP' + 'SKIP' 'SKIP' 'SKIP' ) prepare() { @@ -198,6 +199,8 @@ package() { # systemd install -Dm644 "${srcdir}/camera-init.service" \ "${pkgdir}/usr/lib/systemd/system/camera-init.service" + install -Dm644 "${srcdir}/intel-ipu7-camera.service" \ + "${pkgdir}/usr/lib/systemd/system/intel-ipu7-camera.service" # WirePlumber install -Dm644 "${srcdir}/hide-ipu7-v4l2.conf" \ diff --git a/pkgbuilds/edge/intel-ipu7-camera/intel-ipu7-camera.install b/pkgbuilds/edge/intel-ipu7-camera/intel-ipu7-camera.install index 2daa209..5f093a6 100644 --- a/pkgbuilds/edge/intel-ipu7-camera/intel-ipu7-camera.install +++ b/pkgbuilds/edge/intel-ipu7-camera/intel-ipu7-camera.install @@ -22,8 +22,8 @@ _install_sleep_hook() { post_install() { _install_sleep_hook systemctl daemon-reload - systemctl enable camera-init.service - systemctl enable v4l2-relayd@ipu7.service + systemctl disable camera-init.service v4l2-relayd@ipu7.service 2>/dev/null || true + systemctl enable intel-ipu7-camera.service udevadm control --reload-rules 2>/dev/null || true if [ -n "$SUDO_USER" ]; then @@ -38,7 +38,8 @@ post_install() { post_upgrade() { _install_sleep_hook systemctl daemon-reload - systemctl enable v4l2-relayd@ipu7.service + systemctl disable camera-init.service v4l2-relayd@ipu7.service 2>/dev/null || true + systemctl enable intel-ipu7-camera.service # Disable old camera-feed-watch (replaced by v4l2-relayd) systemctl --global disable camera-feed-watch.service 2>/dev/null || true udevadm control --reload-rules 2>/dev/null || true @@ -53,6 +54,7 @@ post_upgrade() { pre_remove() { systemctl disable v4l2-relayd@ipu7.service 2>/dev/null || true systemctl stop v4l2-relayd@ipu7.service 2>/dev/null || true + systemctl disable intel-ipu7-camera.service 2>/dev/null || true systemctl --global disable camera-feed-watch.service 2>/dev/null || true systemctl disable camera-init.service 2>/dev/null || true systemctl stop camera-init.service 2>/dev/null || true diff --git a/pkgbuilds/edge/intel-ipu7-camera/intel-ipu7-camera.service b/pkgbuilds/edge/intel-ipu7-camera/intel-ipu7-camera.service new file mode 100644 index 0000000..be304d9 --- /dev/null +++ b/pkgbuilds/edge/intel-ipu7-camera/intel-ipu7-camera.service @@ -0,0 +1,11 @@ +[Unit] +Description=Start Intel IPU7 camera stack after graphical boot +After=graphical.target +ConditionPathExists=/usr/lib/systemd/system/camera-init.service + +[Service] +Type=oneshot +ExecStart=/usr/bin/systemctl start --no-block camera-init.service v4l2-relayd@ipu7.service + +[Install] +WantedBy=graphical.target