# Maintainer: Minecrell # Co-Maintainer: Nikita Travkin pkgname=soc-qcom-msm8916 pkgdesc="Common package for Qualcomm MSM8916 devices" pkgver=21 pkgrel=0 url="https://postmarketos.org" license="BSD-3-Clause" arch="aarch64 armv7" options="!check !archcheck !tracedeps pmb:cross-native" depends="$pkgname-ucm swclock-offset" subpackages=" $pkgname-gpu $pkgname-ucm $pkgname-rproc-none:rproc_none $pkgname-rproc-no-modem:rproc_no_modem $pkgname-rproc-all:rproc_all soc-samsung-msm8916-modem-workaround:samsung_modem_workaround " _ucm_commit="3deea2860ab680c3e790442dbdf578fef152e639" source="$pkgname-$_ucm_commit.tar.gz::https://github.com/msm8916-mainline/alsa-ucm-conf/archive/$_ucm_commit.tar.gz q6voiced.conf 77-modem-samsung-msm8916.rules 90-feedbackd-pm8916.rules adreno-a306-quirks.sh " package() { mkdir -p "$pkgdir" install -Dm644 "$srcdir"/90-feedbackd-pm8916.rules \ "$pkgdir"/usr/lib/udev/rules.d/90-feedbackd-pm8916.rules } # Upstream keeps making breaking changes to UCM in patch releases. # My last upstreaming efforts failed without ever getting a reply, # since then UCM was entirely reworked like 3 times already... # I don't want to fix this up every few months, so let's package a stable # version for now. Once all the UCM refactoring upstream has settled down a bit # we can investigate how to integrate it properly for upstreaming. ucm() { provides="alsa-ucm-conf" provider_priority=1 cd "$srcdir/alsa-ucm-conf-$_ucm_commit" mkdir -p "$subpkgdir"/usr/share/alsa cp -r ucm2 "$subpkgdir"/usr/share/alsa } rproc_none() { pkgdesc="Disable all remote processors (no WiFi/BT/modem, ~90 MiB more RAM)" provides="soc-qcom-msm8916-rproc=$pkgver-r$pkgrel" mkdir -p "$subpkgdir"/boot echo none > "$subpkgdir"/boot/lk2nd_rproc_mode } rproc_no_modem() { pkgdesc="Disable only modem (audio bypasses modem, ~80 MiB more RAM)" provides="soc-qcom-msm8916-rproc=$pkgver-r$pkgrel" provider_priority=50 mkdir -p "$subpkgdir"/boot echo no-modem > "$subpkgdir"/boot/lk2nd_rproc_mode } rproc_all() { pkgdesc="Enable all remote processors (audio goes through modem)" provides="soc-qcom-msm8916-rproc=$pkgver-r$pkgrel" provider_priority=100 depends="msm-modem msm-modem-uim-selection q6voiced" install="$subpkgname.post-install" replaces="soc-qcom-msm8916-modem" mkdir -p "$subpkgdir"/boot echo all > "$subpkgdir"/boot/lk2nd_rproc_mode install -Dm644 q6voiced.conf "$subpkgdir"/etc/conf.d/q6voiced } samsung_modem_workaround() { pkgdesc="Workaround for modem facility lock issue on some Samsung devices" depends="" install -Dm644 "$srcdir"/77-modem-samsung-msm8916.rules \ "$subpkgdir"/lib/udev/rules.d/77-modem-samsung-msm8916.rules } gpu() { pkgdesc="Various GPU workaround for Adreno a306" install_if="$pkgname=$pkgver-r$pkgrel mesa-dri-gallium" install -Dm755 "$srcdir"/adreno-a306-quirks.sh \ "$subpkgdir"/etc/profile.d/adreno-a306-quirks.sh } sha512sums=" eee73ae7895fb6772b35a190956d17642d08af47a0fa5dfd022052c5b30c99cf9649215aef161ddcc21fac236f2a1435ab906462c7458b4e99e405b6cb6ef5f8 soc-qcom-msm8916-3deea2860ab680c3e790442dbdf578fef152e639.tar.gz 3a4a9322839d4b3ef9d79668a37840a9f444954759ae3c512e694051d2f9a2573db42ad6c4c1a5c75eeb861232a27ba1a8cef9b503decd54ead25a96e3dd6f98 q6voiced.conf bcebc36ec62140f4620d462be2b95858adae380e5d74f6b9c9b956fb76a6541f39749f4dcec6ac3c39b868dbfed6fac7a34ba357510532a3df2d39f7ea818d55 77-modem-samsung-msm8916.rules 90fca4a3291a2c84c0b20e41308c4698374ba896e9365ca80dbfd0c0c4f7dc08317f3dd865a3c7f6707c81b02f5bb24136d1172253d2e4fdd50039bbbf02a178 90-feedbackd-pm8916.rules ff143f0f8654bba26087439e206b62c9f8e25f945fa299ba1b7504316f7398a0622404f2415e915ce1c96809ed9a5e93fc16ddcb2bafe410f35466510dc2d51d adreno-a306-quirks.sh "