Anbox needs a specific set of nftables rules to allow incoming and
outgoing traffic. Anbox makes it easy to allow the specific traffic due
to the established `anbox0` bridge network interface.
UIs that depend on networkmanager also have an added dependency on
dnsmasq since this was removed from postmarketos-base
[ci:ignore-count] lots of packages, but no code compilation..
This makes venus load the right firmware on xiaomi-scorpio. It also has
re-enabled cpuidle in kconfig after it was mistakenly disabled in the last
update.
[ci:skip-build] already built successfully in CI
Shellcheck 0.7.2 has a change that gives many error conditions their own
SC30** codes, instead of including them in SC2039. This updates the
scripts in this package that "disable SC2039" to disable the new code.
New codes added in shellcheck: cfd68ee0c2ebfd0ab08a1d4bf628162b454dc207
This enables the firewall by default, and could be split off into a
future ui-base package so that the firewall (among other things) are
enabled only when UIs are installed.
Installs nftables config useful for pmOS::
1) drop all connections to wwan* (wildcard matching supported, are there
any other wwan iface names that wouldn't match this?)
2) allow ssh, drop from wwan (kinda redundant w/ the first rule, but
doesn't hurt..), allow DHCP on usb*
3) allow all incoming connections on usb* (with the -openusb subpackage)
4) enable logging all nftable events (with the -log subpackage), very
useful for debugging
fixes#1024
This patch is obsolete now and even breaks the detection
of headphones. Headsets are properly detected at all times.
Dropping this, allows ALSA to see the 'Headphone Jack' event
when headphones are plugged in and removed. This way, ALSA UCM
can act on these jack events as well.
[ci:skip-build] Already built on CI in a MR
If the system time jumps back and forth before installing the package
"swclock-offset", OpenRC can get confused whether the current dependency
tree is old or new. To resolve this confusion, the dependency tree cache
is updated within the post-install script of the openrc subpackage.
This is needed urgently to prevent `make oldconfig` from asking
questions about new options since 5.10 and thus unblock the
broken aarch64 BPO builder.
Some devices have a working but non-writable real-time clock (RTC).
This package contains two shell scripts: One writes the offset between
'hwclock' and 'swclock' to a file at shutdown, another one reads the
offset from the file at boot and sets the 'swclock'. This way the system
time in userspace is kept in present time.
[ci:skip-build] already built successfully in CI
This package sets GDK_BACKEND=wayland (in gtk-app-wayland.sh), and some
apps (firefox) still need that set to work. gsd-xsettings, which is
launched explicitly by Phosh 0.11.0+, does not work when this var is set
to wayland.
On Android devices that support kernel updates (marked by the deviceinfo
variable "deviceinfo_flash_kernel_on_update") lets flash the kernel and
initramfs automatically!
- Add support for Samsung Galaxy Note 3 (hlte)
- Changes to kernel config:
- add support for anbox
- add support for nftables
- add support for lxc, docker
- add support for Wireguard
- Disable CONFIG_ARM_APPENDED_DTB (for lk2nd compatibility)
[ci:skip-build] Already built on CI in a MR
Don't suspend the device while alsa is playing. I ran this for two days
in combination with suspend time set to 1 min on the pinephone and it
works great. Finally no suspend while VLC is playing podcasts.
This updates to the Linux stable 5.12.8 release, it also adds the kernel
side support for the speaker and headphone jack on the OnePlus 6 (
unfortunately not the 6T)
On my librem 5 when using directfb in initfs, touch input is really
inconsistent... the cursor seems to jump around and it's hard to enter
keys in osk-sdl. This is completely 'fixed' by disabling the ps2mouse
input module in dfb.
I guess this might cause mice to stop working (?), but I can't think of
any situation where someone would run osk-sdl in initfs on a device that
has a ps2 mouse but no keyboard (which would make more sense to use for
entry than the mouse..)
Next release of ModemManager needs Qualcomm RMNET support
for QMAP mobile data support.
armv7 config doesn't have ethernet enabled at all,
so this is only enabled for the aarch64 config.
I rebased all of the patches (only 2 needed some changes, the rest I
just did for good measure).
These two patches were dropped since they are already merged in the new
kernel:
0008-leds-gpio-Set-max-brightness-to-1.patch
0009-dts-pinephone-Add-pine64-pinephone-to-compat-list.patch was dropped
The kconfig changes are just after running kconfig edit, and making no
changes so that it would generate a config with any new options in 5.12,
to make maintenance easier moving forward.
In 35f283a8ef sxmo was made to install
sxmo on clean installs, but due to
9387842aec was getting uninstalled if it
was installed before. Let's properly depend on it instead so people
don't end up without working networking
The Mer stack that Asteroid uses actually uses connman by default rather
than NetworkManager, so let's enable it by default
SSH still works at least on Qemu
The Mer stack that Glacier uses actually uses connman by default rather
than NetworkManager, so let's enable it by default
SSH still works at least on Qemu
The v5.12.5-msm8996 tag also includes the yet-to-be-merged Qualcomm LPG
driver, with support for LEDs on xiaomi-scorpio including the IR LED.
Also clean up the config and enable useful configs such as ZRAM.
[ci:skip-build]: already built successfully in CI
We've rename the kernel repo to
https://gitlab.com/sdm845-mainline/linux,
update the package to point to the new repo.
[ci:skip-build]: already built successfully in CI
The older version we were shipping seems to have been removed upstream,
and thus this package didn't build anymore and has started blocking
Anbox related MR's
Fix build stopping at:
*
* Restart config...
*
*
* ARMv8.5 architectural features
*
Branch Target Identification support (ARM64_BTI) [Y/n/?] y
Use Branch Target Identification for kernel (ARM64_BTI_KERNEL) [Y/n/?] (NEW)
For some reason this did not happen (the whole 'Restart config...'
block) in the gitlab CI run with pretty much the same commit that ended
up being merged. Before it got merged however, it ran with
[ci:skip-build]. Maybe because of GCC-9 vs. GCC-10.
Related: https://gitlab.com/Kanedias/pmaports/-/jobs/1246094717
Related: https://builds.sr.ht/~postmarketos/job/503811
* Adds postmarketos-tweakd daemon to apply non-persistent settings on
boot
* Adds PinePhone settings file that adds the hardware specific battery
configuration
uboot-tools is provided by u-boot-tools but sometimes apk still gets
confused. This change prevents errors such as
pine64-pinephone:~$ sudo apk upgrade --verbose
WARNING: Failed to perform initial self-upgrade, continuing with full upgrade.
ERROR: unable to select packages:
uboot-tools (virtual):
provided by: u-boot-tools
required by: device-pine64-pinephone-0.25-r1[uboot-tools]
[ci:ignore-count]
[ci:skip-build]: already built in CI successfully
Make consistent with other UIs that have mobile-config-firefox installed
by adding font-noto and font-noto-emjo to _pmb_recommends.
Order _pmb_recommends alphabetically while at it.
[ci:skip-vercheck]: _pmb_recommends change doesn't need pkgrel bump
Enable SATA host support, the AHCI driver, and SCSI disk support so that
some generic PCIe SATA cards will properly detect and mount SATA drives
connected to them.
Tested on a RockPro64 with 2 3.5" drives connected in RAID 0 to an
Ableconn PEXSA115A 2-port PCIe x2 card (ASM1062).
The dialog to set a kwallet password is currently broken and unusable if
you try to set a password. To prevent this, just install a
pre-configured wallet without a password.
Not a great solution, but better than having the functionality be broken
for now.
Proper fix would be upstream fixing the virtual keyboard so users can
enter values in the right boxes. Once that is fixed, we can (and should)
revert this
Note by ollieparanoid: this patch was originally added as MR 2079 to
v21.03, instead of to master first and then getting cherry-picked to
edge as the process should be.
Make it easy for users to disable animations, switch to dark mode (by
changing the GTK theme), change suspend time and other tweaks.
[ci:skip-vercheck]: _pmb_recommends change doesn't need rebuild
[ci:skip-build]: already built successfully in CI
Fix the following error:
gcc/graphite-isl-ast-to-gimple.c:114:7: error: 'isl_id_free' was not declared in this scope; did you mean 'isl_aff_free'?
Found the patch here:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86724
Note that Alpine edge has isl 0.18 and not 0.20, but the error message
is the same and the patch works.
[ci:skip-vercheck]: no need to rebuild existing packages for this
Related: https://builds.sr.ht/~postmarketos/job/489478
Fails to build for armv7. Not sure if anyone is using this, and if they
are, this should be fixed / updated and submitted to Alpine instead (as
noted in the last MR where this was updated, MR 985).
In file included from /home/pmos/build/src/apitrace-9.0/thirdparty/libbacktrace/backtrace.c:38:
/home/pmos/build/src/apitrace-9.0/thirdparty/libbacktrace/backtrace.h:54:10: fatal error: gstdint.h: No such file or directory
54 | #include "gstdint.h"
| ^~~~~~~~~~~
compilation terminated.
Add a patch that ads the Samsung S5K5BAF CMOS image sensor and enables
the associated MIPI CSI-2 receiver node.
Also update to the latest stable kernel.
[ci:skip-build] already built successfully in CI
Temporarily disable tests for armv7, as py3-podcastparser and probably others
are not yet rebuilt against python 3.9 in Alpine edge.
[ci:skip-vercheck]
Use replaces="" to overwrite files in /usr/share/applications, instead
of creating files for /etc/skel/.local/share/applications. This way, we
can add new overrides when upgrading the package, not only initially
when creating the user's home dir from /etc/skel.
Remove v20.05 related comment, and "firefox-safe.desktop" override,
which is now "org.mozilla.firefox-safe.desktop".
Add org.gnome.Glade.desktop from glade, which gets pulled in by
libhandy1-dev (e.g. when installing makedepends for phosh). (Users who
really want to start glade on postmarketOS can either do it with the
command line, or uninstall postmarketos-hidden-desktop-entries, or
replace the file in /etc/ with the original .desktop entry. For everyone
else who just installed glade as makedepend, it removes one awkward
desktop launcher.)
I looked into modernizing this package to hide launchers that appeared
for GTK4 (issue 1029). However, this should be fixed in Alpine's gtk
package: https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/20116
As suggested by ollieparanoid, adds adwaita-icon-theme as a dependency
to gpodder-adaptive, for users that don't use phosh.
[ci:skip-build]: already built successfully in CI
These are required to make it work with the latest ModemManager patches,
especially the patch that switches BAM-DMUX to Raw-IP mode.
[ci:skip-build]: already built successfully in CI
- Update to Linux 5.11.7
- Upstreamed more patches
- Switch BAM DMUX (mobile data) driver to Raw-IP mode.
This makes it work with the upstream version of ModemManager,
reduces overhead a bit and is overall cleaner.
- Add QMI "memshare" driver which is needed for GPS to work on most
MSM8916 devices.
- GPS has been tested successfully on:
- alcatel-idol347
- lg-m216
- longcheer-l8150 (wileyfox-crackling)
- longcheer-l8910 (bq-paella)
- motorola-harpia
- motorola-osprey
- samsung-a2015 (a3(u)lte, a5(u)lte)
- samsung-serranovelte
- wingtech-wt88047 (xiaomi-wt88047)
- Needs more testing/investigation on:
- asus-z00l
- asus-z010d
- wingtech-wt865x8
- Add SMB1360 battery/charger/OTG driver for longcheer-l8190
and wingtech-wt88047.
- Rework TFA9895 speaker amplifier driver for potential upstreaming,
make it work for TFA9897, add channel selection and a lot of cleanup.
- Add INSTALL_MOD_STRIP=1 to maybe reduce the size of modules a bit.
- Other things I forgot :)
Device changes:
- alcatel-alto5-vdf: Initial support for Vodafone Smart prime 6
- USB
- Storage (eMMC, SD card)
- Buttons
- WiFi, Bluetooth
- alcatel-idol347: Initial support for Alcatel Idol 3 (4.7")
- USB
- Storage (eMMC, SD card)
- Display, Brightness
- Touchscreen, Buttons, Vibrator
- WiFi, Bluetooth
- Accelerometer, Magnetometer, Gyroscope, Proximity
- Audio (no headphones yet)
- Modem (voice call audio needs some more minor changes)
- asus-z00l
- SD card
- IMU (Accelerometer + Gyroscope), Magnetometer
- lg-m216
- Battery/charging
- longcheer-l8150 (wileyfox-crackling)
- Tweak battery values slightly for 25°C instead of 0°C
- longcheer-l8910 (bq-paella)
- Battery/charging
- USB OTG
- motorola-harpia
- Add panel driver for "boe" panel
- samsung-gt510wifi/matissevewifi:
- Fix touchscreen
- wingtech-wt88047 (xiaomi-wt88047)
- Battery/charging
- USB OTG
[ci:skip-build]: already built successfully in CI
* Add u-boot build with a lot of patches that makes the display work in
u-boot for boot selection
* Upgrade the rockchip kernel to 5.11 mainline with config for the
rk3399 devices built-in
* Make the rockpro64 and pinebook pro use the newer kernel
[ci:skip-build]
In order to have hardware acceleration in osk-sdl, we have included mesa
for some devices (like the PinePhone) in initfs-extra. Mesa drags in
libLLVM, which got a size increase of 27 MB in the last version. This
leads to running out of space on the boot partition:
==> initramfs: creating /boot/initramfs-postmarketos-allwinner-extra
gzip: write error: No space left on device
cpio: write error: Broken pipe
Improve the situation by not directly writing initfs-extra to /boot
(next to the old version), but to a temporary directory first. Replace
the old version with the new version afterwards (like before).
This is a rather minimal fix for this specific issue. The mkinitfs
script needs more fixing (it's one of the oldest pieces of code in
postmarketOS and could use a rewrite...), but that's out of scope for
this patch.
`qt5-qtquickcontrols` and `qt5-qtgraphicaleffects` are needed, else
qtwebbrowser shows a blackscreen on start.
[ci:skip-build]: already built successfully in CI
Update to the 5.11.0 kernel release.
This also fixes the previous build warnings.
[ci:skip-build] Already built fine on CI.
Signed-off-by: Caleb Connolly <caleb@connolly.tech>
Based on the Alpine mesa APKBUILD, but only the DRI driver
is packaged. It conflicts with the DRI gallium driver as
they both provide ARM dri drivers. It depends on the main
Mesa packages.
The work on an adaptive gpodder UI by tpikonen has continued
and is now available in the official gpodder repo as a dedicated
branch. This commit updates the package to the latest current
version of the branch.
CRDA in the kernel requires a regulatory database to be available
to configure the WiFi card correctly following the regulations in
each possible environment.
Add post-upgrade file with a warning, so we don't symlink it to the
post-install script.
[ci:skip-vercheck]: no need to rebuild the package
Related: build.postmarketos.org#85
This updates the current commit and refactor APKBUILD to
more modern way of writing downstream kernels. Also move to main/ to fit
other linux-postmarketos-* kernels.
The i2c bus for the pogo pins was locked up because the level shifter is
powered by the regulator used for the cameras. This enables that
specific regular for the gpios the i2c bus is on so the pull-ups work
when reading and writing from the pogo pins.
[ci:skip-build] Already built in CI
This is required by some software, e.g. bluez/gnome to set some ACLs on
/dev/rfkill (see #904). While probably nobody will notice on the
downstream kernels (as we don't have any proper software there anyways)
it's definitely needed on mainline-ish kernels. Surprisingly only one
kernel has broken by enabling this option (linux-sony-tulip) which I've
patched up.
linux-postmarketos-qcom-sdm660 did not break by enabling this option,
but required linux4.17-gcc10-extern_YYLOC_global_declaration.patch to
build again, so this was fixed too.
[ci:skip-build] [ci:ignore-count]
Fixes installs with pmbootstrap using default recommends. Foxtrotgps has been
removed from alpine since it depends on libglade which will soon be deprecated
from alpine.
[ci:skip-build] Never succeeds in time, too many packages for CI
[ci:skip-vercheck] We need our Mauikit to have -r1 to be newer
than in Alpine repos, but the CI requires all new packages to
have -r0.
We're going to omit Telegram though, we shouldn't recommend a walled
garden with proprietary backend like that. Besides, NeoChat (and thus
Matrix) is already in there
Remove devmappings service. The original purpose of this service was to
ensure that /boot is mounted properly after the initramfs passed control
to OpenRC, because the initramfs used to umount /boot before that. With
/etc/fstab alone, /boot get not get mounted with subpartitions (which we
use on Android devices), if util-linux >= 2.33 was installed (MR 115).
Nowadays, we don't umount /boot in the initramfs before passing control
to OpenRC anymore (MR 1398). So this service isn't needed anymore, and
prevented the previous pmOS_inst_boot <> pmOS_boot patch from working
correctly.
Find partitions with the label "pmOS_inst_boot" too, and prefer using
them as boot partition over ones with label "pmOS_boot". (I'd use
"pmOS_install_boot", but there is a character limit in the label.)
Without this, the initramfs may choose the wrong boot partition if
postmarketOS is available once as install OS (on device installer) on
the SD card and once on the eMMC (installed).
I just had this problem with QEMU when simulating the install from SD to
eMMC use case with pmbootstrap qemu --second-storage. The pmOS initramfs
scripts would detect the previously created eMMC boot partition as the
proper one and mount it. It would boot into the right root partition,
because that already has a different label (pmOS_install instead of
pmOS_root), but because the wrong boot partition is already mounted,
during the install it would not be possible to run mkfs on it.
- Update to Linux 5.11-rc4
- Upstreamed more patches
- Fix audio regression without modem introduced by some refactoring
from Qualcomm upstream
Devices:
- samsung-a2015 (a3/a5): Fix speaker on some devices
- motorola-osprey: Add modem
Fix error if -p arg or dtb dir do not end with /.
Currently, running
$ dtbTool-sprd -p "scripts/dtc" -o "arch/arm/boot/dt.img" "arch/arm/boot/dts/"
or
$ dtbTool-sprd -p "scripts/dtc/" -o "arch/arm/boot/dt.img" "arch/arm/boot/dts"
fails with something like
DTB combiner:
Input directory: 'arch/arm/boot/dts/'
Output file: 'dt.img'
Found file: sprd-scx20_sp7731ceb.dtb ... skip, failed to scan for 'sprd,sc-id =<' tag
=> Found 0 unique DTB(s)
instead of succeeding with something like
DTB combiner:
Input directory: 'arch/arm/boot/dts/'
Output file: 'dt.img'
Found file: sprd-scx20_sp7731ceb.dtb ... chipset: 8830, platform: 1, rev: 131072
=> Found 1 unique DTB(s)
Generating master DTB... completed
The reason for the failure is that the tool tries to run external
commands and concatenates the path from the args, meaning that it
tries to run scripts/dtcdtc instead of scripts/dtc/dtc.
Rebuild against new calamares version. Usually the upstream-compat CI
job should have warned about this, but it didn't. Turns out, that abuild
did not trace the dependencies of calamares-extension-mod-mobile because
the main package had arch="noarch".
Related: https://gitlab.alpinelinux.org/alpine/abuild/-/issues/10022
Add the dependency to properly support file transfer between sandboxed
applications. Currently they can be used with flatpak (e.g. for quickly
testing out applications, not a recommended way to applications) and long
term we could use this in combination with apparmor for natively packaged
applications.
Notably the KDE version is already getting pulled in by when installing
postmarketos-ui-plasma-*.
Wireguard's userspace tool 'wg-quick' requires certain network and
netfilter options in the kernel config to be enabled, since it uses
policy routing and some 'iptables' modules. An overview of the options
and why they are required can be found in pmaports#909.
NOTE: after rebasing this patch on the one that enables anbox related
kconfig options, only CONFIG_IP_MULTIPLE_TABLES=y was left.
NeoChat is available in community, and will be shipped by default on the
PinePhone KDE CE, so let's do the same
[ci:skip-vercheck]: just modifying _pmb_recommends
This adds a patch that enables signing blobs via flag.
Certain recent Asus Tegra devices (tf201, tf300, tf700/1)
only accept signed blobs, this was implemented upstream
but seems that some lines got deleted.
This also updates upstream repository to use PMOS one.
This patch checks if deviceinfo_bootimg_blobpack is "sign"
in that case it passes signing flag for devices that require.
Devices (tf101) that don't use signing will continue working
when passing "true" as now.
This adds sleep-inhibitor as a dependency when elogind is present, and
installs a conf for it with some plugins enabled that are beneficial to
devices running pmOS. The elogind suspend hook is dropped.
This resolves issues where suspend is aborted in the hook *after*
PrepareForSleep is sent over dbus (which might cause some things to
disable radios/modems, etc for suspend).
The 'period' in the conf is in minutes, a value of 0.1 is 6 seconds,
which seems reasonable for releasing the lock when conditions for
inhibiting no longer apply, without spinning the CPU too frequently.
The calamares module and branding was made distro-agnostic and moved to
calamares-extensions.git. A new "make install" target inside
postmarketos-ondev.git installs all files, so we need less logic in the
APKBUILD.
Replace lightdm with tinydm. Add xset dependency to disable screen
blanking.
Don't use cmake to copy the files to the target path, because it would
install to the wrong directory:
/usr/lib/qml/QtQuick/VirtualKeyboard/Styles/Plasma/
instead of:
/usr/lib/qt5/qml/QtQuick/VirtualKeyboard/Styles/Plasma/
I've spent some time trying to figure out why it does that, but could
not find it right away. This is just a legacy component, so not worth
spending much time on this detail.
Adds support for pinephone
Adds migration away from python and to C for event path discovery and touch dimensions
[ci:skip-build]: already built successfully in CI
Let all packages depending on tinydm depend on tinydm-openrc too. This
is needed to make sure that tinydm-openrc is installed, before the
tinydm service is enabled in the UI's post-install scripts.
This was not an issue because tinydm currently depends on tinydm-openrc.
But that's a hack and will be removed when upstreaming tinydm to alpine.
[ci:skip-build]: already built successfully in CI
Fix failure in the osk-sdl "keyboard-font" check when there is a second
key starting with "keyboard-font" (as in osk-sdl MR 105):
==> initramfs: creating /boot/initramfs-postmarketos-allwinner-extra
ERROR: Font specified in /etc/osk.conf does not exist!
ERROR: postmarketos-mkinitfs-0.17-r0.trigger: script exited with error 1