Go to file
Hector Martin 60752494cd main: Trap SIGQUIT to trigger a blackbox
The signal_hook crate makes this easy, but unfortunately insists on
hardcoding SA_RESTART. So we have to then use libc directly to patch
that out...

Still worth using signal_hook for the atomic flag helper though.

Signed-off-by: Hector Martin <marcan@marcan.st>
2023-12-04 18:40:46 +09:00
conf/apple conf: apple: j415: fix typo 2023-11-25 14:21:06 +10:00
docs docs: Add audump.py and speakers.txt 2023-10-29 00:29:23 +09:00
src main: Trap SIGQUIT to trigger a blackbox 2023-12-04 18:40:46 +09:00
.gitignore initial commit 2022-12-02 13:54:41 +10:00
95-speakersafetyd.rules main, rules: Rename Jxxx to AppleJxxx 2023-12-04 17:24:31 +09:00
Cargo.lock main: Trap SIGQUIT to trigger a blackbox 2023-12-04 18:40:46 +09:00
Cargo.toml main: Trap SIGQUIT to trigger a blackbox 2023-12-04 18:40:46 +09:00
LICENSE LICENSE: Remove year from copyright line 2023-10-30 18:59:41 +09:00
Makefile Add Makefile 2023-10-30 18:59:01 +09:00
README.md Update README 2023-10-14 10:22:05 +09:00
speakersafetyd.service speakersafetyd.service: Enable blackbox & conservative threshold 2023-10-29 00:29:23 +09:00

Asahi Linux speaker safety daemon

IMPORTANT

This software is still pre-release and not fit for use or testing on user machines. Please do not ask for help with installing or using this software, the Pipewire configuration, or enabling speaker output on your machine. An announcement will be made when speaker support is ready for use.

Requirements

  • A patched eleven secret herbs and spices kernel

Todo list

  • Data structures representing a speaker element
  • Parsing machine-specific values from a config file
  • Logging
  • Mixer control data structures
  • Manipulating mixer controls
  • Retrieving V/ISENSE values
  • Model of voice coil/magnet temperatures
  • Ramping volume according to safety model
  • Tolerate multiple sample rates
  • Sleep reliably while playback has stopped
  • Kernel driver interlock
  • Packaging/distro-agnosticism