Go to file
Hector Martin 4fb7fe7b41 main, rules: Rename Jxxx to AppleJxxx
This makes it more clear that we're matching against Apple machines. The
kernel driver will be updated to use this naming scheme. For backwards
compatibility, we add a rule to rename J313 at runtime (the only enabled
model at this time).

This update must be released together with a matching asahi-audio update
(but the kernel can come later).

Signed-off-by: Hector Martin <marcan@marcan.st>
2023-12-04 17:24:31 +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, rules: Rename Jxxx to AppleJxxx 2023-12-04 17:24:31 +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 blackbox: Add black-box debug functionality 2023-10-29 00:28:08 +09:00
Cargo.toml Bump to 0.1.4 2023-10-30 19:00:58 +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