diff --git a/extra-repos/systemd/systemd-services/APKBUILD b/extra-repos/systemd/systemd-services/APKBUILD
index bfa3d43e29f31724d7183ea71742c12122561e8a..773693de07a6d65b4c565763b1192c739a07966e 100644
--- a/extra-repos/systemd/systemd-services/APKBUILD
+++ b/extra-repos/systemd/systemd-services/APKBUILD
@@ -7,7 +7,7 @@
 # How to add a new service file (5 steps):
 pkgname=systemd-services
 # 1. bump pkgver
-pkgver=61
+pkgver=62
 pkgrel=0
 pkgdesc="Systemd service files"
 url="https://postmarketos.org"
@@ -20,6 +20,7 @@ license="BSD-3-Clause"
 #    of the package this service file should be part of
 #    ALPHABETICAL ORDER!!!
 subpackages="
+	alsa-utils-systemd:_service
 	apk-polkit-rs-systemd:_service
 	at-spi2-core-systemd:_service
 	baloo-systemd:_service
@@ -90,6 +91,7 @@ subpackages="
 "
 # 3. Add a new entry below with the list of service files
 #    to install for that package
+_alsa_utils_sources="system/alsa-restore.service system/alsa-state.service"  # Adapted from https://git.alsa-project.org/?p=alsa-utils.git;a=tree;f=alsactl
 _apk_polkit_rs_sources="system/apk-polkit-server.service"
 _at_spi2_core_sources="user/at-spi-dbus-bus.service"
 _baloo_sources="user/kde-baloo.service"
@@ -200,6 +202,7 @@ flatpath() {
 
 # 4. Add the _sources variable to the list below
 source="$(flatpath \
+	$_alsa_utils_sources \
 	$_apk_polkit_rs_sources \
 	$_at_spi2_core_sources \
 	$_baloo_sources \
@@ -272,6 +275,7 @@ source="$(flatpath \
 # 5. Add any *system* or *user* unit files that should be passed to 'systemctl
 # preset'. Variables with *system* unit files should use "_system_presets" and
 # variables with *user* unit files should use "_user_presets".
+_alsa_utils_system_presets="alsa-restore.service alsa-state.service"
 _apk_polkit_rs_system_presets="apk-polkit-server.service"
 _bluez_system_presets="bluetooth.service"
 _connman_system_presets="connman-wait-online.service"
@@ -361,6 +365,8 @@ package() {
 }
 
 sha512sums="
+99279e69962225e4b1888d202bffaa68263a3ffb8ab8ebb95069eb756de330c2a08307c9426ffb58733b3a000ef388bb041956cb219f239db2e6e65360983b0c  system-alsa-restore.service
+7f79adb7d523408d841d78016b86ceee1fba06fecc70ca0e4cbdf348a09ed19b9cbb9051e0457f7c52db208e4d86d2471bc4a697fec8e7e5070c01e2a0b4dfcc  system-alsa-state.service
 269dfc4748a9f1c4f49be8bab399d7412b6ff3b6d6ed9b3f2e31074b791789fb39aad450b4d43d318e7a070d1118ba79f216782b064cd106feac3eb4a8ca5581  system-apk-polkit-server.service
 12f5e008b0a41b3426b29f33556689ef88ba7184293ddb78fdaaf05cc4d029fd0b4c8fbef668aefed103a9f48c525f04a8e4e60ddc6e4329698aaf761b8e8f81  user-at-spi-dbus-bus.service
 c68f0c9f09f3e26a5d317792177057bbcfd83f7cd9c57b235325a836cf01c83abd4c0ab0088b2f3777d85497f35d25b1498ac5d29b717d3f5c0f0651ef1b6054  user-kde-baloo.service
diff --git a/extra-repos/systemd/systemd-services/system-alsa-restore.service b/extra-repos/systemd/systemd-services/system-alsa-restore.service
new file mode 100644
index 0000000000000000000000000000000000000000..f31026cb960379410aeb82a2941fb83738bf1cc9
--- /dev/null
+++ b/extra-repos/systemd/systemd-services/system-alsa-restore.service
@@ -0,0 +1,18 @@
+#
+# Note that two different ALSA card state management schemes exist and they
+# can be switched using a file exist check - /etc/alsa/state-daemon.conf .
+#
+
+[Unit]
+Description=Save/Restore Sound Card State
+ConditionPathExists=!/etc/alsa/state-daemon.conf
+ConditionPathExistsGlob=/dev/snd/control*
+
+[Service]
+Type=oneshot
+RemainAfterExit=true
+ExecStart=-/usr/sbin/alsactl restore
+ExecStop=-/usr/sbin/alsactl store
+
+[Install]
+WantedBy=sound.target
diff --git a/extra-repos/systemd/systemd-services/system-alsa-state.service b/extra-repos/systemd/systemd-services/system-alsa-state.service
new file mode 100644
index 0000000000000000000000000000000000000000..cb98f1e5349919e3dc65e160a2d9ffcc37266670
--- /dev/null
+++ b/extra-repos/systemd/systemd-services/system-alsa-state.service
@@ -0,0 +1,16 @@
+#
+# Note that two different ALSA card state management schemes exist and they
+# can be switched using a file exist check - /etc/alsa/state-daemon.conf .
+#
+
+[Unit]
+Description=Manage Sound Card State (restore and store)
+ConditionPathExists=/etc/alsa/state-daemon.conf
+
+[Service]
+Type=simple
+ExecStart=-/usr/sbin/alsactl -s -n 19 -c rdaemon
+ExecStop=-/usr/sbin/alsactl -s kill save_and_quit
+
+[Install]
+WantedBy=sound.target