Commit graph

331 commits

Author SHA1 Message Date
Arnav Singh
0b48bdbaa5
linux-postmarketos-allwinner: increase RCU stall timeouts (MR 5422)
This raises CONFIG_RCU_CPU_STALL_TIMEOUT from 21s to 60s and
CONFIG_RCU_EXP_CPU_STALL_TIMEOUT from 20ms to 60ms (the value `0` means
that it is set to the regular stall timeout divided by 1000).
The original values caused frequent kernel logs of
"rcu_preempt detected expedited stalls" while running CPU-intensive stuff
like waydroid and caused such processes or others like Phosh to crash.

The kernel defaults are 21 / 0 (21s / 21ms), though the config docs note that
the latter is "normally 20ms on Android devices". For what it's worth,
Debian 12's amd64 kernel uses the kernel defaults of 21 / 0 (21s / 21ms),
while OpenSUSE TW's amd64 kernel uses 60 / 0 (60s / 60ms) just like
this commit.

Ref: #2980
2024-08-01 23:23:29 -07:00
Stefan Hansson
49ae695482
linux-purism-librem5: enable zstd firmware compression support (MR 5402)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-07-30 21:36:44 +02:00
Stefan Hansson
aa342c94fe
linux-purism-librem5: upgrade to 6.6.40 (MR 5395) 2024-07-30 07:10:51 +09:00
Arnav Singh
bc80e34b61
device-pine64-pinephone: force pipewire for audio (MR 5392)
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.
2024-07-29 15:08:05 -07:00
Alistair Francis
f788a4be3d
linux-purism-librem5: re-enable options for libcamera (MR 5390)
https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5310 unfortunately disabled some configs needed for libcamera:
1. `CONFIG_DMABUF_HEAPS`
2. `CONFIG_DMABUF_HEAPS_CMA`

Resolves: https://gitlab.com/postmarketOS/pmaports/-/issues/3050
Signed-off-by: Alistair Francis <alistair@alistair23.me>
[ci:skip-build]: already built successfully in CI
2024-07-28 11:56:05 +02:00
Stefan Hansson
7bcaabdb1a
linux-purism-librem5: re-enable lazy RCU and fix RS9116 firmware mode (MR 5252)
See 91adc26f51 and
ddf56b5169.

Fixes 863760c6ba
[ci:skip-build]: already built successfully in CI
2024-07-24 17:34:28 +02:00
jane400
35fc61416e
device-pine64-pinephone: move openrc specifics into subpackage (MR 5364) 2024-07-23 09:53:58 -07:00
Arnav Singh
bcea2841a2
linux-postmarketos-allwinner: upgrade to 6.9.10_git20240721 (MR 5367) 2024-07-21 16:58:57 -07:00
Arnav Singh
dcff247a40
device-pine64-pinephone: switch to pinephone-callaudiod (MR 5349)
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
2024-07-16 15:54:50 -07:00
Alistair Francis
f4249a0af3
linux-purism-librem5: sync kconfig (MR 5310)
With the latest kernel bump the config was updated based on the output
of:

    make ARCH="$_carch" CC="${CC:-gcc}" defconfig KBUILD_DEFCONFIG=librem5_defconfig

but there are other changes that pop up when running

    pmbootstrap kconfig edit linux-purism-librem5

This commit updates the config so that future config empty edits don't
generate any changes.

This is still pretty in sync with the Purism config, besides passing the
`kconfig check` and disablling SELinux as that causes boot failures.

Signed-off-by: Alistair Francis <alistair@alistair23.me>
[ci:skip-build]: already built successfully in CI
2024-07-07 16:33:36 +02:00
Alistair Francis
933688fb85
device-purism-librem5: Run hciattach for Bluetooth (MR 5281)
This gets Bluetooth working for the Sparklan card.

btattach doesn't work on the Librem5 at the moment (see [1]) so even
though it's deprecated let's use hciattach to get things working.

1: https://source.puri.sm/Librem5/librem5-base/-/issues/76

Signed-off-by: Alistair Francis <alistair@alistair23.me>

[ci:skip-build] already built successfully in CI
2024-07-04 16:15:19 -07:00
Arnav Singh
3c9a7bcaa5
linux-postmarketos-allwinner: upgrade to 6.9.7_git20240630 (MR 5303) 2024-07-04 13:03:15 -07:00
Martijn Braam
33d35c0835
*/: Drop maintainership (MR 5302)
Tweaked-by: Oliver Smith <ollieparanoid@postmarketos.org>
2024-07-03 17:20:51 +02:00
Luca Weiss
a4153e809f
*/*: update Luca's email address (MR 5291)
[ci:ignore-count]
[ci:skip-build]
[ci:skip-vercheck]
2024-07-01 11:55:02 +02:00
Caleb Connolly
3ed9591e41
treewide: drop PMOS_NO_OUTPUT_REDIRECT (MR 5240)
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
2024-06-23 14:48:20 +02:00
Clayton Craft
cc4c164c58
device-purism-librem5: remove craftyguy as maintainer (MR 5223)
I'm not able to give this device the attention it deserves.

This also removes me from maintaining fw and kernel packages used by the
L5, and adds the current L5 maintainers to those packages.

[ci:skip-vercheck]
[ci:skip-build]: already built successfully in CI
2024-06-17 14:20:57 -07:00
Alistair Francis
863760c6ba
linux-purism-librem5: upgrade to 6.6.32 (MR 5231)
Bump to the 6.6.32 release, including updating the config with the
latest changes from Purism.

Signed-off-by: Alistair Francis <alistair@alistair23.me>
[ci:skip-build]: already built successfully in CI
2024-06-14 07:44:05 +02:00
Clayton Craft
263d00790e
firmware-brcm43752: install symlinks to fix driver loading (MR 5224)
At some point the driver started using symlinks w/ machine IDs for
finding/loading fw, and for some reason I thought it was a good idea to
not install those symlinks.

Fixes this failure when loading the brcmfmac driver:
brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43752-sdio.purism,librem5r4.bin failed with error -2

[ci:skip-build]: already built successfully in CI
2024-06-10 21:27:51 +02:00
Oliver Smith
d2cf8cd78a
u-boot-librem5: fix build with python 3.12 (MR 5192)
[ci:skip-build]: already built successfully in CI
2024-06-02 15:20:26 +02:00
Clayton Craft
da0f0a306a
device-qemu-aarch64: enable support for efi boot (MR 5137)
Copied from qemu-amd64. Enabling support for EFI boot allows me/others
to easily test pmOS EFI boot loader and config changes. Legacy BIOS boot
will still work, see 22c602096 for details.

[ci:skip-build]: already built successfully in CI
2024-05-19 22:24:28 +02:00
Stefan Hansson
66397e7563
linux-purism-librem5: upgrade to 6.6.29pureos1 (MR 5141)
[ci:skip-build]: already built successfully in CI
2024-05-19 11:04:09 +02:00
Arnav Singh
f4f6c02ed1
linux-postmarketos-allwinner: upgrade to 6.9.0_git20240514 (MR 5130)
- 0003-dts-pinetab-add-missing-bma223-ohci1.patch

  The original patch added a node for BMA223 and a node for ohci1.
  The former is already present in upstream, so the new patch
  0003-dts-pinetab-add-missing-ohci1.patch only adds the latter.

- 0004-arm64-dts-allwinner-Add-bluetooth-node-to-the-PineTa.patch

  The patch is now present in upstream so it has been removed.
  However it's worth noting that upstream's node has the wake GPIOs
  reversed from the original patch. The original patch added:

      device-wake-gpios = <&r_pio 0 6 GPIO_ACTIVE_LOW>; /* PL6 */
      host-wake-gpios = <&r_pio 0 5 GPIO_ACTIVE_HIGH>; /* PL5 */

  ... while upstream has:

      device-wake-gpios = <&r_pio 0 5 GPIO_ACTIVE_LOW>; /* PL5 */
      host-wake-gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */

  This has not been tested on a PineTab.

- 0005-dts-pinetab-make-audio-routing-consistent-with-pinep.patch

  The first hunk of the patch is in upstream and has been removed.

- 0013-Revert-usb-quirks-Add-USB_QUIRK_RESET-for-Quectel-EG25G-Modem.patch

  This patch reverted upstream commit that was present until v6.7
  ( f9e3e7ea4e )
  but is not present in v6.8+, so the patch has been removed.

- 0014-usb-serial-option-add-reset-resume-callback-for-WWAN.patch

  The patch is now present in upstream so it has been removed.

- 0016-Define-orientation-and-rotation-for-PinePhone-camera.patch

  The patch is now present in upstream so it has been removed.

---

The issues found with the previous upgrade to 6.8.4
( 646e0b50df ), ie reliably receiving calls
in suspend ( #2734 ) and the headset / headphones detection being broken
because of the jack detection changes ( #2738 ) have been fixed.

[ci:skip-build]: already built successfully in CI
2024-05-18 10:21:12 -07:00
Arnav Singh
d52346cf1f
linux-postmarketos-allwinner: add patch to define PinePhone camera orientations and rotations. (MR 5096)
libcamera etc need them.

Ref: https://gitlab.com/postmarketOS/pmaports/-/issues/2787

Co-authored-by: Robert Mader <robert.mader@collabora.com>
2024-05-06 16:06:54 -07:00
Clayton Craft
c0b5f13420
{main,community}/linux-*: unset CONFIG_RT_GROUP_SCHED (MR 5088)
fixes #2652

[ci:skip-build] too many kernels to build, CI will never finish
[ci:ignore-count]
2024-05-06 10:24:48 -07:00
Stefan Hansson
f18c7210ab
linux-postmarketos-allwinner: enable options necessary for libcamera development (MR 5084)
See https://gitlab.com/postmarketOS/pmbootstrap/-/issues/2174#note_1884069175

[ci:skip-build]: already built successfully in CI
2024-05-01 00:19:22 -07:00
Stefan Hansson
9db736df62
linux-purism-librem5: enable options necessary for libcamera development (MR 5084)
See https://gitlab.com/postmarketOS/pmbootstrap/-/issues/2174#note_1884069175
2024-05-01 00:19:22 -07:00
Alistair Francis
af97a4bea3
main/device-purism-librem5: Remove broadmobi-port-types udev rule (MR 5071)
The 77-mm-broadmobi-port-types.rules file comes from ModemManager [1] so
there is no need for us to re-install the file again. Drop our version
so we can use the upstream one.

1: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/blob/main/src/plugins/broadmobi/77-mm-broadmobi-port-types.rules

Signed-off-by: Alistair Francis <alistair@alistair23.me>
2024-04-27 08:05:14 +09:00
Arnav Singh
83a68a7611
device-pine64-pinephone: revert kernel 6.8.4 changes to match up with downgrade (MR 5054)
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
2024-04-22 22:29:33 +02:00
Arnav Singh
686479bc4d
linux-postmarketos-allwinner: downgrade to 6.7.9_git20240306 (MR 5054)
Kernel 6.8.4 has multiple issues on the pine64-pinephone:

- Incoming calls don't work reliably when the phone is suspended. ( #2734 )

- Audio routing has changed such that it's seemingly not possible to use
  headphones with the builtin mic. ( #2738 )

Kernel 6.7.9 does not have these problems. This commit reverts to that for now
until they're figured out on the new kernel.
2024-04-22 22:29:33 +02:00
Arnav Singh
1e3d484a64
device-pine64-pinephone: update UCM config for new headphone jack name (MR 5022)
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>
2024-04-16 10:53:07 -07:00
Oliver Smith
816ed854d0
qemu-amd64: tweak kernel descriptions (MR 5016)
I just noticed that the virt kernel doesn't have mouse and network
working anymore in QEMU and Alpine edge. It did work with v23.12.
Everything seems to work with the LTS kernel though, and it doesn't
change often, so recommend that for now.

[ci:skip-build]: already built successfully in CI
2024-04-08 12:34:28 +02:00
Arnav Singh
646e0b50df
linux-postmarketos-allwinner: upgrade to 6.8.4_git20240405 (MR 5008)
- 0003-dts-pinetab-add-missing-bma223-ohci1.patch

  The original patch added a node for BMA223 and a node for ohci1.
  The former is already present in upstream, so the new patch
  0003-dts-pinetab-add-missing-ohci1.patch only adds the latter.

- 0004-arm64-dts-allwinner-Add-bluetooth-node-to-the-PineTa.patch

  The patch is now present in upstream so it has been removed.
  However it's worth noting that upstream's node has the wake GPIOs
  reversed from the original patch. The original patch added:

      device-wake-gpios = <&r_pio 0 6 GPIO_ACTIVE_LOW>; /* PL6 */
      host-wake-gpios = <&r_pio 0 5 GPIO_ACTIVE_HIGH>; /* PL5 */

  ... while upstream has:

      device-wake-gpios = <&r_pio 0 5 GPIO_ACTIVE_LOW>; /* PL5 */
      host-wake-gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */

  This has not been tested on a PineTab.

- 0005-dts-pinetab-make-audio-routing-consistent-with-pinep.patch

  The first hunk of the patch is in upstream and has been removed.

- 0013-Revert-usb-quirks-Add-USB_QUIRK_RESET-for-Quectel-EG25G-Modem.patch

  This patch reverted upstream commit that was present until v6.7
  ( f9e3e7ea4e )
  but is not present in v6.8, so the patch has been removed.

- 0014-usb-serial-option-add-reset-resume-callback-for-WWAN.patch

  The patch is now present in upstream so it has been removed.
2024-04-06 12:54:29 -07:00
Ferass El Hafidi
44b9db8247
device/{main,community}: be consistent with $pkgver (MR 4992)
See: pmaports#2610

Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
2024-04-02 12:55:46 +02:00
Stefan Hansson
a445ce34bd
linux-purism-librem5: upgrade to 6.6.22pureos1 (MR 4964)
[ci:skip-build]: already built successfully in CI
2024-03-25 15:15:07 +01:00
Arnav Singh
d67aa6b44d
device-pine64-pinephone: automatically recover modem when it dies (MR 4937)
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
2024-03-23 10:12:14 +01:00
Oliver Smith
a8e36280c5
device-qemu-{amd64,aarch64}: add myself as maintainer (MR 4940)
Daniele has been inactive for some years, set myself as maintainer.
2024-03-17 22:48:47 +00:00
Adam Thiede
d9ed2ac850
main/device-pine64-pinephone: depend on sway instead of sway-virtual (MR 4857)
[ci:skip-build]: already built successfully in CI
2024-03-15 15:18:50 +01:00
Denis Burkov
59f889ceb7
pocketbook-614-plus: new device (MR 4901)
[ci:skip-build]: already built successfully in CI
2024-03-13 21:33:28 +01:00
Arnav Singh
c8e4507e5d
linux-postmarketos-allwinner: upgrade to 6.7.9_git20240306 (MR 4893)
[ci:skip-build]: already built successfully in CI
2024-03-06 17:11:42 -08:00
Arnav Singh
5ad554d68e main/linux-postmarketos-allwinner: upgrade to 6.7.7 (MR 4878)
[ci:skip-build]: already built successfully in CI
2024-03-02 18:12:33 +01:00
Stefan Hansson
79a047d5ae
linux-purism-librem5: upgrade to 6.6.18pureos1 (MR 4866)
[ci:skip-build]: already built successfully in CI
2024-02-27 08:39:44 -08:00
Arnav Singh
a1c6859f16
main/linux-postmarketos-allwinner: upgrade to 6.7.6 (MR 4865)
[ci:skip-build]: already built successfully in CI
2024-02-27 10:44:40 +01:00
Arnav Singh
005db0a024
main/linux-postmarketos-allwinner: update to v6.7.4 (MR 4847)
[ci:skip-build]: already built successfully in CI
2024-02-20 19:11:28 +01:00
Arnav Singh
5e7d14a297
main/device-pine64-pinephone: install nonfree-firmware subpackage via _pmb_recommends (MR 4822)
... instead of relying on pmb's interactive question that is being removed
in pmbootstrap!2255

[ci:skip-build]: already built successfully in CI
2024-02-13 23:07:16 +01:00
Arnav Singh
b73b434423
main/firmware-pine64-rtl8723bt: compress with zstd (MR 4812)
This uses the same settings that aports/linux-firmware will use with
https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/60282
2024-02-10 09:39:50 -08:00
Arnav Singh
9f06c2b7cc
main/firmware-pine64-ov5640: compress with zstd (MR 4812)
This uses the same settings as aports/linux-firmware will use with
https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/60282
2024-02-10 09:39:50 -08:00
Arnav Singh
79866613ee
main/linux-postmarketos-allwinner: support zstd-compressed firmware (MR 4812)
This is in preparation for aports/linux-firmware switching to zstd compression
in https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/60282
2024-02-10 09:39:50 -08:00
Luca Weiss
53ca7c81f2
linux-purism-librem5: enable new community kconfig options (MR 4795)
[ci:skip-build] # too many packages
2024-02-06 18:53:59 +00:00
Luca Weiss
47c14fb985
linux-postmarketos-allwinner: enable new community kconfig options (MR 4795) 2024-02-06 18:53:59 +00:00
Arnav Singh
a12bbf1057
main/u-boot-pinephone: fix build to work with crust from aports (MR 4785)
aports' community/crust package generates a crust-pinephone subpackage
that is equivalent to pmaports' current main/crust package, that is,
the crust-pinephone subpackage contains the SCP firmware binary needed for
the PinePhone. The aports crust package itself only contains a LICENSE file.
Furthermore, aports' package updated to v0.6 recently, so apk would pick it
over pmaports' v0.5 package, which would cause the build to fail because of
the missing SCP firmware binary.

This change fixes the build of u-boot-pinephone by switching the dependency to
the aports crust-pinephone package.
2024-02-06 08:44:31 -08:00