pmaports/device/community/soc-qcom-msm8916/APKBUILD
Nikita Travkin 74cec4794b
community/soc-qcom-msm8916: Add a workarund for GTK4 (MR 4958)
GTK4 has switched to a new renderer. Unfortunately adreno a306 is
effectively abandoned in mesa and has many bugs which the new GTK
renderer now hits.

To allow us to still use GTK4 apps on the msm8916 based devices, force
the old renderer on them for now.

Fixes: #2681
[ci:skip-build]: already built successfully in CI
2024-03-22 17:46:22 +05:00

103 lines
3.7 KiB
Text

# Maintainer: Minecrell <minecrell@minecrell.net>
# Co-Maintainer: Nikita Travkin <nikita@trvn.ru>
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
"