pmaports/device/community/soc-qcom-sdm845/APKBUILD
Joel Selvaraj e95d28a6e7
community/soc-qcom-sdm845: update ucm confs and add call audio idle suspend workaround (MR 3639)
In SDM845, the q6voice kernel driver connects modem and audio backends.
Callaudiod seems to switch to correct audio device and prepares it, however, the audio
device get's closed since no one from the userspace is actively listening to it.
This cuts the audio in call. As a workaround, I have added to script to disable the
suspend-on-idle pulseaudio module during calls, so the audio devices don't close automatically.
2022-11-28 09:07:33 +01:00

101 lines
3.3 KiB
Text

# Maintainer: Caleb Connolly (kalube) <caleb@connolly.tech>
# Co-Maintainer: Joel Selvaraj <joelselvaraj.oss@gmail.com>
pkgname=soc-qcom-sdm845
pkgdesc="Common package for Qualcomm SDM845 devices"
pkgver=13
pkgrel=0
url="https://postmarketos.org"
license="BSD-3-Clause"
arch="aarch64"
options="!check !archcheck !tracedeps"
depends="
swclock-offset
"
replaces="upower"
subpackages="
$pkgname-nonfree-firmware:nonfree_firmware
$pkgname-qbootctl
$pkgname-ucm
$pkgname-vulkan
"
_ucm_commit="3cece34e28f0a04daec2cf39a7830dd8043f614b"
source="
alsa-ucm-conf-$_ucm_commit.tar.gz::https://gitlab.com/sdm845-mainline/alsa-ucm-conf/-/archive/$_ucm_commit/alsa-ucm-conf-$_ucm_commit.tar.gz
90-feedbackd-pmi8998.rules
modemmanager.conf
UPower.conf
call_audio_idle_suspend_workaround.sh
call_audio_idle_suspend_workaround.initd
"
package() {
mkdir -p "$pkgdir"
install -Dm644 "$srcdir"/90-feedbackd-pmi8998.rules \
"$pkgdir"/usr/lib/udev/rules.d/90-feedbackd-pmi8998.rules
# Shutdown when battery is critical instead of sleep
install -Dm644 "$srcdir"/UPower.conf \
"$pkgdir"/etc/UPower/UPower.conf
}
nonfree_firmware() {
pkgdesc="Modem, WiFi and GPU Firmware"
depends="
pd-mapper
pd-mapper-openrc
tqftpserv
tqftpserv-openrc
q6voiced
q6voiced-openrc
msm-modem
msm-modem-uim-selection
bootmac
alsa-utils
"
install="$subpkgname.post-install $subpkgname.post-upgrade"
mkdir "$subpkgdir"
install -Dm644 "$srcdir"/modemmanager.conf \
"$subpkgdir"/etc/conf.d/modemmanager
# Call Audio idle suspend workaround code
install -Dm755 "$srcdir"/call_audio_idle_suspend_workaround.sh \
"$subpkgdir"/usr/sbin/call_audio_idle_suspend_workaround
# Call Audio idle suspend workaround init script
install -Dm755 "$srcdir"/call_audio_idle_suspend_workaround.initd \
"$subpkgdir"/etc/init.d/call_audio_idle_suspend_workaround
}
ucm() {
provides="alsa-ucm-conf"
provider_priority=1
# install audio config files
mkdir -p "$subpkgdir"/usr/share/alsa/ucm2
cp -r "$srcdir/alsa-ucm-conf-$_ucm_commit"/ucm2 "$subpkgdir"/usr/share/alsa/
}
qbootctl() {
pkgdesc="Enable qbootctl mark-boot-successful service"
depends="qbootctl"
install="$subpkgname.post-install $subpkgname.post-upgrade"
mkdir "$subpkgdir"
}
vulkan() {
pkgdesc="Vulkan support for freedreno"
install_if="$pkgname vulkan-loader"
depends="mesa-vulkan-freedreno"
mkdir "$subpkgdir"
}
sha512sums="
22daa3477890d24b0410216cf483204dd6b35875bdc954c5092f8492ce389255d54aee4dbafe0cf1a2f7d08fd153364e18097391b3d8ceecd59ef2ef525bef02 alsa-ucm-conf-3cece34e28f0a04daec2cf39a7830dd8043f614b.tar.gz
4f2c22a3a3fc7d380e200ad977578107d81f0e7ade7918e03bdb15b60a564e8db5f47e13cce22f636d38fd3722696bb46076b8872dae0ca2d8a3838522a1f025 90-feedbackd-pmi8998.rules
e33f41360ccc4900bb76a26cc7b46bde1fb90facdf45c4fbcebc80499386939948401cacd6df9f779eafab10f4ee77ee1fef3e7bd06f483f8c2a4a644c84f327 modemmanager.conf
9d455b56558d453d501a1ad869ffa79f9952ed43485a9847d506db6a78bfcd9f9c9d855660ee1d368eb74f4429385ec166addc30d802261c75562e785fe84c52 UPower.conf
aa5cdb138a3cdd0b15d2bbb60c7f67ae0280ddc7d0488cfe2fc44680095a43c1cdacc54d70a689f2117538e9bf1e42758d8c3ac542c9cb8e8dc6d6f3161b7577 call_audio_idle_suspend_workaround.sh
1111d28b6e23163fb47fcfadc2ed3f83543ce0435c6be187a38d418cfe7821fe7905ac103969f3f7c115bd522d99c43efd52409835e292270a6ac9c34b5bee75 call_audio_idle_suspend_workaround.initd
"