bc80e34b61
PulseAudio crashes on startup and the fix [^1] has been sitting unmerged for many weeks despite pings. PipeWire works fine, so this change forces it to be used. PW works fine for Phosh and SXMO at least (with one exception [^2]), and long term we want to switch from PA to PW anyway, so this just hastens that switch. Fixes #2968 --- [^1]: https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/68586 [^2]: On Phosh, using pw-pulse causes the volume slider in the top pulldown panel to not work sometimes. This will likely be fixed in the systemd branch once pw-pulse is started via socket activation, since it is likely a race between phosh connecting to the pw-pulse socket and pw-pulse binding it.
282 lines
10 KiB
Text
282 lines
10 KiB
Text
# Reference: <https://postmarketos.org/devicepkg>
|
|
# Maintainer: Arnav Singh <me@arnavion.dev>
|
|
# Co-Maintainer: Jan Jasper de Kroon <jajadekroon@gmail.com>
|
|
pkgname=device-pine64-pinephone
|
|
pkgver=3
|
|
pkgrel=4
|
|
pkgdesc="PINE64 PinePhone"
|
|
url="https://postmarketos.org"
|
|
license="MIT"
|
|
arch="aarch64"
|
|
options="!check !archcheck"
|
|
subpackages="
|
|
$pkgname-camera
|
|
$pkgname-gnome
|
|
$pkgname-kirigami:kirigami
|
|
$pkgname-nonfree-firmware:nonfree_firmware
|
|
$pkgname-openrc
|
|
$pkgname-plasma-mobile:plasma_mobile
|
|
$pkgname-sensorfw
|
|
$pkgname-shelli
|
|
$pkgname-upower
|
|
$pkgname-vccq-mod:vccq_mod
|
|
$pkgname-sway
|
|
$pkgname-x11
|
|
"
|
|
depends="
|
|
alsa-ucm-conf>=1.2.6.2
|
|
atinout
|
|
eg25-manager
|
|
eg25-manager-openrc
|
|
iw
|
|
linux-postmarketos-allwinner>=5.14
|
|
mesa-egl
|
|
pinephone-callaudiod
|
|
postmarketos-base
|
|
postmarketos-base-ui-audio-pipewire
|
|
u-boot-pinephone>=2021.01_git20201228-r2
|
|
u-boot-tools
|
|
fwupd>=1.8.6
|
|
"
|
|
# FIXME: use upstream alsa-ucm-conf instead, once it works the same (pma#2115)
|
|
replaces="alsa-ucm-conf"
|
|
makedepends="devicepkg-dev dtc"
|
|
install="$pkgname.pre-upgrade"
|
|
source="
|
|
00_alsa_pinephone_dshare.conf
|
|
10-pinephone-proximity.rules
|
|
50_sleep.gschema.override
|
|
51_keyboard.gschema.override
|
|
60-flashlight.rules
|
|
70-wifi-pm.rules
|
|
90-modem-eg25.rules
|
|
90-modem-eg25-openrc.rules
|
|
UPower.conf
|
|
deviceinfo
|
|
modules-initfs
|
|
hwtest.ini
|
|
kirigami-lowpower.sh
|
|
kxkbrc
|
|
modemmanager.conf
|
|
pinephone-vccq-mod.dts
|
|
pulse-pinephone.conf
|
|
sensorfw/90-pinephone.conf
|
|
setup-modem.sh
|
|
sun50i-a64-psci.dts
|
|
uboot-script.cmd
|
|
uboot-user.cmd
|
|
ucm/HiFi.conf
|
|
ucm/PinePhone.conf
|
|
ucm/VoiceCall.conf
|
|
ppkb.sh
|
|
sway-pinephone-keyboard.conf
|
|
x11-pinephone-keyboard.conf
|
|
"
|
|
# workaround to purge the -elogind subpackage that was previously
|
|
# created/installed
|
|
provides="$pkgname-elogind=$pkgver-r$pkgrel"
|
|
_pmb_recommends="$pkgname-nonfree-firmware"
|
|
|
|
build() {
|
|
devicepkg_build $startdir $pkgname
|
|
mkimage \
|
|
-A arm \
|
|
-O linux \
|
|
-T script \
|
|
-C none \
|
|
-a 0 \
|
|
-e 0 \
|
|
-n postmarketos \
|
|
-d "$srcdir"/uboot-script.cmd \
|
|
"$srcdir"/boot.scr
|
|
# Build user U-boot script for vccq-mod
|
|
mkimage \
|
|
-A arm \
|
|
-O linux \
|
|
-T script \
|
|
-C none \
|
|
-a 0 \
|
|
-e 0 \
|
|
-n postmarketos-user \
|
|
-d "$srcdir"/uboot-user.cmd \
|
|
"$srcdir"/user.scr
|
|
# Build Device Tree Overlay for vccq-mod
|
|
dtc \
|
|
-@ \
|
|
-I dts \
|
|
-O dtb \
|
|
-o "$srcdir"/pinephone-vccq-mod.dtbo \
|
|
"$srcdir"/pinephone-vccq-mod.dts
|
|
# Build Device Tree Overlay for psci cpu
|
|
dtc \
|
|
-@ \
|
|
-I dts \
|
|
-O dtb \
|
|
-o "$srcdir"/sun50i-a64-psci.dtbo \
|
|
"$srcdir"/sun50i-a64-psci.dts
|
|
}
|
|
|
|
package() {
|
|
devicepkg_package $startdir $pkgname
|
|
install -Dm644 "$srcdir"/boot.scr \
|
|
"$pkgdir"/boot/boot.scr
|
|
|
|
install -Dm644 "$srcdir"/sun50i-a64-psci.dtbo \
|
|
"$pkgdir"/boot/sun50i-a64-psci.dtbo
|
|
|
|
# Make /boot/allwinner/sun50i-a64-pine64-pinephone*.dtb resolve to
|
|
# /boot/sun50i-a64-pine64-pinephone*.dtb. This is because the device tree
|
|
# names in u-boot include the vendor and the one in postmarketOS doesn't.
|
|
ln -s .. "$pkgdir"/boot/allwinner
|
|
|
|
install -Dm644 "$srcdir"/hwtest.ini \
|
|
"$pkgdir"/usr/share/hwtest.ini
|
|
|
|
install -D -m644 "$srcdir"/10-pinephone-proximity.rules \
|
|
"$pkgdir"/usr/lib/udev/rules.d/10-pinephone-proximity.rules
|
|
install -Dm644 "$srcdir"/60-flashlight.rules -t "$pkgdir"/usr/lib/udev/rules.d/
|
|
|
|
# Alsa usecase manager config
|
|
install -Dm644 -t "$pkgdir"/usr/share/alsa/ucm2/PinePhone \
|
|
"$srcdir"/HiFi.conf \
|
|
"$srcdir"/PinePhone.conf \
|
|
"$srcdir"/VoiceCall.conf
|
|
mkdir -p "$pkgdir"/usr/share/alsa/ucm2/conf.d/simple-card
|
|
ln -s /usr/share/alsa/ucm2/PinePhone/PinePhone.conf \
|
|
"$pkgdir"/usr/share/alsa/ucm2/conf.d/simple-card/PinePhone.conf
|
|
|
|
# Pulseaudio config
|
|
install -Dm644 "$srcdir"/pulse-pinephone.conf \
|
|
"$pkgdir"/etc/pulse/daemon.conf.d/89-pinephone.conf
|
|
|
|
# Modem
|
|
install -Dm755 "$srcdir"/setup-modem.sh \
|
|
"$pkgdir"/usr/bin/pinephone_setup-modem
|
|
install -Dm644 "$srcdir"/90-modem-eg25.rules -t \
|
|
"$pkgdir"/usr/lib/udev/rules.d/
|
|
install -Dm644 "$srcdir"/modemmanager.conf \
|
|
"$pkgdir"/etc/conf.d/modemmanager
|
|
|
|
# Wifi / PM
|
|
install -Dm644 "$srcdir"/70-wifi-pm.rules -t \
|
|
"$pkgdir"/usr/lib/udev/rules.d/
|
|
|
|
# Keyboard config
|
|
install -Dm755 "$srcdir"/ppkb.sh "$pkgdir"/etc/profile.d/ppkb.sh
|
|
}
|
|
|
|
nonfree_firmware() {
|
|
pkgdesc="Wifi, Bluetooth and Autofocus firmware"
|
|
depends="
|
|
linux-firmware-rtlwifi
|
|
linux-firmware-rtl_bt
|
|
firmware-pine64-rtl8723bt
|
|
firmware-pine64-ov5640
|
|
"
|
|
mkdir "$subpkgdir"
|
|
}
|
|
|
|
openrc() {
|
|
install_if="$pkgname=$pkgver-r$pkgrel eg25-manager-openrc"
|
|
install="$subpkgname.post-install $subpkgname.post-upgrade"
|
|
depends="eg25-manager-openrc"
|
|
install -Dm644 "$srcdir"/90-modem-eg25-openrc.rules -t \
|
|
"$subpkgdir"/usr/lib/udev/rules.d/
|
|
}
|
|
|
|
camera() {
|
|
install_if="$pkgname=$pkgver-r$pkgrel postmarketos-default-camera"
|
|
depends="megapixels"
|
|
mkdir -p "$subpkgdir"
|
|
}
|
|
|
|
kirigami() {
|
|
install_if="$pkgname=$pkgver-r$pkgrel kirigami2"
|
|
install -Dm644 "$srcdir"/kirigami-lowpower.sh "$subpkgdir"/etc/profile.d/kirigami-lowpower.sh
|
|
}
|
|
|
|
gnome() {
|
|
install_if="$pkgname=$pkgver-r$pkgrel gnome-control-center"
|
|
install -Dm644 "$srcdir"/50_sleep.gschema.override \
|
|
"$subpkgdir"/usr/share/glib-2.0/schemas/50_sleep.gschema.override
|
|
install -Dm644 "$srcdir"/51_keyboard.gschema.override -t \
|
|
"$subpkgdir"/usr/share/glib-2.0/schemas
|
|
}
|
|
|
|
plasma_mobile() {
|
|
install_if="$pkgname=$pkgver-r$pkgrel postmarketos-ui-plasma-mobile"
|
|
install -Dm644 "$srcdir"/kxkbrc -t "$subpkgdir"/etc/xdg
|
|
}
|
|
|
|
upower() {
|
|
install_if="$pkgname=$pkgver-r$pkgrel upower"
|
|
replaces="upower"
|
|
|
|
# Shutdown when PMIC reports critical battery level
|
|
install -Dm644 "$srcdir"/UPower.conf \
|
|
"$subpkgdir"/etc/UPower/UPower.conf
|
|
}
|
|
|
|
shelli() {
|
|
install_if="$pkgname=$pkgver-r$pkgrel shelli"
|
|
|
|
# Alsa default audio must be stereo
|
|
install -Dm644 "$srcdir"/00_alsa_pinephone_dshare.conf \
|
|
"$subpkgdir"/etc/alsa/conf.d/00_alsa_pinephone_dshare.conf
|
|
}
|
|
|
|
vccq_mod() {
|
|
pkgdesc="Install only if you have done the Vccq hardware mod https://postmarketos.org/pp-vccq-mod"
|
|
install -Dm644 "$srcdir"/user.scr \
|
|
"$subpkgdir"/boot/user.scr
|
|
install -Dm644 "$srcdir"/pinephone-vccq-mod.dtbo \
|
|
"$subpkgdir"/boot/pinephone-vccq-mod.dtbo
|
|
}
|
|
|
|
sensorfw() {
|
|
install_if="$pkgname=$pkgver-r$pkgrel sensorfw"
|
|
|
|
install -Dm644 -t "$subpkgdir"/etc/sensorfw/sensord.conf.d \
|
|
"$srcdir"/90-pinephone.conf
|
|
}
|
|
sway() {
|
|
install_if="$pkgname=$pkgver-r$pkgrel sway"
|
|
install -Dm644 "$srcdir"/sway-pinephone-keyboard.conf \
|
|
"$subpkgdir"/etc/sway/config.d/pinephone_keyboard.conf
|
|
}
|
|
|
|
x11() {
|
|
install_if="$pkgname=$pkgver-r$pkgrel xorg-server"
|
|
install -Dm644 "$srcdir"/x11-pinephone-keyboard.conf \
|
|
"$subpkgdir"/etc/X11/xorg.conf.d/pinephone-keyboard.conf
|
|
}
|
|
sha512sums="
|
|
5736444fd38ab4351d148ae96c479085f469bd1e51a692fb1827f8ac921a584389f7696985e1fba21c2deac88709910531f4ece282f45ff54e590c2b54b84ba3 00_alsa_pinephone_dshare.conf
|
|
b53cc6f2531854cc9c1e4c334185a20551d64c8675ee8a8eaa03b99d80808fad421a0f6e99e5be212a974d88c85f461a71ba59ac59c29f298c82f211e3be1ef4 10-pinephone-proximity.rules
|
|
bac664c504d9a3adc6e3d25f24ac63cf7c449a82374544a5b56c259dc25af580897b9dc992865ac83f854f95d17c439b7deb47bfb9557aabcb2e80c3942e22be 50_sleep.gschema.override
|
|
2d68ffe143f633a86670f30e45dbad1cc313f219f22b7cd3319ab44bb7209c20cb29f2ff2c60c92390154af9c9a6815c4186be555364cf31552005eba024c0e7 51_keyboard.gschema.override
|
|
9170da7ac869254644f2fc8d914102f2c16e917dbeb53e33b96c76936711d0540f55fa5c2526d73d5fe244500bc2728bc9d629e2524cf52c573d11e833aee666 60-flashlight.rules
|
|
8b6fa7b12c15f439c561901f3ffe24a1ef2a0c343401c0a79281060854ab29e08a1fb5e7adae8684b12aa9f535ed99e2dad993dce9724822cb0fbf2497dd86e5 70-wifi-pm.rules
|
|
7dc2b7c20b4a2b15f597a6417bd01797643dad84a3683b0dee648e030fb6326e9d020307643fdcdf1bb43fc44af9975697e417003bd359610bae2d8ce614fc00 90-modem-eg25.rules
|
|
c6d9b65100072687df11ed2231edf3a007a6a54941e321fc5416131e881291eaf5853a4f6f7819510c460adcc487fce59bfd4eeb001363ddc87cae7ef85e3e98 90-modem-eg25-openrc.rules
|
|
ed0e03f7e1c0348c06be9a7922414469245604ce813bbf0c8910ef211cb993bbb0d0d4615c9c961d50712415f85d6b73e0cf02780ac784666aac56e4889341e4 UPower.conf
|
|
87751806329118272bc887691a0d5b588fa7a601fb048594785032a661b7e48a86c9d97f8bfa99edf247051a81799f2e628e5bf7c129cf2919c2abf0c146e031 deviceinfo
|
|
218d1361622418a0f79bd661a601baf586aec3995cf32304399b47664caf92bac006466ae1e59afa90f6ab4b9ed6acd16147a696fffd0dcab2492e2428ecc0b0 modules-initfs
|
|
3dd6d612c381cb0002049d1974d8fb5aa5a53a1eb4d6bcbf62eb2ad52cfdc45f0f6ad24a699716d3513b0371aa1316f25dc72afc10d7176cc3b99d0965c3f030 hwtest.ini
|
|
6bc22b369b2d9058b702ac7a7862abaefaf8179b43491868bdb008d181b59104f1ded89db1da51a810e1ccdc803a579b924a438674283a65afc3a9c4d2894caf kirigami-lowpower.sh
|
|
03d547ece68445579352d0419bf16a43ca1c567c1b0b14a977982cc8adddd34f1f8e8691465f1420091a5d33fa50daaefcee404d9d4b89e7598c4ad43a72469e kxkbrc
|
|
c5006c38828eb519917d57756f7831c4552feffef2d4922a384073f6a551535f615ad397d784e313818e0b943e1f6212bcca0aff9ce37da60b29547b1631f24b modemmanager.conf
|
|
d66ecef1fa5481ff138fe4e12b194903ceacab9d0649e716049f32e56ec6d9be09b97e2ff769ebc5c9fbced542986b9214f47ed14511ad761d80a41b19e02df7 pinephone-vccq-mod.dts
|
|
9c472065b19141dd4c7555869b955de2e679b36e597f9fa3bdac18d0e9460986b0e2fffe1e04751301305f1b6474c1375803afb7d6212eeae91b4905d0bf8ff8 pulse-pinephone.conf
|
|
967e3a43c7e91ed37fc932a7c580cd168ca11d8ec7f60ff60ece7f286e5144f27faead95162fa7d571a2317ed0da970fd86f5bc9ed0235a25c0be9182d42d64d 90-pinephone.conf
|
|
420ee1d7522d4d56c2909580fd6ba7580483ca5455b13eb6d22e700063ce0c1a5c6d2f5b161dfce0d777636fe9a712aa82f38a0585f2feabea3785b02bae7515 setup-modem.sh
|
|
1f573b4a6686dac30b6e20507ec6590764a9e9e60c5373bda3838b1f25370b447a3220670710c43a64eb518a4aa54d4ab3beb942513ef269e596a73653c6528e sun50i-a64-psci.dts
|
|
c509254a94bef7ecf51ecba2f54cd4a3058dede820f9501750005ae43c026b1737a3b7bb30089e3a6f08c64e4e85250887e892dff51884c3159afeaa6e0b4105 uboot-script.cmd
|
|
f28902517bebe16f7ddbdbf9f4c52d5c97319e3b5ba7326ba96ed0e094d3d2a39c87061326893cdc34336bbfd56de084b2f217918ebba7ca6a080088cd0bd409 uboot-user.cmd
|
|
f963898fa2ce66bc830e56feeec6ffc9888834e14cc1591d72908ef45ad82532bc3ef5fb32413e07b6722749c9d03e7cf92f06f1fcb859c38b9297cf58e5cedd HiFi.conf
|
|
4b0c51ab169aebe8177c5c43eba41afa90370098a5a54e710d17e97ec1651869a20cb5d780a6132028c864916609e3b4f4a13158835310d0441bdb4915872372 PinePhone.conf
|
|
e093f71c37370927468de35a987150a3db3e1cc1c76c144bf58918a09c688c3da84303b5533241e691a6aa0758589e2a6498b1097974117782e909f0bbc6bf71 VoiceCall.conf
|
|
43f67e94491791685cdbb4874bb3034b1d297bdf3d23e7405c45ba8c58de72b4fb6a9943b79f46ef7b8f4dbc4d9db254ebec8eb3453d720a5a8fad277c6a9d88 ppkb.sh
|
|
bb11151e246d16e071761ebb35ca7f8b8cedbad8366e9bac6aed30554a795877cc9dccbe69ecca4b19b6f72bd87e613705f3ae4f2f40d2f9c2d09cc179999d59 sway-pinephone-keyboard.conf
|
|
a7b49a638f664f7682ce6b00eb4d1ae26a429e89354056de05fb49d25fc9555d7f80e6d8f4b0a250878a4e7823860fd156068ed6604ce6cf58badef45c545161 x11-pinephone-keyboard.conf
|
|
"
|