diff options
| author | Luke Hoersten <[email protected]> | 2026-04-12 13:48:06 -0500 |
|---|---|---|
| committer | Luke Hoersten <[email protected]> | 2026-04-12 13:48:06 -0500 |
| commit | 9f8fa6bd4af9dc3b56efcf5de8c175d41b60923d (patch) | |
| tree | 3b9a2699a81f407f766bd78e0177d8fffb69d007 | |
| parent | 1298d68bb9bc33b84a70e4c9c27c806d8a0748c9 (diff) | |
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)
| -rw-r--r-- | doorbell-viewport/files/doorbell-viewport.py | 5 | ||||
| -rw-r--r-- | 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}}" |
