The package doesn't build right now and is blocking package publishing.
Re-introduce it once we get it building again.
drivers/tty/vt/conmakehash.c:15:10: fatal error: linux/limits.h: No such file or directory
15 | #include <linux/limits.h>
| ^~~~~~~~~~~~~~~~
compilation terminated.
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
Until this kernel is upgraded to >= 6.2, we need V=1 to work around
silent make output leading to failing builds.
[ci:skip-build]: already built successfully in CI
Add ucm configs and symlink for SOF firmware. Doing it in the firmware
subpackage because it doesn't work without linux-firmware-mediatek.
[ci:skip-build]: already built successfully in CI
The Freedreno driver requires python3 to build in the new version.
Deviations from the upstream config fragments:
- set CONFIG_CMA_SIZE_MBYTES to 256, from [1] and Matrix advice
[1] https://gitlab.com/sdm845-mainline/linux/-/merge_requests/100
[ci:skip-build] already built successfully in CI
Make room for MultiMedia4 (built-in microphone) device in q6voice.conf:
In the 6.9.3 kernel, there were four CPU endpoints in Q6ASM enabled
for audio:
0. MultiMedia1 - Built-in Earpiece and Speaker
1. MultiMedia2 - Headphones Playback (3.5 mm jack)
2. MultiMedia3 - Headset Capture (3.5 mm jack)
3. VoiceMMode1 - fake endpoint to route voice calls
In 6.10.2, an extra endpoint is added to support the built-in
microphone:
0. MultiMedia1 - Built-in Earpiece and Speaker
1. MultiMedia2 - Headphones Playback (3.5 mm jack)
2. MultiMedia3 - Headset Capture (3.5 mm jack)
3. MultiMedia4 - Built-in Microphone
4. VoiceMMode1 - fake endpoint to route voice calls
Since the device ID of VoiceMMode1 has changed, and q6voiced does
not automatically detect this by name, update the VoiceMMode1 device
ID so voice calls still work.
Be compatible with the secure name for the FastRPC device node:
There has been a security vulnerability issued at the FastRPC kernel
driver for allowing sensorspd and rootpd to be accessed on device
nodes not labelled "-secure". Be compatible with the FastRPC ADSP
device named "fastrpc-adsp-secure".
When failing to boot, phones show up as a removable storage device with
lots of very useful debug info. Let's encourage folks to upload it.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
[ci:skip-build] already built successfully in CI
[ci:skip-build] CI fails because of an issue with pmb fetching build
deps on subsequent packages in the aggregated list of packages to build,
but bpo is expected to pass because it builds packages one at a time
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
This is already enabled in the pmos.config configuration file upstream,
but hasn't made its way to pmaports yet as there hasn't been an update
since that happened.
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380
[ci:skip-build]: already built successfully in CI
Add version 1.0.0 of 81voltd [1].
This is based on discussions at [2]. 81voltd gets VoLTE working on
some SDM845 based devices. I tested this on my Pixel 3a and it works
with Optus but not Telstra (a more complicated VoLTE network).
I'm putting this for pmOS temp as hopefully the long term solution is to
upstream this to ModemManager. For now though this gets things working.
1: https://gitlab.com/flamingradian/81voltd/
2: https://gitlab.com/postmarketOS/pmaports/-/issues/1878#note_1826692945
Signed-off-by: Alistair Francis <alistair@alistair23.me>
There is a bug in FastRPC when waking from suspend. Since HexagonRPCD is
currently only useful for a few moments when the ADSP is requesting the
sensor registry, it can just be stopped without affecting sensor
support. Add a pre-suspend hook to stop HexagonRPCD so it doesn't crash
the ADSP when the device wakes up.
[ci:skip-build]: already built successfully in CI
There is an issue where resuming from suspend crashes the ADSP, and
rebooting the ADSP makes the entire device hang. Autosuspend has other
issues affecting higher category devices (namely, wake on modem events),
but it was still possible to resume before adding HexagonRPCD. For now,
remove the user's maintenance burden in keeping HexagonRPCD disabled.
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.
Too many kconfig checks fail for these. The kconfig check is more strict
now, it will not pass anymore if a kernel claims to support everything
for the "community" category but doesn't actually satisfy the
requirements. Previously it did pass and only printed warnings.
The "pmb:kconfigcheck-community" option may be added back to these
kernels after the configs are adjusted.
Fix the missing postmarketos-ui-sway-logo-key-alt subpackage. This was
caused by having two subpackages variables.
Fixes: 244847 ("main/postmarketos-ui-sway: add -openrc subpackage (MR 5374)")
[ci:skip-build]: already built successfully in CI
Don't depend on fbp-openrc, as this package does not exist.
Fixes: 250b96f ("main/postmarketos-ui-framebufferphone: add -openrc subpackage (MR 5374)")
[ci:skip-build] already built successfully in CI
Looks like the dependencies on seatd-dev and wroomd-dev have been added
by mistake, these packages do not exist. Instead move seatd-openrc and
wroomd-openrc to the openrc subpackage.
Fixes: 7a5970f6 (" main/postmarketos-ui-bananui: add -openrc subpackage (MR 5374)")
Rebase our downstream patches and drop the one included in the release.
See https://gitlab.freedesktop.org/camera/libcamera/-/releases/v0.3.1
Notes:
- The abi-compliance checker reports 100% binary and source compatibility,
so this release does not change the SONAME.
- qcam has been ported to QT6.
- This release has some notable improvements to the PPP/rkisp1, however
lower frame rates might be encountered sometimes. This will hopefully
get fixed in the imx258 driver in Linux 6.11.
- The swISP got some fixes but nothing major apart from the patch we
were already carrying.
[ci:skip-build]: already built successfully in CI
Since we now install papers by default instead of Evince, every single
app we install from GNOME packages is either adaptive or GTK4.
The only real difference I have seen is that portals with Phosh are still
using GTK3. Given that Phosh allows to fit windows to the view, I would
consider this an acceptable regression, as there is a simple and common
workaround available.
Fixes#1479
[ci:skip-build]: already built successfully in CI
- kconfig rebased onto jhovold's defconfig (many things are now modules,
but also includes initial camera support and other things)
- set CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER=y, to try and hide
some super early kernel messages printed on console
- enabled kconfig options for supporting USB tethering e.g. w/ android
[ci:skip-build]: already built successfully in CI
With the new changes in lk2nd that allow us to support extlinux.conf,
we can now generate image that would be generic to these devices.
[ci:skip-build]: already built successfully in CI
This won't be loaded automatically, so let's modprobe it.
Additionally, make myself maintainer to reflect CODEOWNERS
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
[ci:skip-build] already built successfully in CI
Tested on:
* odroid-xu4
* samsung-klimtlte
* samsung-manta
Only regression I spotted is that usb networking no longer works on
samsung-klimtlte and samsung-manta (but wifi works fine, so still
possible to login to the device).
The boot partition on the device is 8.0 MB, while built boot.img is
8.8 MB. Fix by decreasing initramfs size by depending on
postmarketos-initramfs-minimal. Problems were likely introduced by
postmarketOS/pmaports!5000.
[ci:skip-build] already built successfully in CI
The boot partition on the device is 8.0 MB, while built boot.img
is 8.7 MB. Fix by decreasing initramfs size by depending on
postmarketos-initramfs-minimal. Problems were likely introduced by
postmarketOS/pmaports!5000.
Based on device PIT the boot partition is 28 MB, while built boot.img
is 31 MB. Fix by decreasing initramfs size by depending on
postmarketos-initramfs-minimal. Problems were likely introduced by
postmarketOS/pmaports!5000.
Based on device PIT the boot partition is 28 MB, while built boot.img
is 31 MB. Fix by decreasing initramfs size by depending on
postmarketos-initramfs-minimal. Problems were likely introduced by
postmarketOS/pmaports!5000.
.. when using mainline kernel. The boot partition on the device is
only 8 MB, while built boot.img is 11 MB. Fix by decreasing initramfs
size by depending on postmarketos-initramfs-minimal. Problems were
likely introduced by postmarketOS/pmaports!5000.
.. when using mainline kernel. The boot partition on the device is
only 8 MB, while built boot.img is 11 MB. Fix by decreasing initramfs
size by depending on postmarketos-initramfs-minimal. Problems were
likely introduced by postmarketOS/pmaports!5000.
Based on device PIT the boot partition is 40 MB, while built boot.img
is 41 MB. Fix by decreasing initramfs size by depending on
postmarketos-initramfs-minimal. Problems were likely introduced by
postmarketOS/pmaports!5000.
Based on device PIT the boot partition is 40 MB, while built boot.img
is 41 MB. Fix by decreasing initramfs size by depending on
postmarketos-initramfs-minimal. Problems were likely introduced by
postmarketOS/pmaports!5000.
Based on device PIT the boot partition is 10 MB, while built boot.img
is 12 MB. Fix by decreasing initramfs size by depending on
postmarketos-initramfs-minimal. Problems were likely introduced by
postmarketOS/pmaports!5000.
- Enable XFS (requested by @ell1e)
- Disable CONFIG_RT_GROUP_SCHED (kconfigcheck-community requirement)
[ci:skip-build] already built successfully in CI
Add postmarketos-base-ui-wayland
Move _pmb_recommends to x11 and wayland subpackages
[ci:skip-build] Was built before
Co-authored-by: jane400 <5940129-jane400@users.noreply.gitlab.com>
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 provides a daemon that 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.
This daemon is specific to the pine64-pinephone since it has
a hard-coded list of profiles and ALSA devices. If other devices also happen
to have UCM settings that trigger PulseAudio / PipeWire to generate
the combinatorial audio profiles that callaudiod cannot handle, and if
a callaudiod fix / alternative does not appear, then the maintainer (me) is
open to making this daemon more broadly useful for other devices, say by
having the hard-coded strings in device-specific config files.
Ref: #2968
The package name is wrong now (!5315), and the service stuff is
automatically installed by systemd-service
[ci:skip-build]: already built successfully in CI
We have access to the fancy runners since GitLab.com donate premium to
us. There's no downside to making the most of them while we can. We
don't depend on them, but they'll make our CI go zoom!
For the next few months until we migrate to self-hosted :D
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Fixes:
- ignore leading/trailing whitespace in files (MR 55)
- fix spelling typo in manpage
- add missing /usr/sbin symlinks for UsrMerge (MR 53)
[ci:skip-build]: already built successfully in CI
I use the PineTab 2 for various tasks on a semi-regular basis, so I
would like to co-maintain it.
---
[ci:skip-vercheck]:
Since this doesn't affect the resulting package as Co-Maintainer is a
postmarketOS schema extension that abuild doesn't read, there is no need
to bump pkgrel for this.
[ci:skip-build]: already built successfully in CI
- Added some modules to fix booting from emmc/nvme (fixes#2953)
- Partially fixes debug shell (#2955): the OSK still shows partially,
but at least now there's some usable console/shell with an external
usb keyboard.
[ci:skip-build] already built successfully in CI
This moves the responsibility to auto-repair filesystems to the
initramfs. (I think we don't do this at all right now).
We don't try to mount broken partitions at all, we tell the user
that the system is broken and fail_to_boot.
The flow is now:
1. mount the boot partition (read-only) for initramfs-extra
2. initramfs-extra is extracted (with the needed fsck executables)
3. fsck the root partition
4. mount root partition (read-write)
5. fsck the boot partition
6. mount the boot partition (read-write)
This helps with the systemd bringup, as we want to make use of
systemd-firstboot, which sets /etc and enabled services up. As
this service is responsible of setting up /etc, it is run before
/etc/fstab is read and before / is remounted read-write.
Since the v6.9 upgrade the kernel supports Type-C functionality for
Fairphone 4, but I forgot to enable the relevant kconfig options then.
Enable them now along with a bunch of options related to USB that come
in useful. Also prepare some options that will be used in the future
with DisplayPort over USB-C (e.g. SBU mux).
[ci:skip-build]: already built successfully in CI
... and install the firmware package using _pmb_recommends instead.
Applied to both downstream and mainline ports.
[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
Updated to latest collabora cros kernel. Fixes audio on mt8192 devices
and fixes display issues on all devices using this kernel.
[ci:skip-build]: already built successfully in CI
Move the kernel config options from the pmbootstrap code to pmaports, so
it can be changed per branch, and it can be changed at the same time as
we actually make the changes to the kernel configs.
Replace previous code that used internal pmbootstrap code with running
pmbootstrap directly. pmbootstrap doesn't really have a stable API yet,
so calling the internal code is always a bit fragile and now that we
have reworked a lot of its code, this is all broken.
The trade-off is that it is now slower and the output isn't as pretty,
but we can finally use kconfigcheck.toml from the pmaports branch. So it
is worth it!
Add the required dependencies and config for both hexagonrpcd and
libssc so that sensors start working.
[ci:skip-build]: already built successfully in CI
Add the required dependencies and config for both hexagonrpcd and
libssc so that sensors start working.
[ci:skip-build]: already built successfully in CI
The device already loads plenty of nonfree-firmware into the
co-processors during the bootloader stages, and also once booted in
Linux won't really be useful without everything.
Additionally I doubt anyone tests that case, so just require nonfree
firmware unconditionally to simplify maintenance.
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
I made an oversight in pmaports!5295 which caused the post-install
script to try enabling the sd8x-wlan service even if the downstream
subpackage isn't installed. This causes errors when creating a new
mainline rootfs, so fix it by moving the install variable declaration to
the subpackage function.
Patches were rebased, sadly nothing was dropped :(
All kconfig changes are from simply running `kconfig migrate` and
accepting all defaults when prompted
[ci:skip-build]: already built successfully in CI
Resolves this harmless, but annoying error on mainline:
* Enabling wlan driver ...
/lib/rc/sh/openrc-run.sh: line 14: can't create /sys/devices/platform/sd8x-rfkill/pwr_ctrl: nonexistent directory
* ERROR: sd8x-wlan failed to start
[ci:skip-build]: already built successfully in CI
This also increases the (necessarily) hardcoded initrd end by 16MiB in
the DTS, which is necessary to make the phone boot with the new
initramfs (and in general any initramfs which exceeds 2624KiB).
This wasn't actually getting run on boot because After=graphical.target
created an ordering issue and systemd was disabling it.
I saw this ordering issue in the journal after finding that pbsplash was
still running in the background after the UI loaded, and confirmed it by
running systemd-analyze.
The referenced commit had surfaced a bug with the unlocking code, which
would attempt to change the output of find_root_partition while the
cached PMOS_ROOT is stale and active. Clear this variable to force
find_root_partition to find the new rootfs value.
Fixes: 7030e08e7b ("postmarketos-initramfs: check for root subpartition (MR 5048)")
[ci:skip-build]: already built successfully in CI
This seems to be some Samsung's proprietary verified boot solution.
After a recent update, this started bootlooping my phone.
I have no idea why it only fired now, but pmOS does not use this
feature anyway, so it won't hurt to disable it.
[ci:skip-build] Already built fine once
Drop the console-shell hook in favour of stuffing buffyboard into the
initramfs. This makes it possible to get a debug shell directly on the
device without needing to use a computer.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
[ci:skip-build]: already built successfully in CI
Rework the messages and avoid re-spawning the splash on every check.
Additionally, add a call to check_keys, this lets users drop to a debug
shell or export logs to triage this failure (particularly useful for
hard-to-reproduce issues).
Finally, add a (liberal) 30 second timeout and dump logs at the end. If
we're just waiting for a device to show up and it doesn't after 30
seconds then it's probably never going to...
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
In mount_subpartition we currently try to look for the boot partition,
to see if we're done (either we aren't using subpartitions or we found
the right one). However it is possible that a device might have
originally used the subpartition scheme, but was later converted to have
a real boot partition (for EFI for example).
In this scenario, the boot partition would be found immediately, but the
root subpartition would not be.
Address this by making mount_subpartition check for success by calling
find_root_partition instead of find_boot_partition. For most
installations this has no impact.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Which can have significant performance impact on affected devices,
such as the Librem5 or the PinePhone.
The patch already landed upstream, however a new release is likely
several weeks or months away, making a backport worthwhile.
[ci:skip-build]: already built successfully in CI
Install a kill-pbsplash systemd service which is configured to be
started as part of the graphical-session user target. Additionally
install an override so that if the display-manager service (aliases to
gdm, sddm, etc) fails to start it will still kill pbsplash.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Co-authored-by: Clayton Craft <clayton@craftyguy.net>
Currently, dtbtool-sprd has an argument -p which accepts the path to the
dtc binary. When it's not provided, it should use the dtc binary installed
in the system as a fallback. However, that's not the case. The following
error is reported:
Found file: test.dtb ... skip, failed to scan for 'sprd,sc-id = <' tag
...even though test.dtb has the `sprd,sc-id` property.
In order to mitigate such issues, install dtc as a dependency of the
package.
Without it some devices will fail to mount the boot partition:
FAT-fs (mmcblk1p1): IO charset ascii not found
Also disable CONFIG_RT_GROUP_SCHED.
Reported-by: Anton Bambura <jenneron@protonmail.com>
Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
[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
* drop maxcpus=0, which was added with 73a033328e ("device-nokia-n900: set
uniprocessor mode for kernel (MR 4299)") while troubleshooting. a better
fix was eventually implemented with 3e737241ba ("linux-postmarketos-omap:
N900: disable twl off idle features (MR 4317)")
* drop PMOS_NO_OUTPUT_REDIRECT, which was obsoleted by 7c98127746
("postmarketos-initramfs: switch to udev and kmod (MR 5000)")
Use stock WiFi firmware instead of the generic linux-firmware-brcm
firmware. The stock firmware is newer and seems to be better suited
for the BCM4334B2 variant used in these tablets.
This fixes timeout errors from the brcmfmac driver and seems to
slightly improve download/upload speeds (by about 1MB/s).
This updates the minimal initramfs to be at the same version that
postmarketos-initramfs was when it was split off. This should have been
done as a part of !5000.
The changelog from git:
- main/postmarketos-initramfs: fix stowaway (MR 5206)
- main/msm-fb-refresher: move cleanup from initramfs into msm-fb-refresher (MR 5191)
- main/postmarketos-mkinitfs-hook-debug-shell: Cleanup debug-shell telnet server (MR 5191)
- main/postmarketos-initramfs: Allow packages to define cleanup hooks (MR 5191)
- main/postmarketos-initramfs: update comment on why we mount /boot (MR 5089)
- main/postmarketos-initramfs: add options for charset to mount vfat /boot (MR 5089)
- main/postmarketos-initramfs: add some sane mount options to /boot (MR 5089)
- main/postmarketos-initramfs: stowaway rootfs (MR 4386)
- main/postmarketos-initramfs: add crc32_generic module for F2FS (MR 4973)
- main/postmarketos-initramfs: add USB booting support (MR 4947)
- main/postmarketos-initramfs: fix starting unudhcpd when no UDC configured (MR 4907)
- postmarketos-initramfs: bigger log image size (MR 4880)
- main/postmarketos-initramfs: allow redirect logs to pmsg device (MR 4800)
Introduce support for having CI automatically update packages using
project access tokens and scheduled pipelines.
The pipeline schedule is configured with an additional variable
containing a list of packages to update, the autoupdate-fetch.sh script
then calls a handler for each of these, the handler is expected to check
for an update, make the necessary APKBUILD changes and commit them.
After all packages have been updated, the changes are pushed to pmaports
master using a project access token.
[ci:skip-build] takes too long to build in CI
trailblazer is a bleeding edge, unstable target for EFI capable ARM64
devices. It runs linux-next and should otherwise be adjusted to support
as many devices as possible.
The goal of trailblazer is to motivate more upstream kernel development by
providing a tighter feedback loop (patches land in -next weeks before they
make it into mainline or stable), as well as encouraging more generic
solutions to the device specific hacks we have in userspace.
On supported devices, trailblazer should reflect the current state of
upstream. It allows users to easily appreciate what feature are
unavailable, and more importantly appreciate when a new feature does get
added upstream.
Due to the instability of linux-next, the plan is to have BPO build
trailblazer images nightly, so if next breaks then the images should
only be broken for a day.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Introduce a linux-next kernel with postmarketOS configs and some
additional device specific configs enabled.
This kernel package will be updated daily to the latest -next tag.
breakages expected. It is designed to be used in tandem with a generic
ARM64 device package to provide a bleeding edge option for those with
EFI capable bootloaders.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Fixes:
- flash_android_bootimg: check validate target partition size before flashing (MR 63)
- copy target dtb to a temp directory for qcom and sprd dt.img types (MR 57)
Other:
- ci: add integration test for exynos qcdt (MR 57)
- ci: switch to unpackbooting from osm0sis (MR 57)
[ci:skip-build] already built successfully in CI
pma!5000 added a new implicit dependency on libinput, because it
specified libinput files in the initramfs file hook. mkinitfs considers
it fatal if it cannot find files listed in a file hook.
Later this could be 'optimized' by adding a -libinput subpkg and an
`install_if=libinput-libs` to add this file hook so it's not installed
everywhere... but the size increase isn't too much for UIs.. someone can
do this later.
> libinput-libs-1.26.0-r0 installed size:
> 476 KiB
This fixes a missing dependency problem where a UI (e.g. "none") doesn't
normally depend on libinput, and mkinitfs would fail because these files
were missing.
mdev is slow and missing features, it also requires that we load all the
modules that we include at once making the boot process slower.
udev is required for unl0kr (and buffyboard), it can also load modules
on demand (and asynchronously). Making the boot process considerably
faster on devices, especially for generic images where we have lots of
drivers for different display panels in the initramfs.
Additionally, import full fat modprobe from the kmod package, this is
required to support compressed modules.
This brings us more in line with other distros and generally improves
compatibility.
If devices use broken kernel modules which don't correctly define
modalias', these drivers may not be loaded by udev. This should be fixed
by defining the missing modalias statements in the driver.
This also runs udev earlier in the init, so that display drivers are
loaded before the splash in case they are needed.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Co-authored-by: Clayton Craft <clayton@craftyguy.net>
[ci:ignore-count]
[ci:skip-build]: already built successfully in CI
This incorprates the debug-shell functionality directly into the
initramfs, so it's no longer necessary to build and boot a custom
initramfs in order to debug your device.
Additionally, the behaviour of the debug-shell is entirely reworked, It
now creates an ACM serial gadget which can be accessed via any normal
terminal emulator (picocom, minicom, etc; or PuTTY on windows). Rather
than just invoking sh, the debug-shell now creates a respawning getty on
both the new virtual console and the active console (this will either be
the UART console or tty0/1).
It is necessary to spawn these shells via getty since the logging rework
means we can no longer assume that stdin/out/err reference a TTY.
In addition to the above, it is now possible to trigger a log dump by
holding volume up during boot. This can be useful for helping users
debug their devices if the issue doesn't result in a failure that can be
detected in the initramfs.
With these changes, the console-shell and debug-shell hook packages are
reduced to only adding the additional tools/features. console-shell is
still required for fbkeyboard, and debug-shell for the setup_usb_storage
tool.
Co-Developed-by: Clayton Craft <craftyguy@postmarketos.org>
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
For some reason globbing doesn't work properly for empty directories,
adjust the check in run_hooks to ensure the directory both exists and
contains something, otherwise we get an error about
"/hooks-cleanup/*.sh" not existing.
/ # mkdir blah
/ # for x in blah/*; do echo $x; done
blah/*
/ # touch blah/beep
/ # for x in blah/*; do echo $x; done
blah/beep
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
I somehow hit a case where this wasn't installed and
/lib/mdev/persistent-storage wasn't available. Let's just explicitly
depend on mdevd...
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
This step is the most likely to go wrong or have issues, and it has side
effects which can make it difficult to run multiple times on one boot.
Move it to after hooks so that e.g. when dropping to a debug shell, we
land before the first call.
This also makes booting to hooks a faster in many cases.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
fallocate seems to cause some strange behaviour where the logs.img file
is treated like it's empty. Given it's small and in a ramdisk let's just
create it with dd instead.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
This fixes the annoying "sh: write error" and "Couldn't write to clear
UDC" messages that happen on every single boot.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Rework logging to always log the initramfs output to the kernel
ringbuffer and deprecate PMOS_NO_OUTPUT_REDIRECT in favour of following
the kernel loglevel.
I know it seems silly to use syslogd for this, but it's necessary to
buffer writes to /dev/kmsg per-line if we want to correctly set the log
level, and "tee" does not do this (it will write multiple lines at once,
resulting in "<14>" prints in the ringbuffer). The main advantage to
this is that we won't have kernel logs cut in half by initramfs logs
anymore, everything will be nicely line buffered!
The previous logging solution of multiple "tail" commands would actually
fail to log up to the last few lines before a crash due to how tail
works (it polls the file and buffers lines).
I attempted something like this before, but I stopped after running into
ratelimiting issues. These are now resolved by configuring the
printk_devkmsg sysctl.
Dropping PMOS_NO_OUTPUT_REDIRECT:
The general motivations behind PMOS_NO_OUTPUT_REDIRECT was to avoid
cluttering up the console with initramfs logs when they aren't wanted;
this is now handled instead by the kernels logging facility. We log to
the ringbuffer at LOGLEVEL_INFO, so if "quiet" is specified on the
cmdline (or the loglevel is otherwise set above info) then initramfs
logs will also not be shown.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
We plan to make a lot of changes to the initramfs which will require
incresaing the size. There are some devices that have literally no free
space for this, so make a -minimal initramfs fork that can continue to
support those while we update the regular initramfs.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
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
papers is now in community in alpine, and is the GTK4
replacement. Current main version (still not available in alpine),
fits phone screens, but makes sense to change it already now.
Relates #1479
[ci:skip-vercheck] changes are in pmb_recommends
[ci:skip-build]: already built successfully in CI
Depend on msm-firmware-loader, firmware- and soc- packages.
Sort deps alphabetically.
Tidy up deviceinfo:
* add flash_kernel_on_update
* remove unneded things from kernel cmdline
[ci:skip-build]: already built successfully in CI
Currently it requries the check_code result check in the
vendor uboot to be disabled as explained in the wiki.
Booting directly via reconfigured boot order still
does not work. It hangs somewhere in the kernel.
Firmware for Wifi/BT is not included yet.
It could use the linux-postmarketos-omap kernel in the future,
but there are still some dirty things in there e.g. for sound
which are not suitable for a multi-device kernel.
[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
PineTab 2 is a successor to the original PineTab from PINE64 released
in mid-2023.
The tablet came with DanctNIX's fork of Arch Linux ARM, comes with
K Desktop Environment as the UI and available with 64GB eMMC/4GB RAM
or 128GB eMMC/8GB RAM.
Changelog since 6.7:
General:
* Adreno 5xx preemtion is now disabled due to hangs it causes.
This makes GPU a lot more cooperative on these platforms.
* Fixed absence of zap-shader region which caused devices with
GPU enabled to freeze the whole system.
* Fixed ath10k Wi-Fi not connecting to 5Ghz networks.
* Incorporated in-kernel pd-mapper patchset, therefore userspace
pd-mapper daemon is not required.
* Kernel cmdline from bootloader is no longer ignored completely,
in other words, not hardcoded. You can now modify cmdline in
deviceinfo file and changes in that file will not be ignored.
Devices:
* Xiaomi Redmi Note 7 (lavender):
* split device trees into 2 variants by panel type (Tianma & BOE)
* GPU + panel support for 2 variants
* Vibrator support
* Connectivity: modem, Wi-Fi and bluetooth support.
* Other/all devices:
* update device trees according to upstream USB stack changes
(related to USB 3 phy support)
Install script into /etc/profile.d with workaround for mesa bugs.
This makes most SDM660 devices usable for general people out of the box.
Signed-off-by: Alexey Minnekhanov <alexeymin@postmarketos.org>
Add msm-firmware-loader, soc-qcom-sdm660-rproc, firmware-xiaomi-lavender
and firmware-qcom-adreno-a530 as dependency. This is necessary to make
Wi-Fi and modem work.
Add support for panel drivers.
commit 933f2b5703 ("device-nokia-n900: improve sxmo-dwm support [MR 5227]")
accidentally removed sxmo lock state initialization. Restore the lock state
initialization
Phoc now defaults to 1,25 as scale on skomer, which while not perfect,
is good enough and lets the device be unlocked. As such, let's remove
this configuration file and encourage improvements upstream instead.
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/4541
170189393b (device-nokia-n900: add upower support and config (MR 4397) added
an upower config, but did not provide a subpackage to actually install it on
device. Add the needed subpackage.
[ci:skip-build]: already built successfully in CI
(1) the deviceprofile differs from upstream 1.16.3 in the following respects:
(a) -export SXMO_NO_KEYBOARD=1 - allow use of the virtual keyboard
(b) +export SXMO_DMENU_LANDSCAPE_LINES="10"
+export SXMO_DMENU_PORTRAIT_LINES="6" - these two adjust the size of the
displayed dmenu menu.
* NB: All foregoing changes are already merged in sxmo-utils master.
(c) +export SXMO_TOUCHSCREEN_ID="TSC2005 touchscreen" - allows sxmo to
reliably toggle touch screen's enabled status
* The foregoing change is awaiting acceptance by upstream.
(2) The start hook differs from upstream 1.16.3 by the removal of the line that
starts conky. That program pegs N900 CPU usage at 100% all the time. This
change is not upstreamable, at least not for the time being
And configure any modem to be able to use it, so that we can keep
controlling things like bluetooth headsets, and take phone calls from a
car.
[ci:skip-build]: already built successfully in CI
Upstream MR has been closed by Dylan 2 months ago, and this feature is
already present in pipewire. We are doing considerably amount of work to
get Pipewire production-ready in postmarketOS, including features to let
users choose. Given HFP support is actually a nice-to-have feature, but
not a great requirement, our fork is outdated (aports is on 17.0), and that
the upstream MR has been dropped and is not being worked on, it might be
time to drop this.
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
With the current kernel, ds2482 w1<>i2c module is not automatically
loaded at boot, which prevents loading the ds2784 battery module.
Signed-off-by: Alexandre Marquet <tb@a-marquet.fr>
[ci:skip-build]: already built successfully in CI
This fixes op6 display panel support, drm error spam in dmesg, and
various other minor things.
It also enabled dynamic debugging and ftrace.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
This allows users to test out pipewire audio on phosh. Currently the
default audio backend is pulseaudio. This is configured in pmos-base-ui.
fixes#2013
[ci:skip-build]: already built successfully in CI
I have noticed a bug. Because is some cases, uuid for the boot partition is set, it won't reach logic for the stowaway.
[ci:skip-build]: already built successfully in CI
For now, limited support without graphics. Graphics
support would need messing and detecting board variants.
especially since Rev B seems to need a vcom setting per batch.
[ci:skip-build]: already built successfully in CI
Latest release of "old" lk2nd.
Release notes:
- msm8974 improvements
- New variants for few Samsung devices, some renames
- Added Lenovo Vibe K5 variants
New devices:
- Vivo Y21L
- Motorola Moto G 4G
- Huawei G7 Plus
- Samsung Galaxy On7 2015 (SM-G600FY)
- HTC One M8
- Samsung G360T
Added big patch to fix compile errors with gcc-14.
Signed-off-by: Alexey Minnekhanov <alexeymin@postmarketos.org>
[ci:skip-build]: already built successfully in CI
Add postmarketos-artwork-wallpapers to _pmb_recommends, so Sxmo shows
the postmarketOS wallpaper.
Related: https://todo.sr.ht/~mil/sxmo-tickets/602
Related: pmaports issue 2499
[ci:skip-build]: already built successfully in CI
Set the postmarketOS wallpaper as default for Plasma Mobile and Plasma
Desktop, so we can change it across all UIs with every postmarketOS
release.
It would be nice if we could just set the wallpaper with a simple config
file (reported https://bugs.kde.org/show_bug.cgi?id=487816). Until that
is possible, use a shell script as workaround.
Copy the contents dir and metadata.json file explicitly, instead of
copying the entire "meadow" directory. With this change we avoid copying
meadow.svg, which fixes two issues:
* This file doesn't have a stable name, when we switch to the next
wallpaper and the user had selected it, the wallpaper will just be
gone instead of automatically switching to the new wallpaper.
* It shows up as broken wallpaper in Plasma's wallpaper selection.
[ci:skip-build]: already built successfully in CI
Add support for the Xiaomi Miatoll phones. There are currently two
device trees in the upstream kernel.
Signed-off-by: David Wronek <david@mainlining.org>
The original maintainer unfortunately has bricked their phone. Drop the
device package in preparation for the SM7125 kernel upgrade.
Signed-off-by: David Wronek <david@mainlining.org>
The device trees for this phone have never been upstreamed
unfortunately. Drop the device package in preparation for the SM7125
kernel upgrade.
Signed-off-by: David Wronek <david@mainlining.org>
These modules are required in the initramfs when booting a kernel that
builds them as modules (i.e. not builtin)
[ci:skip-build] already built successfully in CI
- Add support for systems with merged /usr (MR 39)
- Improve support for deviceinfo format (MR 52)
- Add support for systemd (MR 51)
- Document archive compression formats/levels (MR 50)
[ci:skip-build] already built successfully in CI
Since 6.10-rc1 python3 is now a hard requirement to compile the kernel,
it's used to generates headers for drm/msm. Add it now so our CI can
keep working.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
- fix NM unit name
- relocate an errant -openrc pkg
- remove iio-sensor-proxy from service autostart on systemd, it appears
that this is dbus activated (inspected the .service file, no `Install`
section and using dbus directive)
This allows the audio switching backend stuff to work on all UIs (see
!5072 / 87d355e08). For example, users of any UI can switch audio
backends by installing one of the pmos-base-ui-audio-* metapackages.
[ci:skip-build] already built successfully in CI
- Merge pulseaudio and audio-pulse subpkgs
Just general cleanup, there's no reason to have a separate pulseaudio
subpackage now since both were being installed anyways (one indirectly
depended on the other)
- Add 'none' option for audio backend
Some users might not want to have an audio backend installed taking
up disk space. For example they're running a headless server or just
don't want audio I/O, and PA + dependencies, which include mesa(!!)
can be a lot... I measured 208MB
Note about drop the pulseaudio subpkg and it's "provides="...
This was done in 6e325417, when pmos-base-ui was split off from
pmos-base (3 years ago). I'm not sure how many people are still rocking
a 3yo pmOS install, but the original package (see 92e43e83) was only
pulled in by install_if, so I think the chance that it's in someone's
world file would be really really low.
Sxmo maintainers have decided to stay with OpenRC on postmarketOS. Set
this option, so pmbootstrap doesn't even ask the user if they want to
install Sxmo with systemd. The idea is that users don't end up
reporting issues about this unsupported use case.
Allow this package to be used on systemd installs without pulling in a
bunch of openrc services.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Co-authored-by: Clayton Craft <clayton@craftyguy.net>
Not sure if dropping the networkmanager-openrc dependency causes issues.
Otherwise, make the elogind subpackage conflict with systemd-logind.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
He did an awesome job adding an initial port for this device but hasn't
helped to maintain it, so I'm removing him from the list of active maintainers.
For installing openrc-specific dependencies, specifically
nftables-openrc which is needed because the post-install enables the
openrc service and expects the initd script to be available then
[ci:skip-build] already built successfully in CI
And add it to pmb_recommends. This way new installations with
pmb_recommends will force install the correct version.
[ci:skip-build]: already built successfully in CI
And remove the compatibility symlinks again, all kernels running now
should use the .mbn files already.
[ci:skip-build]: already built successfully in CI
which are probably too experimental to ask Alpine to carry them, while being
very helpful for devices that pmOS targets. The explicit goal is to help
Libcamera development and drop the fork again.
For the dma heaps permissions see the ongoing debate in
https://lore.kernel.org/all/bb372250-e8b8-4458-bc99-dd8365b06991@redhat.com/
It's possible that Libcamera will switch to another solution in a future
release or that memory accounting issues around dma heaps will need to
get fixed in the kernel before the permissions can be set by default by
distros.
Regarding `libcamera: simple:` patches:
- 0001-0003 can likely be dropped once the Libcamera SoftISP gains
support for raw (bayer) streams passthrough (on top of converting to
RGB or YUV formats).
- 0004 will likely be needed until Megi downstream patches for the
Pinephone get improved/upstreamed and Libcamera adopted accordingly.
With these patches libcamera and pipewire based applications should work
on the Librem5, Pinephone and - hopefully soon - devices like the OP6.
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5162 for
more context.
[ci:skip-build]: already built successfully in CI
All these config update are there since 2021. Having them there
serves no purpose, apart from increasing packaging complexity and
have some unnecessary files under /etc
All these config update are there since 2020. Having them there
serves no purpose, apart from increasing packaging complexity and
have some unnecessary files under /etc
> User 'clamor95' was moved to 'clamor-s'. Please update any links and
> bookmarks that may still have the old path.
[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
These appear to be client demos, and are already in _pmb_recommends;
drop them from depends to avoid duplication.
[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
( https://codeberg.org/megi/linux/commit/f9e3e7ea4ea5452e2c149acbe2a958751046ca29 )
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
Adjust the sensor firmware paths for hexagonrpcd 0.3.1.
Also drop board-2.bin file which is now upstream and use upstream mba.mbn
and wlanmdsp.mbn.
[ci:skip-build]: already built successfully in CI
This causes a lot of spam in dmesg about "failed to allocate compressor transform", making it nearly impossible to search anything in the system logs.
This option has nothing to do with zram.
[ci:skip-build]: already built successfully in CI
kodi x86 support was dropped upstream, see aports f53343613a4
[ci:skip-build]: already built successfully in CI
[ci:skip-vercheck]: Only changing architectures, no changes to package.
Contains fix for Poco F1 display issue when booting and enables sensor
support for Poco F1.
[ci:ignore-count]
[ci:skip-build]: already built successfully in CI
- Enable KVM support (for using with slbounce!)
- Disable RT_GROUP_SCHED, community device kernel requirement
[ci:skip-build]: already built successfully in CI
These kernels must have NLS_ASCII set after bb6d7a05b, or else they
cannot mount the ESP as /boot and boot fails. This kconfig option will
be added to the pmb efi kconfig check so that this is caught in the
future pre-merge.
fixes 3909b1dbf and bb6d7a05b
[ci:skip-build] already built successfully in CI
This charset is the default and the recommended value, since boot fat
partitions should be case insensitive. linux-lts and linux-edge in
alpine use "utf-8", that might change, but add the options regardless,
so we can be safe
Fixes https://gitlab.com/postmarketOS/pmaports/-/issues/2782
The change from unmaintained to archived needs changes in pmbootstrap.
[ci:ignore-count]
[ci:skip-vercheck]: Packages aren't being changed
[ci:skip-build]: All packages verified to build separately and would
take too long to build in CI
Unmaintained is a name which on multiple occasions have seen lead to
confusion with people having the impression that unmaintained is for all
unmaintained devices, which is not how we're really using it. Many
devices in testing do not actually have a maintainer, yet there has been
no push to move these out of there and into unmaintained.
I think this is a result of that unmaintained was introduced not to keep
unmaintained ports but rather a place to store ports that have a better
replacement but where the inferior one still holds some sort of value,
such as for debugging purposes. These ports also are not necessarily
entirely unmaintained and see more fixes than many ports in testing.
While one approach to solving this problem could be to simply moving all
unmaintained ports to unmaintained, I think this comes with some
problems: It would require an initial effort to figure out which ports
are indeed unmaintained and which just don't have a maintained noted in
the package, and given how many ports there are in testing this would be
a big endeavour. It would also require continuous work on moving ports
into unmaintained as the maintainers go silent if we are to keep testing
and unmaintained's state consistent with reality. Additionally, just
because a port doesn't have a maintainer on paper doens't mean that
there aren't people who aren't willing to fix it up if there are issues
that arise.
As such, I think the way to go is renaming unmaintained to better
reflect the original intent. Thanks to Luca Weiss for suggesting
"archive", and to Arnav Singh for suggesting that "archived" would match
the other category names better.
The SSH agent built into gnome-keyring has been disabled by default
in version 46, and replaced by the SSH agent implementation in gcr.
Install the new implementation to provide a graphical SSH agent
for all GNOME-based UIs.
Follow-up to aports!63893, which fixes this upstream and adds this
dependency to the upstream gnome package.
Fixes#2728.
[ci:skip-build]: already built successfully in CI
Default answers to `pmbootstrap kconfig migrate` with 'y' to any
seemingly relevant Mediatek entries.
[ci:skip-build]: already built successfully in CI
Heavily based on z3ntu's work on FP5, thanks for all your work!
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
[ci:skip-build]: already built successfully in CI
So that we can warranty that any of the packages is installed by
default. In addition, make sure that pipewire-pulse can never be
installed together with
postmarketos-base-ui-audio-pulseaudio. pipewire-pulse provides
pulseaudio, so installations that have pipewire-pulse already
installed would end up in a very weird position otherwise.
Fixes 87d355e08d
[ci:skip-build]: already built successfully in CI
pipewire-media-session was dropped in alpine in
4dc6a181bf590339f29a279fb7c4b9ae3c26c5fa, more than one year ago, so
this should be safe
While at it, also drop pipewire dependency, that is now a dependency
of postmarketos-base-ui
pipewire-media-session was dropped in alpine in
4dc6a181bf590339f29a279fb7c4b9ae3c26c5fa, more than one year ago, so
this should be safe
While at it, also drop the dep on pipewire, since it's taken care by
pmos-base-ui now
These are increasingly needed for camera and screen sharing/recording
tasks. To make the development easier and future-proof, install them
by default. They can now be removed from the audio subpackage
Fixes#2785
No longer builds, can't be bothered to investigate why as the error is
unusual and I don't understand it. See issue linked below for more
detailed information.
Clsoes https://gitlab.com/postmarketOS/pmaports/-/issues/2798
[ci:skip-build]: already built successfully in CI
Device uses heimdall flash method by default, with uppercase
partition name in it's PIT file. This conflicts with flash on update,
because in Linux partitions named in lowercase. To resolve this conflict,
default flash method changed to fastboot. Heimdall still can be used with
`--method` flag: `pmbootstrap flasher --method heimdall-bootimg flash_kernel`
- enable flash on update flag.
- change default flash method to 'fastboot'
U-boot doesn't output bootscript logs, which makes it hard to debug.
Put bootscript to prebootscript section. Preboot is executed before
boot, and u-boot displays it's logs.
Enabled WiFi OOTB on some intel-based macbooks
[ci:skip-vercheck] moved devpkg fails devpkg version checks
[ci:skip-build]: already built successfully in CI
- Drop -mesa subpackage, this is handled by postmarketos-base now
- Add 'quiet' kernel cmdline param to hide kernel messages on boot by
default
- set chassis type to 'desktop'
- re-add firmware-ath6kl, this used to be included in the old
tablet-x86uefi but was accidentally dropped when that was merged into
this generic device package
- adds kconfigcheck-containers
- adds missing kconfigcheck-community options
- adds some missing dynamic debug stuff
- also adds kconfig options required by libcamera, because why not.
[ci:skip-build]: already built successfully in CI
When running locally, sometimes pmbootstrap in PATH is not a symlink and
the auto-detection stuff fails. This can be resolved by setting
PMBOOTSTRAP_CMD=/path/to/pmbootstrap.py, so the error has been improved
to suggest doing this.
[ci:skip-build]: already built successfully in CI
Reserve 256MB for CMA, and of those use 192MB as VRAM.
The default value from the kernel side causes graphical issues with e.g.
phosh, so increase it so we have some more VRAM to work with.
[ci:skip-build]: already built successfully in CI
This prefers gitlab CI's target branch from the env, and falls back to
the old target branch detection mechanism (using pmaports.cfg, etc) if
it's not set. This fixes CI in gitlab where the target branch is
something different than expected, e.g. if using stacked branches.
[ci:skip-build]: already built successfully in CI
Upstream has switched to meson buildsystem and Luca's patches
were merged, so we can drop them.
Update package URL to linux-msm project.
Signed-off-by: Alexey Minnekhanov <alexeymin@postmarketos.org>
Upstream has moved to meson buildsystem and tagged new release.
Update package URL to linux-msm project.
Drop qrtr-ns subpackage, service and executable building, as it
was moved into kernel long time ago and separate userspace daemon
is no longer required.
Signed-off-by: Alexey Minnekhanov <alexeymin@postmarketos.org>
Due to Alpine packaging changes, linux-firmware-qcom is not pulled in
anymore so the GPU firmware a630_sqe.fw is missing on the device now.
Fix this by explicitly pulling in firmware-qcom-adreno-a630 which also
provides this file - based on linux-firmware.
These are useful on desktops/laptops/tablets.
This was only added to the gnome (desktop) UI because:
1) The system monitor could be useful on mobile devices however the UI
is not adaptive.
2) Disk utility isn't that useful on mobile devices since it tends to
show dozens of partitions on android phones, and so it's kinda
confusing and it would be easy for users to mess things up.
[ci:skip-build]: already built successfully in CI
Apparently some callers of `get_package_version` expect it to return
None if a package wasn't found... e.g. when CI is testing a branch that
introduces a new aport and it's trying to get the upstream version for
it, which doesn't exist.
This leads to a spectacular crash in CI:
upstream = get_package_version(args, package, commit, False)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/clayton/src/pmaports/./.ci/lib/check_changed_aports_versions.py", line 47, in get_package_version
return parsed["pkgver"] + "-r" + parsed["pkgrel"]
~~~~~~^^^^^^^^^^
TypeError: 'NoneType' object is not subscriptable
When I refactored this method in 07812a918 I goofed up and changed this
behavior, so let's restore it to fix the crash.
The apkbuild parser returns `pkgrel` key as a `str`, not an `int`,
so the `!= 0` check would always succeed even if the file set it to `0`.
[ci:skip-build]: already built successfully in CI
I don't like how CI requires pmbootstrap in PATH to be a symlink, I use
a wrapper script to handle running pmbootstrap how I want and the
current pmbootstrap path detection is kinda annoying since it depends on
it being a symlink.
This allows using an environment variable, PMBOOTSTRAP_PATH, to set the
pmbootstrap path and skip all of the symlink resolving stuff.
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
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.
Add deviceinfo_flash_kernel_on_update="true" to the deviceinfo file.
This makes sure that the updated kernel is flashed to the device every
time the linux-postmarketos-exynos4 package is updated.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
[ci:skip-build]: already built successfully in CI
90b0205a ("postmarketos-ui-i3wm: configure wallpaper globally") directly copies
the default i3 config into the user's config directory. Change to using the
wizard instead
Reading the wl1251 data on each boot can be useful when using the same SD card
on different devices, allowing each to fetch its correct calibration data.
Additionally, this opens up the possibility to simplify the packaging (in
follow-up commit)
After removing the following files, $pkgdir/usr/share/deviceinfo is empty:
- $pkgdir/usr/share/deviceinfo/$pkgname
- $pkgdir/usr/share/deviceinfo/deviceinfo
Remove it when it's empty.
[ci:skip-build]: already built successfully in CI
Package was removed and is now included in boot-deploy.
[ci:ignore-count]: Lots of packages intentionally changed.
[ci:skip-build]: already built successfully in CI
Features:
- Include "sort-key" in bootloader spec config (MR 58)
- Integrate pmos-update-depthcharge-kernel and pmos-update kernel
logic (MR 55)
[ci:skip-build] already built successfully in CI
Move goodix calibration rules to an subpackage because only the
replacement controllers are need this.
[ci:skip-build]: already built successfully in CI
Apparently f2fs has a soft dependency on this driver, so if it's =m in
the kernel then let's make sure it's always in the initramfs since f2fs
is a supported filesystem.
Fixes https://gitlab.com/postmarketOS/pmaports/-/issues/2711
[ci:skip-build]: already built successfully in CI
Near-mainline kernel is feature-complete since quite some time, so lets
use that as a default also to simplify boot process, since downstream kernel
depends on various blobs loaded into memory by the bootloader.
Get rid of quirks required in boot process for mainline kernels
also by using a near-mainline u-boot.
Prepare for handling rev b devices.
Keep Downstream kernel to be able to optimize/compare EPD operation
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>
- usbguard config: these are builtin USB devices that should be allowed
by default
- removed nonfree-fw package, I decided that everything from that should
be required since some fairly major features are broken without these
firmwares and relevant userspace apps
- re-enabled EFI runtime services, so efifb is used (and probably other
benefits?)
- Laptops need the "Linux Boot" option enabled
- "With recent UEFI firmware efi=noruntime can be left out when
the Linux Boot option is enabled."
- https://github.com/jhovold/linux/wiki/X13s#kernel-command-line
[ci:skip-build]: already built successfully in CI
This subpackage now installs a file that was previously in the other
subpackage it is meant to replace, leading to upgrade conflicts that
have to be manually resolved (i.e. with apk fix)
Fixes: 126f43220 and 1712a2d03
It seems that wireplumber is now installed by default, instead of pipewire-media-session. Thus we need to set api.alsa.headroom in wireplumber configuration too to get working audio.
This basically copies /usr/share/wireplumber/wireplumber.conf.d/alsa-vm.conf and relaxes the filters.
[ci:skip-build]: already built successfully in CI
exkc has stated that he cannot maintain the ports anymore,
see #postmarketos-devel discussion:
<@f_[xmpp]> af2e02839bcfb0aae789a9ea66f63a: hiya, are you available?
<@f_[xmpp]> It's about 2 of your Amlogic device ports. You said
before that your beelink-gt1 and xiaomi-once were broken
<@f_[xmpp]> are you still able to maintain these ports?
<@f_[xmpp]> If not then they should probably be dropped.
<af2e02839bcfb0aae789a9ea66f63a> drop them
<@f_[xmpp]> af2e02839bcfb0aae789a9ea66f63a: sure
[ci:skip-vercheck]
Suggested-by: exkc <exxxxkc@getgoogleoff.me>
Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
* Bring back /usr/share/wallpapers/postmarketos.jpg, which is used in at
least as the default in sway, mate, lxqt, xfce4
* Move postmarketos-gnome.xml here (instead of taking the version from
artwork.git), because the paths mentioned in the xml file are also set
in this package in pmaports. This makes it easier to maintain.
* Fix the paths in postmarketos-gnome.xml (postmarketos vs
postmarketOS).
* Keep the postmarketos-gnome.xml name, as we had it before recent
wallpaper changes, and as it is the same name in v23.12 still. This
should make it backwards compatible for people upgrading from v23.12.
* Move 10_pmOS-wallpaper.gschema.override here for the same reason.
Fixes: 72357ecf ("main/postmarketos-artwork: upgrade to Meadow wallpaper and make Plasma-compatible (MR 4805)")
[ci:skip-build]: already built successfully in CI
Remove the postmarketos-base-ui-gnome-wallpapers subpackage that only
Phosh and GNOME desktop used to depend on, and instead add a hard
dependency on postmarketos-artwork-wallpapers.
The config that enables the wallpapers will be moved to
postmarketos-artwork-wallpapers in the next commit. This will make it
easier to maintain, the paths to the wallpapers will only be in one
package instead of being scattered across many.
Fix that no wallpaper was set for sway:
[ERROR] [sway/config/output.c:828] failed to execute 'swaybg' (background configuration probably not applied): No such file or directory
Add support for Sony Xperia Z3 Compact and HTC One (M8).
Also take the opportunity to align the LOCALVERSION/KBUILD_BUILD_VERSION
fields with e.g. SC7280 kernel.
[ci:skip-build]: already built successfully in CI
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
- 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
( https://codeberg.org/megi/linux/commit/f9e3e7ea4ea5452e2c149acbe2a958751046ca29 )
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.
The handling for the lock key is currently unreliable (racy?). In many cases,
you have to toggle it twice to turn display off. Fix this by handling it via
acpid. Since the scripts currently depend on X11 tools, move them to the x11
subpackage. They can be moved back to the main device package in future when
Wayland support has been implemented.
Block i3 from handling the lock key to avoid additional races.
6c30cb42a4 ("linux-postmarketos-omap: enable new community kconfig options")
set CONFIG_LEDS_TRIGGER_DEFAULT_ON builtin. The consequence is that the debug
LEDs are now always turned on, which interferes with the keyboard backlight.
Since pmOS requires it to be builtin now, let us workaround the issue by not
loading leds_gpio at boot.
[ci:skip-build]: already built successfully in CI
Add deviceinfo variables so that QCDT generation is carried out by
boot-deploy. The mainline kernel no longer generates the QCDT image
for the device.
[ci:skip-build]: already built successfully in CI
Upgrade the kernel to version 6.8.1.
Move the devicetrees to be built in-tree. This enables better
integration of the devicetree sources with the kernel, such as being
able to access macros available in include/dt-bindings.
Additionally, remove QCDT generation from the kernel. This is required
for supporting multiple devices, having different QCDTs. It can instead
be done in a per-device basis using boot-deploy.
[ci:skip-build]: already built successfully in CI
Rules are the new and much more configurable way to handle conditionally
enabling jobs. Replace the old "only" keyword usage with equivalent
rules.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
The China LTE versions of Samsung Galaxy S5 (G9006[VW]/G9008[VW]/G9009W) have
some little hardware difference with the G900F variant.
Add kernel variants, with klte variant for G900F (which is currently
supported) and kltechn variant for G9006/G9008/G9009W (newly added).
Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
This workaround is basically identical to the one recently
applied to soc-qcom-msm8916 (MR 4958).
Tested on xiaomi-tissot and xiaomi-daisy, where performance for
GTK4 applications goes from barely usable to fairly decent.
Closes: https://gitlab.com/postmarketOS/pmaports/-/issues/2220
Thanks: Nikita Travkin <nikita@trvn.ru>
Signed-off-by: Andrea Bolognani <eof@kiyuko.org>
[ci:skip-build]: already built successfully in CI
The modem requires firmware to be loaded from an on-device RADIO partition, samsungipcd does that. Not installing it prevents that firmware from being used.
[ci:skip-build]: already built successfully in CI
This package is dropped from Alpine and I don't think we need it..?
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
[ci:skip-build]: already built successfully in CI
With the new changes in lk2nd that allow us to support extlinux.conf and
with the U-Boot support with EFI, we can now generate image that would
be generic to these devices.
[ci:skip-build]: already built successfully in CI
Instead of just disabling it on armv7, we can only build it on aarch64
given that the patches applied only are relevant on that architecture
anyway.
[ci:skip-vercheck]: No need to increment pkgrel when only changing
architectures.
[ci:skip-build]: already built successfully in CI
This one has stalled a bit due to some upstream shenanigans,
but is now confirmed to be fine; since it hasn't been merged
yet, add it here manually.
[ci:skip-build]: already built successfully in CI
This new package covers all three variants of the tablet: the WiFi
version (SM-T310), the 3G version (SM-T311) and the LTE version
(SM-T315). It uses the linux-postmarketos-exynos4 kernel, like other
mainlined Exynos 4 devices.
- The 3 different variants of the lt01 will be merged into a single
main device package, so the old package is deprecated.
- We will now be using the mainline kernel, so the downstream kernel is
no longer necessary.
- Add a patch to fix a new build error.
The binaries are the same as for the other devices, we just need to add three
new NVRAM TXTs, so add them here since they don't make the package that much
larger.
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
The current invocation doesn't work:
$ busybox dc "100" "5" / p
dc: can't open '100': No such file or directory
Fix it so that it does:
$ busybox dc -e "100 5 / p"
20
One of the messages that is printed on failure was missing
the "WARNING:" prefix. Address that too.
Signed-off-by: Andrea Bolognani <eof@kiyuko.org>
GTK4 has switched to a new renderer. Unfortunately adreno a306 is
effectively abandoned in mesa and has many bugs which the new GTK
renderer now hits.
To allow us to still use GTK4 apps on the msm8916 based devices, force
the old renderer on them for now.
Fixes: #2681
[ci:skip-build]: already built successfully in CI
How to boot from USB drives:
1. Make sure the extcon has OTG support and included in initramfs
2. Make sure the PMIC supports the power to OTG devices, and included in initramfs. Otherwise, a hub with external power supply is required.
3. Make sure module `usb-storage` is enabled in initramfs
4. `pmbootstrap install --sdcard=/dev/<usb_drive>`
- postmarketOS/pmbootstrap@942ee20789 is required to ignore sdcard check. Thanks @ollieparanoid for the patch.
5. `pmbootstrap flasher flash_kernel`
6. Insert the USB drive to OTG and boot
[ci:skip-build]: already built successfully in CI
I contribute to this package from time to time, so let's add myself to
maintainers to represent it here.
[ci:skip-build]: already built successfully in CI
This upgrades kernel to 6.6.22 backporting fixes for major performance
issues of Microsoft Surface RT.
This also re-generates config with "make grate_defconfig pmos.config"
and adds pmb:kconfigcheck-uefi for surface rt.
Now as boot-deploy allows us to generate both boot.img and extlinux.conf
at the same time, enable generating the config for all msm8226 since it
will be used in the future lk2nd release. boot.img is still kept to keep
compatibility with current lk2nd releases and to allow system recovery
with fastboot when required.
[ci:skip-build]: already built successfully in CI
* Parse the file in python and ensure it is ordered alphabetically
* Ensure that we have at least as many gitlab nicknames in CODEOWNERS,
as there are listed maintainers in main and community devices. This
should help with enforcing that every maintainer is also listed in
CODEOWNERS, so they can be easily pinged via their gitlab nickname if
something for the device they maintain is happening.
[ci:skip-build]: already built successfully in CI
Sometimes we need to figure out the gitlab nicknames of maintainers and
co-maintainers as listed in the APKBUILDs, e.g. when a specific issue
appears that only happens with a given device. Or if we want to ping
all device maintainers in the testing phase for the new release.
So far it has been a very tiresome, manual process to figure out gitlab
nicknames from the maintainers in the APKBUILDs (involving git log
--follow and opening merge requests in browsers...). After some
discussion we figured it would be good to store it in the CODEOWNERS
file.
This also has the nice side-effect that maintainers get notifications if
the APKBUILDs they maintain get changed.
We configure editors via editorconfig file. Remove the modeline, it was
wrong anyway by setting "et" to expand tabs to spaces, where in reality
this file uses tabs.
pmOS does not support charge mode anyway, and boots to a full UI, but this vendor kernel disables touchscreen when booting in charge mode. Remove that check, so that the phone can be used as usual.
[ci:skip-build]: already built successfully in CI
The postmarketos-artwork-wallpapers-gnome package no longer exists. Now
we just depend on the postmarketos-artwork-wallpapers package.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Current 6.6 kernel has some features broken for xiaomi-polaris including
LCD and Wi-Fi.
Add two patches that fix these problems.
Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
[ci:skip-build]: already built successfully in CI
Loaded 100 of 1851 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.