Chromium: same page, same machine, idle, Firefox 24.2% of a core against Chromium's 11.4%. The build comes from archive.raspberrypi.com (a "+rpt" version) and is patched for this board's V3D GPU; Debian ships a much older chromium, so the archive matters. The whole userland here is 32-bit armhf on a 64-bit kernel, which Firefox handles worse than Chromium does. --use-gl=egl, --enable-gpu-rasterization, --ignore-gpu-blocklist and --enable-zero-copy are what keep rasterization on the GPU: Chromium's blocklist does not recognise this driver and silently falls back to software without them. pi_kiosk_browser: firefox still works, as the fallback if an update ever regresses. Debug mode also gains xdotool, scrot and --remote-debugging-port=9222 (on 127.0.0.1), because firing XTEST key events at a window lands about half the time and a benchmark you cannot verify the state of is worse than none. pi_squeezeserver gains an absent path, and mediapis.yml derives its state from mediapi_has_squeezeserver, which defaults to false for the whole group. false means "actively remove", not "skip": musicdolphin has been running a Logitech Media Server that no playbook installs and nothing talks to - every squeezelite in the fleet points at pi_squeezelite_squeezeserver (192.168.178.80, the server) - while costing ~30 MB resident and ~47 MB of swap on a 2 GB Pi that also drives the kiosk. The absent path stops it, purges the package, unregisters it from sysdweb, drops the port 80 -> 9000 redirect and deletes its database and logs. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
29 lines
880 B
YAML
29 lines
880 B
YAML
---
|
|
- name: Media Pis (squeezelite/shairport audio players)
|
|
hosts: mediapis
|
|
roles:
|
|
- unattended_upgrades
|
|
- pi_modern_shell_env
|
|
- pi_standard_setup
|
|
- role: pi_hifiberry_amp
|
|
when: mediapi_has_hifiberry_amp
|
|
- role: pi_musicmouse
|
|
when: mediapi_install_kidsmusic
|
|
- role: pi_kiosk
|
|
when: mediapi_has_monitor
|
|
- pi_squeezelite_custom
|
|
- role: pi_squeezeserver
|
|
vars:
|
|
pi_squeezeserver_state: "{{ 'present' if mediapi_has_squeezeserver else 'absent' }}"
|
|
- pi_shairport
|
|
- role: pi_irserver
|
|
when: mediapi_ir_control == 'irserver'
|
|
- role: pi_lirc
|
|
when: mediapi_ir_control == 'lirc'
|
|
- role: pi_dhtsensor
|
|
when: mediapi_has_dhtsensor
|
|
- role: pi_disable_onboard_bluetooth
|
|
when: mediapi_disable_onboard_bluetooth
|
|
- role: bluetooth_monitor
|
|
when: mediapi_install_bluetooth_monitor
|