fe00027849
There is a bug in FastRPC when waking from suspend. Since HexagonRPCD is currently only useful for a few moments when the ADSP is requesting the sensor registry, it can just be stopped without affecting sensor support. Add a pre-suspend hook to stop HexagonRPCD so it doesn't crash the ADSP when the device wakes up. [ci:skip-build]: already built successfully in CI
90 lines
3.4 KiB
Text
90 lines
3.4 KiB
Text
# Reference: <https://postmarketos.org/devicepkg>
|
|
# Maintainer: Richard Acayan <mailingradian@gmail.com>
|
|
pkgname=device-google-sargo
|
|
pkgdesc="Google Pixel 3a"
|
|
pkgver=5
|
|
pkgrel=0
|
|
url="https://postmarketos.org"
|
|
license="MIT"
|
|
arch="aarch64"
|
|
options="!check !archcheck"
|
|
depends="
|
|
alsa-ucm-conf-qcom-sdm670
|
|
linux-postmarketos-qcom-sdm670
|
|
make-dynpart-mappings
|
|
mkbootimg
|
|
postmarketos-base
|
|
soc-qcom-sdm845
|
|
soc-qcom-sdm845-qbootctl
|
|
"
|
|
makedepends="devicepkg-dev"
|
|
source="
|
|
10-unl0kr-msm.conf
|
|
81-libssc-google-sargo.rules
|
|
90-feedbackd-drv2624.rules
|
|
deviceinfo
|
|
hexagonrpcd-adsp-sensorspd.confd
|
|
modules-initfs
|
|
no-hexagonrpcd-on-suspend.sh
|
|
q6voiced.conf
|
|
"
|
|
subpackages="$pkgname-nonfree-firmware:nonfree_firmware"
|
|
|
|
build() {
|
|
devicepkg_build $startdir $pkgname
|
|
}
|
|
|
|
package() {
|
|
devicepkg_package $startdir $pkgname
|
|
|
|
install -Dm644 "$srcdir"/90-feedbackd-drv2624.rules \
|
|
-t "$pkgdir"/usr/lib/udev/rules.d
|
|
install -Dm644 "$srcdir"/10-unl0kr-msm.conf \
|
|
"$pkgdir"/etc/unl0kr.conf.d/10-unl0kr-msm.conf
|
|
}
|
|
|
|
nonfree_firmware() {
|
|
pkgdesc="Proprietary firmware blobs for the Google Pixel 3a"
|
|
replaces="hexagonrpcd-openrc"
|
|
depends="
|
|
firmware-google-sargo
|
|
hexagonrpcd
|
|
linux-firmware-ath10k
|
|
linux-firmware-qca
|
|
linux-firmware-qcom
|
|
soc-qcom-sdm845-modem
|
|
soc-qcom-sdm845-nonfree-firmware
|
|
"
|
|
# Enable HexagonRPCD by default, but not if the user installed this
|
|
# package then disabled it.
|
|
install="
|
|
device-google-sargo-nonfree-firmware.post-install
|
|
"
|
|
|
|
# The q6voiced configuration can only be used if the ADSP is brought up
|
|
# via non-free firmware.
|
|
install -Dm644 "$srcdir"/q6voiced.conf "$subpkgdir"/etc/conf.d/q6voiced
|
|
|
|
# Sensors depend on ADSP firmware and the sensors registry served over FastRPC.
|
|
install -Dm644 "$srcdir"/hexagonrpcd-adsp-sensorspd.confd \
|
|
"$subpkgdir"/etc/conf.d/hexagonrpcd-adsp-sensorspd
|
|
|
|
# Sensors depend on ADSP firmware and the sensors registry served over FastRPC.
|
|
install -Dm644 "$srcdir"/81-libssc-google-sargo.rules \
|
|
"$subpkgdir"/usr/lib/udev/rules.d/81-libssc-google-sargo.rules
|
|
|
|
# The FastRPC service is only enabled when non-free firmware is installed.
|
|
install -Dm755 "$srcdir"/no-hexagonrpcd-on-suspend.sh \
|
|
"$subpkgdir"/etc/elogind/system-sleep/no-hexagonrpcd-on-suspend.sh
|
|
}
|
|
|
|
sha512sums="
|
|
f700af3145b79d1ef9edfb22982899b25cabfb212f9620dcbd3a2e6f44b5ad591e0a66056c6fcd66c3fde89a2b5f551e8a8fe2e65cf0e2a48adec57c027d7825 10-unl0kr-msm.conf
|
|
7fae1bae706d4117aade2462dac9aaba0d70215f5280bac89c3810df1eb94883ffdce5f81ff9f0dc39d27d6e56ca5476456866cfbd5b6e3f3e6e9048b758c51f 81-libssc-google-sargo.rules
|
|
016d398155f2344417f5e5649a361719ba6e53e593c501b5df39114cdd284302b9bf8686a39817aee0c08fec95b3ab613c181d6cc9596299aaf7fd05dbe0c3dd 90-feedbackd-drv2624.rules
|
|
8af19da4e4a4a59c49263722065229fae849c3273af313300b7ea1b8fe008c6e55cfd060b91909306dd600134e2494f740adda245707dbcff84b1ab2f37dbde7 deviceinfo
|
|
b6208c254b6e44ac4f6d748a38cc6b05da0db2c90235ada2011b138b82ccc3372687df2f5ad97e885e9eea135216a3c52266a08a7f4eb323e62e799f6f82ec7b hexagonrpcd-adsp-sensorspd.confd
|
|
3213a3586c25cef843a47e2446179ff73acad6421826a64bedb6b9800d30673503d0ea6b3fcc8cfbdcdcaf0926755a489323fce9d14d4411799e6988144b3518 modules-initfs
|
|
2972005a9cf6ca57061965075593dddfa8ee479bc6c21cd41851b1a14768cb1cddbd31a17975ae17adc36d40d294ccbc6bf83defbd69fc7b363f638d8564fbbc no-hexagonrpcd-on-suspend.sh
|
|
7f599f086dba97ac39ce98798969bc8e9c26dd3b062bb8f95852182df52814b70d49b701e27b43abeb3639b16ba053e416c14cf75e0bf4a9f2fe7c01fb0ac41c q6voiced.conf
|
|
"
|