No description
Find a file
Andreas Henriksson f069160e33 build: split install and install-data targets
This allows only installing the data files in case the build is done
separately (like for example when using debcargo/dh-cargo which uses
rustc --target option and thus the speakersafetyd ends up in a different
path which includes the target).

While at it also mark all targets as PHONY, since none of them are
backed by an actual file with the same name.

Signed-off-by: Andreas Henriksson <andreas@fatal.se>
2023-12-11 21:57:40 +10:00
conf/apple conf: j493: Fix volume control name 2023-12-11 21:52:51 +10:00
docs conf, audump: Add tempcos to speakers 2023-12-08 18:46:04 +09:00
src blackbox: Fix metadata dump iteration 2023-12-07 17:56:27 +09:00
testing Add testing scripts 2023-12-08 23:19:19 +09:00
.gitignore Add testing scripts 2023-12-08 23:19:19 +09:00
95-speakersafetyd.rules rules: Enable all the devices expected to work soon 2023-12-08 23:20:24 +09:00
Cargo.lock Bump to 0.1.6 2023-12-08 23:22:39 +09:00
Cargo.toml Bump to 0.1.6 2023-12-08 23:22:39 +09:00
LICENSE LICENSE: Remove year from copyright line 2023-10-30 18:59:41 +09:00
Makefile build: split install and install-data targets 2023-12-11 21:57:40 +10: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