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.
This new daemon implements the same D-Bus API as callaudiod
in aports community/callaudiod, but works with the new audio profiles
generated by PulseAudio v17 and PipeWire v1.2 for pine64-pinephone
that the aports package's daemon does not.
Installs that use pipewire-pulse for audio (eg SXMO) will automatically start
having working call audio with this update. Installs that use pulseaudio
have to wait for pulseaudio's crash on startup to be fixed first
( https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/68586 ).
Ref: #2968
[ci:skip-build] already built successfully in CI
This cmdline argument is now a no-op. Drop it everywhere and add a new
CI check to enforce this.
Adjust the deprecated "minimal" initramfs variant to use
pmos.debug-shell to enable logging instead. It doesn't /support/
dropping to a shell, so the variable takes on a different meaning. But
that's ok since it's at least more consistent.
[ci:ignore-count]
[ci:skip-vercheck]
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Tweaked-by: Oliver Smith <ollieparanoid@postmarketos.org>
[ci:skip-build]: kernel builds are very likely to go through now
This reverts commit 1e3d484a64
"device-pine64-pinephone: update UCM config for new headphone jack name (MR 5022)"
[ci:skip-vercheck]
[ci:skip-build]: already built successfully in CI
The previous name stopped being valid with the kernel 6.8 upgrade. This caused
ALSA to think a headset was connected, which in turn caused callaudiod to
select the Headphones port in the PA sink instead of Earpiece / Speaker.
I missed this in my own kernel upgrade testing because I use
a custom callaudiod that doesn't care about the headphones port.
I now confirmed the issue with regular callaudiod and that this change
fixes it.
Co-authored-by: Fiona Klute <fiona.klute@gmx.de>
eg25-manager is supposed to watch for the modem going away and recover it
automatically, but it doesn't seem to actually do anything.
Manually restarting eg25-manager in this situation does recover the modem.
This upstream issue https://gitlab.com/mobian1/eg25-manager/-/issues/47
is probably the same, and as that issue says, manually restarting eg25-manager
in this situation does recover the modem.
So this change adds a udev rule to automatically restart eg25-manager when
the modem dies. Common triggers for the modem dying are:
1. When the phone wakes up from suspend.
2. When an incoming call is disconnected, especially if the disconnect happens
very quickly after the call started, such as what happens when
phosh-antispam identified the call as spam.
3. When plugging or unplugging the phone from USB power, and when plugging
or unplugging other USB devices like keyboard from a connected dock.
udev shouldn't be used for spawning long-lasting processes,
but `rc-service start` will parent the process to the service manager and exit,
so that's fine. It does take a few seconds during which udev is blocked and
can't process other events, which udev also recommends against,
but in this case it's not a big deal IMO.
Fixes#2641
[ci:skip-build]: already built successfully in CI
This is no longer necessary as geoclue now can talk to ModemManager
directly for GPS information. It also presents a security risk due to
how gpsd works. As such, remove it.
Closes https://gitlab.com/postmarketOS/pmaports/-/issues/2340
Protect script when ram_freq is not set
Safely load PSCI DTO to enable CPUidle driver: psci_idle
The PSCI DTO shall only be applied if TF-A & Crust
support CPU idle states [0]. Otherwise the CPU usage
will be at 100%. This will not be visible in top,
lead to overheating and battery drain.
Worst case scenario would lead to a fried chip if
the CPU thermal_zone does not work or is not enabled
in DTS.
[0] https://gitlab.com/postmarketOS/pmaports/-/issues/1901#note_1238456920
I have enough other devices to care about, and honestly haven't touched
my PinePhone in a while. Remove myself as Co-Maintainer from all
relevant packages.
[ci:skip-vercheck]: No rebuild necessary
[ci:skip-build]: Doesn't change resulting packages
Let /usr/share/alsa/ucm2/conf.d/simple-card/*.conf be a symlink,
as it is expected since alsa-lib 1.2.7.
Related: d6adde0e32
[ci:skip-build] already built successfully in CI
For the Biktorgj firmware the control/power file should be set to on
instead of auto. By matching on the serial number this only applies to
modems with the community firmware installed.
The package `device-pine64-pinephone-vccq-mod` installs a u-boot user script.
The user script was loaded at address 0x50100000 partially overwriting
the initramfs (0x4FF00000-0x5015facd), and causing a boot loop.
The user script load address was increased to 0x50700000, leaving 8MB
of free space for the initramfs, the current initramfs size is 2.37MB.
Use -f, so rm
* does not complain if the file does not exist
* does not exit with 1 if the file does not exist
Remove the stdout/stderr redirect (not needed with -f).
Add exit 0 at the end of the file, even though it clearly should not
exit with anything other than 0 anymore, as it's common practice in
these pre-upgrade etc. scripts.
With the old script, the problem was that it would exit 1 as soon as the
files did not exist at the time the script runs. Exit 1 in this
pre-upgrade script causes apk to show an error, and it would not go away
with 'apk fix' since it ran into the same problem.
Fixes: 7c511d ("pine64-pinephone: remove old u-boot...")
On the pinephone, callaudiod handles the switching of default outputs,
so wys is unnecessary and may be causing issues when running in parallel
with callaudiod.
fixes#1217
with 5.14, there's some change to the path that alsa searches for ucm2
for this device. the install path for PinePhone.conf is changed, and it
references "full" path to HiFi and VoiceCall profiles (which I kept in
`PinePhone` dir, so that there could be several configs for the same
driver later on, if necessary/desired)