No description
Find a file
Andreas Henriksson d77bdd7bc2 Install tmpfiles.d snippet to create blackbox
Create the variable content as needed instead of simply relying on
statically shipping it at initial install.
This is better aligned with the concepts of stateless systems, factory
reset, ostree, etc.

Signed-off-by: Andreas Henriksson <andreas@fatal.se>
2023-12-12 21:19:55 +10:00
conf/apple conf: j493: Fix volume control name 2023-12-11 21:52:51 +10:00
docs speakers.txt: Correct gain for j375 2023-12-11 22:27:18 +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.7 2023-12-11 22:19:06 +09:00
LICENSE LICENSE: Remove year from copyright line 2023-10-30 18:59:41 +09:00
Makefile Install tmpfiles.d snippet to create blackbox 2023-12-12 21:19:55 +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
speakersafetyd.tmpfiles Install tmpfiles.d snippet to create blackbox 2023-12-12 21:19:55 +10: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