From 9f8fa6bd4af9dc3b56efcf5de8c175d41b60923d Mon Sep 17 00:00:00 2001 From: Luke Hoersten Date: Sun, 12 Apr 2026 13:48:06 -0500 Subject: Fix doorbell-viewport display and ring detection - Switch to sysfs backlight (drm backend) to avoid DRM plane reset on display power cycle caused by vcgencmd display_power - Add udev rule and sysfs permissions for rpi_backlight - Fix multi-packet WebSocket decoder (ring events were being dropped) - Fix mpv loop/cache flags (--loop=no, bounded --demuxer-max-bytes) - Remove hardware decode (caused SIGSEGV on RPi4 with fkms) --- doorbell-viewport/files/doorbell-viewport.py | 5 ++--- doorbell-viewport/tasks/main.yaml | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/doorbell-viewport/files/doorbell-viewport.py b/doorbell-viewport/files/doorbell-viewport.py index 3167671..2c5b50a 100644 --- a/doorbell-viewport/files/doorbell-viewport.py +++ b/doorbell-viewport/files/doorbell-viewport.py @@ -392,10 +392,9 @@ class DoorbellViewport: "--no-input-default-bindings", "--no-config", "--really-quiet", - "--loop=inf", + "--loop=no", "--cache=yes", - "--cache-secs=3", - "--demuxer-max-bytes=50M", + "--demuxer-max-bytes=1M", "--hwdec=no", self.config.rtsp_url, ] diff --git a/doorbell-viewport/tasks/main.yaml b/doorbell-viewport/tasks/main.yaml index 989111d..fa2b4da 100644 --- a/doorbell-viewport/tasks/main.yaml +++ b/doorbell-viewport/tasks/main.yaml @@ -10,6 +10,23 @@ groups: "video,input,render" append: "yes" +- name: allow doorbell-viewport user to control sysfs backlight + become: yes + copy: + dest: "/etc/udev/rules.d/99-doorbell-viewport-backlight.rules" + owner: "root" + group: "root" + mode: "0644" + content: | + SUBSYSTEM=="backlight", ACTION=="add", RUN+="/bin/chgrp video /sys/class/backlight/%k/brightness", RUN+="/bin/chmod g+w /sys/class/backlight/%k/brightness" + +- name: set backlight brightness writable by video group + become: yes + file: + path: "/sys/class/backlight/rpi_backlight/brightness" + group: "video" + mode: "0664" + - name: apt install doorbell-viewport dependencies become: yes apt: name="{{item}}" -- cgit v1.2.3