Skip to content
Snippets Groups Projects
Unverified Commit d1143376 authored by Pan Ortiz's avatar Pan Ortiz Committed by Pablo Correa Gomez
Browse files

device-xiaomi-nabu: Remove subpackages and hexagonrpcd to simplify the package (MR 6317)

As recommended on matrix, there is no need to keep everything in subpackages,
so they are being removed. Also, hexagonrpcd is being removed as it
doesn't work on this device’s soc yet.

Part-of: postmarketOS/pmaports!6317

[ci:skip-build]: already built successfully in CI
parent 1d87d02c
No related branches found
No related tags found
1 merge request!6317Drop firmware-xiaomi-nabu and simplify/improve device-xiaomi-nabu
Pipeline #217537 passed
/lib/firmware/qcom/a630_sqe.fw
/lib/firmware/qcom/a640_gmu.bin
/lib/firmware/qcom/sm8150/xiaomi/nabu/a640_zap.mbn
\ No newline at end of file
# iio-sensor-proxy with libssc: accelerometer mount matrix
SUBSYSTEM=="misc", KERNEL=="fastrpc-*", ENV{ACCEL_MOUNT_MATRIX}+="-1, 0, 0; 0, -1, 0; 0, 0, -1"
# Be compatible with the fix to CVE 2024-41024.
SUBSYSTEM=="misc", KERNEL=="fastrpc-sdsp-secure", SYMLINK="fastrpc-sdsp"
......@@ -2,40 +2,46 @@
# Maintainer: Pan Ortiz <panjeoc@proton.me>
pkgname=device-xiaomi-nabu
pkgdesc="Xiaomi Pad 5"
pkgver=3
pkgver=4
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
options="!check !archcheck"
depends="
alsa-ucm-conf
linux-firmware-ath10k
linux-firmware-qcom
linux-firmware-qca
linux-postmarketos-qcom-sm8150
hexagonrpcd>=0.3.2-r3
make-dynpart-mappings
mesa-vulkan-freedreno
mkbootimg
msm-firmware-loader
msm-modem
postmarketos-base
postmarketos-base-ui-audio-pipewire
qbootctl
swclock-offset
tqftpserv
"
makedepends="devicepkg-dev"
replaces="alsa-ucm-conf"
_commit="b17a3ce0f08871f1c4553351b2f64b2c6969cd5c"
builddir="$srcdir/nabu-firmware-$_commit"
# nabu-firwmare is temporary a640 is not packaged yet
source="
deviceinfo
30-gpu-firmware.files
XiaomiPad5.conf
HiFi.conf
pulse-xiaomi_nabu.conf
nabu.pa
hexagonrpcd.confd
81-libssc-xiaomi-nabu.rules
no-hexagonrpcd-on-suspend.sh
89-xiaomi_nabu.conf
XiaomiPad5.conf
deviceinfo
30-gpu-firmware.files
https://gitlab.postmarketos.org/panpanpanpan/nabu-firmware/-/archive/$_commit/nabu-firmware-main.tar.gz
"
subpackages="
$pkgname-nonfree-firmware:nonfree_firmware
$pkgname-nonfree-firmware-openrc:nonfree_firmware_openrc
$pkgname-mainline-firmware:mainline_firmware
$pkgname-alsa:alsa
$pkgname-pulseaudio:pulseaudio
$pkgname-openrc
"
build() {
......@@ -44,75 +50,47 @@ build() {
package() {
devicepkg_package $startdir $pkgname
install -Dm644 "$srcdir"/81-libssc-xiaomi-nabu.rules \
"$pkgdir"/usr/lib/udev/rules.d/81-libssc-xiaomi-nabu.rules
}
mainline_firmware() {
pkgdesc="Firmware support packages for mainline kernel"
depends="firmware-xiaomi-nabu-adreno"
install_if="linux-postmarketos-qcom-sm8150 $pkgname-nonfree-firmware"
mkdir "$subpkgdir"
install -Dm64 "$srcdir/30-gpu-firmware.files" \
"$subpkgdir/usr/share/mkinitfs/files/30-gpu-firmware.files"
}
install -Dm644 "$srcdir/XiaomiPad5.conf" -c \
"$pkgdir/usr/share/alsa/ucm2/conf.d/sm8150/Xiaomi Pad 5.conf"
nonfree_firmware() {
pkgdesc="Firmware for GPU, Touschreen, Audio, Bluetooth, WiFi, etc."
depends="
firmware-xiaomi-nabu-adreno
firmware-xiaomi-nabu-adsp
firmware-xiaomi-nabu-cdsp
firmware-xiaomi-nabu-cirrus
firmware-xiaomi-nabu-modem
firmware-xiaomi-nabu-wlan
firmware-xiaomi-nabu-hexagonfs
firmware-xiaomi-nabu-slpi
firmware-xiaomi-nabu-venus
firmware-xiaomi-nabu-touchscreen
linux-firmware-qca
msm-modem
hexagonrpcd
tqftpserv
"
install -Dm644 "$srcdir"/hexagonrpcd.confd \
"$subpkgdir"/usr/share/hexagonrpcd/hexagonrpcd-sdsp.conf
}
install -Dm644 "$srcdir"/89-xiaomi_nabu.conf -t \
"$pkgdir"/etc/pulse/daemon.conf.d
nonfree_firmware_openrc() {
install_if="$pkgname-nonfree-firmware=$pkgver-r$pkgrel openrc"
install="$subpkgname.post-install"
depends="hexagonrpcd-openrc"
install -Dm755 "$srcdir"/no-hexagonrpcd-on-suspend.sh \
"$subpkgdir"/etc/elogind/system-sleep/no-hexagonrpcd-on-suspend.sh
}
install -Dm644 "$srcdir"/nabu.pa -t \
"$pkgdir"/etc/pulse/default.pa.d
install -Dm644 "$srcdir"/HiFi.conf -t \
"$pkgdir"/usr/share/alsa/ucm2/Xiaomi/nabu
install -Dm64 "$srcdir"/30-gpu-firmware.files -t \
"$pkgdir"/usr/share/mkinitfs/files
alsa() {
pkgdesc="Audio configuration files"
depends="alsa-ucm-conf"
install_if="linux-postmarketos-qcom-sm8150 $pkgname-nonfree-firmware"
mkdir "$subpkgdir"
install -Dm644 "$srcdir/XiaomiPad5.conf" "$subpkgdir/usr/share/alsa/ucm2/conf.d/sm8150/Xiaomi Pad 5.conf"
install -Dm644 "$srcdir/HiFi.conf" "$subpkgdir/usr/share/alsa/ucm2/Xiaomi/nabu/HiFi.conf"
# This is temporary, a640 firmware is not packaged yet
install -Dm644 "$builddir"/a640_gmu.bin -t \
"$pkgdir/lib/firmware/qcom/"
# There were problems while loading this dynamically, hopefully i'll fix this before moving to a generic package package
install -Dm644 "$builddir"/novatek_nt36523_fw.bin -t \
"$pkgdir/lib/firmware/novatek/"
}
pulseaudio() {
pkgdesc="Pulseaudio configuration files"
depends="pulseaudio"
install_if="linux-postmarketos-qcom-sm8150 $pkgname-nonfree-firmware"
mkdir "$subpkgdir"
install -Dm644 "$srcdir/pulse-xiaomi_nabu.conf" "$subpkgdir/etc/pulse/daemon.conf.d/89-xiaomi_nabu.conf"
install -Dm644 "$srcdir/nabu.pa" "$subpkgdir/etc/pulse/default.pa.d/nabu.pa"
openrc() {
install_if="$pkgname=$pkgver-r$pkgrel openrc"
install="$subpkgname.post-install"
depends="
qbootctl-openrc
tqftpserv-openrc
"
mkdir -p "$subpkgdir"
}
sha512sums="
cc3bdbf0be335ce932f45147fc60db251228f765024391015582fb98b2a31189827ab9f88fc92483077e62e6a5b11b772ffa2967ce40604442bc212f2e83f922 deviceinfo
ed5788faaa0b70b0fd1d7702ce9e1991749aae4226ae1aac12c73c705541880c8fd7715b3da1abbdb8b0e469081744e92822e0ec3f56ad0160405a6fdfac5806 30-gpu-firmware.files
7b0b16f02b59b74cef7d82ae4e33f8d0c4ea12515824abb3392891eb75c365d19efec685f6f6248b7fec1e2698caca741bba01687673914d0f9de188444e0b37 XiaomiPad5.conf
2f493f47aa0fc421a467fd16e878f2a40963111a4581fd0ceb9606c9c529ed017cb29045961780d9785afe1fcc8aa476b6c954dabbf63b8b2309e686476f5036 HiFi.conf
02e2600514fc29ab83d056ada3d1fb0b8a598dc47c9848aebdeef3f0f67bb78cd45c5b23d3158fb3a0826f47061161bbc7ee8cd9ac5c408c1de37cdbe5d8e9ba pulse-xiaomi_nabu.conf
d66d6f2129f8aef4449137a1506fb3b3a1275c98502238537ac4dd0c174145706bac971e7e100d3599c9b8aa9c62319c302884d39aad5ba99c9bdcbe1e54bc23 nabu.pa
76c563e54842b46ce534e04f3d4838ec75c5a86a850ffaf423902be3db77fbf1bcb3aaf1534bce5b6ae60fe99630b2db1a5389a7dcc185bf5d84a7e4a20d95fc hexagonrpcd.confd
8b36861501e089a2e60deae27f56b58496ffef49e91677cf61b404abc2bf77fb0325c897b513a0d3962a0d3436b250e4408daf67b7dd6640bc0e0a1031d3a2d4 81-libssc-xiaomi-nabu.rules
0795934d0d572e5785051b89acd5dc7aa36831121424c330886e8068c8709ec6a2477b6b63b54cac10f344511271fe617f8240b7bcfde3297129b3b21198fffb no-hexagonrpcd-on-suspend.sh
02e2600514fc29ab83d056ada3d1fb0b8a598dc47c9848aebdeef3f0f67bb78cd45c5b23d3158fb3a0826f47061161bbc7ee8cd9ac5c408c1de37cdbe5d8e9ba 89-xiaomi_nabu.conf
7b0b16f02b59b74cef7d82ae4e33f8d0c4ea12515824abb3392891eb75c365d19efec685f6f6248b7fec1e2698caca741bba01687673914d0f9de188444e0b37 XiaomiPad5.conf
cc3bdbf0be335ce932f45147fc60db251228f765024391015582fb98b2a31189827ab9f88fc92483077e62e6a5b11b772ffa2967ce40604442bc212f2e83f922 deviceinfo
755e266b66ca6b1ef1f7d90ed00da5ea8845113d906218123f8157893af31aaa0301fcf16be37482455e134ac07bf4d614656ea34091a921a7867e5d918aa456 30-gpu-firmware.files
4cff180e0c765dd8d7c9b643699a685ec1394dbbca6420ca21ae4da005320f9aaade033fa5a348111457c7a141b2abc1112abee06d9d6f14f573ed78344587ac nabu-firmware-main.tar.gz
"
#!/bin/sh
rc-update add tqftpserv boot
rc-update add hexagonrpcd-sdsp default
rc-update add qbootctl
# Xiaomi Mi Pad 5 specific hexagonrpcd firmware directory
hexagonrpcd_fw_dir="/usr/share/qcom/sm8150/xiaomi/nabu/"
#!/bin/sh
if [ "$1" = "pre" ]
then
# If HexagonRPCD listens for a remote method call while the device is
# waking up, the DSP may crash. Assume that HexagonRPCD has fulfilled
# all incoming remote method invocations, and stop it.
rc-service hexagonrpcd-sdsp stop
fi
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment