ar is set to binutils one since it seems like "cmd:llvm-ar" in Alpine
resolves to "llvm" that installs the symlink but the binary itself
isn't being installed somehow...
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6808
[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
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
Commit fe54a7be4 ("device/msm8916*: Generate extlinux.conf (MR 4826)")
updated most users of msm8916 kernel to generate extlinux.conf.
Unfortunately the commands used to bulk-make changes only affected
aarch64 users of the kernel package and armv7 users were missed.
Apply the same changes to all armv7 users of msm8916 kernel too.
[ci:ignore-count]
Now as boot-deploy allows us to generate both boot.img and extlinux.conf
at the same time, enable generating the config for all msm8916 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
[ci:ignore-count]
The display panel for these devices was upstreamed and now uses a
different name. Update it so the display is loaded properly.
[ci:skip-build]: already built successfully in CI
iio-sensor-proxy wants to know when to report "near" status. Add an udev
rule defining that value as a workaround untl it can be passed from
the DT.
[ci:skip-build] already built successfully in CI
Alpine patches busybox to support image alignment in [1].
So far we don't need to align the spalshes in postmarketOS as those are
generated per device. However with generic images it becomes impossible
to support multiple resolutions with this approach.
Set the alignment to "Center" in fbsplash config so generic system
images can reuse the splash on multiple resolutions.
[1] - https://gitlab.alpinelinux.org/alpine/aports/-/blob/master/main/busybox/0008-fbsplash-support-image-and-bar-alignment-and-positio.patch
[ci:skip-build] already built successfully in CI
Due to the fact that wifi variants have different modem configuration
(modem on non-lte deviecs is ignored for now but that may change)
the lte kernel name should be called "modem-lte" and not just "modem".
The deviceinfo proerty was overlooked when converting gt58lte to generic
gt58 port. This makes it impossible to install LTE enabled kernel.
Fix the property name.
Right now we have multiple variants of A5 that are only different in
secure-boot keys and as such different firmware blobs.
Use msm-firmware-loader to support all A5 variants with a single device
port. Because of that, drop lte suffix as there are 3g variants as well.
Right now we have multiple variants of A3 that are only different in
secure-boot keys and as such different firmware blobs.
Use msm-firmware-loader to support all A3 variants with a single device
port. Because of that, drop lte suffix as there are 3g variants as well.
With the new msm8916-mainline kernel DT for gt510wifi is reworked to be
reused with gt58 devices. While at it, the DT was generalized to be used
with the LTE variants of the device as well as the wifi variant.
Change base dtb name to the new common dt and add an LTE-specific dt
that enavles the modem. Since variants have different secure-boot keys,
use msm-firmware-loader for that.
Also make various updates to support gpu-accelerated UI's and FDE.
Many devices need proprietary firmware blobs. So far those blobs were
packaged and installed from the repository but this approach has many
drawbacks:
- The rootfs can only be used on a single device model.
- If a model has multiple variants that have diferent secire-boot key,
each must have it's own firmware blobs.
This makes maintaining packaged firmware very hard and outweights the
benefits of having a repeatable installation in most cases.
Instead we can load blobs dynamically from preexisting firmware
partitions that usually have same structure and contain the blobs we are
interested in.
The proposed scripts place symlinks to the blobs in a special dir that
then given to the kernel. Blobs from firmware/postmarketos (or another
dir that was set as extra path prior the script execution) will take
priority which allows to override some blobs (e.g. for deviecs with no
secure-boot)
- Rebase on v5.14-rc7
- Upstreamed more patches
- Enable Jack detection kctls for msm8916 devices
- Probably many other things I forgot :)
Device changes:
- gt5 family:
- Added fuel-gauge support
- Added sensors (Accelerometer, Light)
- gt510 - wifi variant reworked to use multiple common layers
- gt510lte - Added support for LTE variant
- gt58 - New device
- gt58lte - Support for LTE variant
- Feature parity with gt510
- wingtech-wt88047 (Xioami Redmi 2):
- Add additional boe-nt35521s panel driver
- longcheer-l8150: Fix Jack detection
uim-selection has "after *" in it's dependencies to make sure the
theoretical up to ~1min delay can't be observed. Unfortunaely this
causes incorrect dependencies ordering if one of other services depends
on ofono or modemmanager. Drop "after *" so modem can always be started
properly.
Some msm8916 devices, primarily with two sim slots, require slot
to be selected. Install uim-selection script for all msm8916 devices
with modem enabled.
[ci:skip-build] already built successfully in CI
On some devices, primarily with two sim slots, modem doesn't choose
the sim automatically. Add an init script that would detect in which
slot the sim is present and configure the modem to use it.