Delay starting until after the graphical interface is online to not slow down the boot process

This commit is contained in:
David Heinemeier Hansson committed 2026-04-29 10:55:06 +02:00
1 parent 6a3cdb6243
commit f26ade1361
3 files changed
+21 -5

No files matched your search

+5 -2
View File
@@ -2,7 +2,7 @@
pkgname=intel-ipu7-camera pkgname=intel-ipu7-camera
pkgver=1.0.3 pkgver=1.0.3
pkgrel=1 pkgrel=2
pkgdesc="Intel IPU7 MIPI camera stack for Hurrican/Performance (OV08X40 + hardware ISP)" pkgdesc="Intel IPU7 MIPI camera stack for Hurrican/Performance (OV08X40 + hardware ISP)"
arch=('x86_64') arch=('x86_64')
url="https://github.com/TsaiGaggery/hurrican_omarchy_enabling" url="https://github.com/TsaiGaggery/hurrican_omarchy_enabling"
@@ -49,6 +49,7 @@ source=(
"camera-deps.conf" "camera-deps.conf"
"v4l2loopback-modprobe.conf" "v4l2loopback-modprobe.conf"
"camera-init.service" "camera-init.service"
"intel-ipu7-camera.service"
"hide-ipu7-v4l2.conf" "hide-ipu7-v4l2.conf"
"disable-libcamera.conf" "disable-libcamera.conf"
"71-ipu7-hide-isys.rules" "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' 'SKIP'
'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP'
'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP'
) )
prepare() { prepare() {
@@ -198,6 +199,8 @@ package() {
# systemd # systemd
install -Dm644 "${srcdir}/camera-init.service" \ install -Dm644 "${srcdir}/camera-init.service" \
"${pkgdir}/usr/lib/systemd/system/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 # WirePlumber
install -Dm644 "${srcdir}/hide-ipu7-v4l2.conf" \ install -Dm644 "${srcdir}/hide-ipu7-v4l2.conf" \
@@ -22,8 +22,8 @@ _install_sleep_hook() {
post_install() { post_install() {
_install_sleep_hook _install_sleep_hook
systemctl daemon-reload systemctl daemon-reload
systemctl enable camera-init.service systemctl disable camera-init.service v4l2-relayd@ipu7.service 2>/dev/null || true
systemctl enable v4l2-relayd@ipu7.service systemctl enable intel-ipu7-camera.service
udevadm control --reload-rules 2>/dev/null || true udevadm control --reload-rules 2>/dev/null || true
if [ -n "$SUDO_USER" ]; then if [ -n "$SUDO_USER" ]; then
@@ -38,7 +38,8 @@ post_install() {
post_upgrade() { post_upgrade() {
_install_sleep_hook _install_sleep_hook
systemctl daemon-reload 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) # Disable old camera-feed-watch (replaced by v4l2-relayd)
systemctl --global disable camera-feed-watch.service 2>/dev/null || true systemctl --global disable camera-feed-watch.service 2>/dev/null || true
udevadm control --reload-rules 2>/dev/null || true udevadm control --reload-rules 2>/dev/null || true
@@ -53,6 +54,7 @@ post_upgrade() {
pre_remove() { pre_remove() {
systemctl disable v4l2-relayd@ipu7.service 2>/dev/null || true systemctl disable v4l2-relayd@ipu7.service 2>/dev/null || true
systemctl stop 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 --global disable camera-feed-watch.service 2>/dev/null || true
systemctl disable camera-init.service 2>/dev/null || true systemctl disable camera-init.service 2>/dev/null || true
systemctl stop camera-init.service 2>/dev/null || true systemctl stop camera-init.service 2>/dev/null || true
@@ -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