Follow up to MR 5562, which introduced category:librem5. Add the related
option, so CI actually enforces this category for the Librem 5.
[ci:skip-vercheck]: no need to rebuild for this
Qemu by default starts a GTK window in VGA resolution 640x480. The content
adapts to this resolution, thus X11 shows up in resolution 640x480 as well.
This resolution causes some handling issues. In Xfce4 the shutdown button of
the menu isn't reachable. Even worse in MATE, where the "Apply" button for
changing the resolution is out of the screen, making it difficult to change
the resolution.
The default resolution for X11 can be set by a config file. The Qemu GTK
window resolution remains independently at default 640x480. Setting the X11
resolution to default 800x600 mitigates the issue: Most of the screen content
becomes accessible while font size and button sizes are still large enough.
From this point the user can adjust the resolutions of the Qemu GTK window
and X11 content as desired.
[ci:skip-build]: already built successfully in CI
- 0012-ARM-dts-allwinner-sun5i-a13-pocketbook-614-plus-Add-.patch
The dts added by this patch is now present in upstream, so this patch has
been removed. Note that the upstream dts has differences from the one that
this patch added.
- Set myself as primary maintainer since Jan has been inactive for
many months now.
[ci:skip-build]: already built successfully in CI
There's no longer a release without the PureOS release in the tag, so
this makes changes to facilitate that.
[ci:skip-build]: already built successfully in CI
This partly reverts the commit mentioned below. When disabling CMA
I thought that libcamera was the only user of it, which is only true
for userspace, though.
In fact CMA is used and often even required by the kernel for HW video
decoders, display engines and other hardware that might not have a
MMU.
Thus restore the previously established value.
Fixes: 196ece029 (linux-postmarketos-allwinner: enable CONFIG_UDMABUF (MR 5585))
[ci:skip-build]
This partly reverts the commit mentioned below. When disabling CMA
I thought that libcamera was the only user of it, which is only true
for userspace, though.
In fact CMA is used and often even required by the kernel for HW video
decoders, display engines and other hardware that might not have a
MMU.
Thus restore the previously established value.
Fixes: 196ece029 (linux-postmarketos-allwinner: enable CONFIG_UDMABUF (MR 5585))
This partially reverts 06edc589e7
"main/firmware-pine64-rtl8723bt: drop (MR 5582)" because the linux-firmware
fw breaks bluetooth on the pine64-pinephone 1.2b.
Specifically the cs_fw.bin from linux-firmware works but not
the cs_xx_config.bin, so this restored package provides just the latter.
The original package provided bs_config.bin also. The BS is used by
the pine64-a64-lts and pine64-dontbeevil, but I don't have those devices to
know for sure whether they work with linux-firmware's fw or not. So for now
this commit only restores the cs_config.bin and only updates
pine64-pinephone and pine64-pinetab to pull it in.
Ref: #3179
[ci:skip-vercheck] Restoring package with pkgrel one higher than the deleted
package.
[ci:skip-build]: already built successfully in CI
As this is deemed the better option for the libcamera softwareISP.
Also disable CMA allocations. They can still be enabled via kernel
command line for testing/debugging purposes, but we don't need to
reserve memory for it unconditionally.
[ci:skip-build]: already built successfully in CI
As this is deemed the better option for the libcamera softwareISP.
Also disable CMA allocations. They can still be enabled via kernel
command line for testing/debugging purposes, but we don't need to
reserve memory for it unconditionally.
[ci:skip-build]: already built successfully in CI
Otherwise we get penguins when the device first boots up. While I have
nothing against Tux, this is a change that came as a result of the
configuration being restarted to sync with Purism's configuration, and I
think it visually clutters the boot sequence for no good reason. As
such, disable this and return to the previous behaviour.
[ci:skip-build]: already built successfully in CI
Upstream ALSA UCM conf still does not work exactly for us, but parts of it do.
This commit incorporates those parts to reduce the diff between the two.
One of the changes is to move /usr/share/alsa/ucm2/PinePhone/* to
.../ucm2/Allwinner/A64/PinePhone/* to match upstream, and to
stop creating the symlink .../ucm2/conf.d/simple-card/PinePhone.conf
since upstream already provides it. However this means that just upgrading
device-pine64-pinephone will remove the symlink and not replace the symlink
from upstream package. Users will need to run
`apk fix --reinstall alsa-ucm-conf` to recreate it, and will not have sound
until they do.
Ref: #2115
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
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
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
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
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
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
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
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
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
- 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
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