Pulseaudio is used by other graphical UIs to manage audio, so having it
installed for sway is useful for having audio working "out of the box"
[ci:skip-build] already built successfully in CI
This package used to be installed through osk-sdl, but now osk-sdl is only
installed when FDE is enabled, and so when it is not enabled the system has no
fonts to use, which means UIs like Sway and Weston have broken fonts. This
commit fixes the issue.
[ci:skip-build] already built successfully in CI
This adds a new 'UI' that includes networking support (network manager), firewall (by way
of postmarketos-base-ui), and anything else that will give a basic,
working image without any graphical UI.
The intention is for bpo to build this instead of the 'none' UI. 'none'
UI will continue to be around for mainlining and testing purposes.
This switches the config over to one based on Alpine's linux-gru which
is for an rk3399 chromebook. It produces way smaller kernels and has
more general purpose hardware support.
The udev file "20-tm2-touchkey-leds.rules" disables the leds of
tm2-touchkey by default because they are in an unconfigured state.
The udev file "95-rt5033-battery-refresh.rules" triggers a refresh
of the rt5033-battery information within UPower 5 secs after
initialization. This avoids a wrong battery icon after boot.
The udev file "50-firmware.rules" was moved from /etc/udev/rules.d
to /lib/udev/rules.d.
Related: https://wiki.postmarketos.org/wiki/Packaging#Device_specific_quirks
Adds pmb:gpu-accel option to Phosh, Plasma Mobile/Bigscreen, Sway,
Glacier and Kodi APKBUILDs to hide the UIs at `pmbootstrap init`
for devices without GPU acceleration support.
Related: pmbootstrap!2043
[ci:skip-build]: already built successfully in CI
[ci:skip-vercheck]
Should work same as before.
Slightly tweaked kernel config options:
* default cpufreq governor is now "conservative" instead of "performance", which should be better for devices running on battery. Not that it matters, MSM8974 does not have cpufreq support anyway.
* enabled CONFIG_ARM_QCOM_SPM_CPUIDLE, which was missing! At least some cpuide is better than none at all.
* 2 missing options for nftables: CONFIG_IP6_NF_FILTER, CONFIG_IP6_NF_TARGET_REJECT
* few missing options for wg-quick: CONFIG_IPV6_MULTIPLE_TABLES, CONFIG_IP_MULTIPLE_TABLES, CONFIG_IP6_NF_RAW, CONFIG_IP_NF_RAW
WWAN subsystem is not enabled.
BAM-DMUX upgraded to version "v3" (subnode of modem remoteproc)
Mark kernel package as supporting anbox, containers (in addition to nftables)
[ci:skip-build] Already built successfully twice on CI
Phosh 0.12.0 introduces filtering when the device is of a mobile type
and the app is not explicitly 'adaptive'. This means a lot of apps that
might otherwise work ok-ish are gone from the list.
This change disables the filtering for now.
Currently, shut down and reboot as a user does not work (sudo shutdown
from terminal required). polkit-elogind needs to be installed. lxpolkit
is not needed.
This:
1. fixes the UI not showing up on boot by installing polkit-elogind
2. makes for fancy password popups when root rights are needed rather
than just fail silently
Move the package back from aports to pmaports and fix fall out from
postmarketos-base-ui related breakage:
* add the subset of depends from postmarketos-base-ui that are used in
postmarketos-ondev
* upgrade to postmarketos-ondev 0.7.1, where I made it compatible with
using the default tinydm config (not just the one overridden in
postmarketos-base-ui-tinydm)
Reasoning for moving it from alpine to pmaports, in line with our new
guidelines (that were written after the package was moved to aports):
* has postmarketOS branding
* enables services in post-install (similar to postmarketos-ui-* packages)
Related: https://wiki.postmarketos.org/wiki/Packaging#Should_my_package_be_in_postmarketOS_or_Alpine.3F
* use tinydm instead of lightdm
* set default term to foot, as alacritty needs a recent opengl version
(issue 984)
* override sway config to actually use foot (there is no
sway-sensible-terminal and upstream isn't interested in adding it)
* set the pmOS wallpaper in the overridden sway config
* add a subpackage that allows changing $mod to Alt, so it's easier to
test this in QEMU while running i3/sway on the host with $mod set to
Mod4
* re-enable previously disabled architectures
* set myself as maintainer
Currently, this only sets Firefox to run in Wayland mode, but in the
future it might be used to make e.g. SDL applications run in Wayland
mode.
SDL applications are not set to run in Wayland mode right no as
SDL 1.2 uses the same environment variable as SDL 2.0 for
controlling video driver (SDL_VIDEODRIVER) and SDL 1.2 does not
support Wayland and crashes if an invalid value is provided for
SDL_VIDEODRIVER, and as such setting SDL_VIDEODRIVER=wayland
globally would break all SDL 1.2 applications. This will however be
fixed once SDL 1.2 is replaced by sdl12-compat in Alpine, as
sdl12-compat implements the SDL 1.2 API and ABI via SDL 2.0 and as
such supports Wayland. As such, once this happens we can start
setting SDL_VIDEODRIVER=wayland.
[ci:skip-build] already built successfully in CI
This causes issues with some programs, chiefly that gsd-xsetttings
does not start properly. GDK_BACKEND=wayland is only really
necessary to make Firefox run in Wayland mode anyway - other GTK 3/4
apps use it automatically. Firefox will be set to use Wayland via a
following commit.
- Update to Linux 5.13
- Upstreamed many more patches
- Various cleanup to BAM-DMUX driver to prepare for upstreaming
- Enable support for virtualization/KVM via https://github.com/msm8916-mainline/qhypstub
- Probably many other things I forgot :)
- Add tons of kernel config options for containers and nftables
- Add WireGuard to kernel config
Device changes:
- huawei-g7: Initial support for Huawei Ascend G7
- USB
- Storage (eMMC, SD card)
- Display
- Touchscreen, Buttons, Vibrator
- Notification LED
- WiFi/Bluetooth
- Accelerometer, Magnetometer, Proximity
- Audio
- NFC
- lg-c50: Initial support for LG Leon LTE
- USB
- Storage (eMMC, SD card)
- Buttons
- WiFi/Bluetooth
- Vibrator
- Display
- longcheer-l8150 (wileyfox-crackling): Fix proximity sensor
- motorola-surnia: Add audio and modem
- samsung-j5nlte: Add buttons
- samsung-j5xlte: Initial support for Samsung Galaxy J5 (2016)
- USB
- Storage (eMMC, SD card)
- Buttons
- samsung-serranovelte: Add USB-OTG detection
[ci:skip-build] already built successfully in CI
This replaces the dependency on osk-sdl with a dependency on a
postmarketos-fde-unlocker virt. package
osk-sdl and its dependencies are also added contitionally to the initfs,
based on whether the osk-sdl exe is installed in the rootfs
Also see:
https://gitlab.com/postmarketOS/pmbootstrap/-/merge_requests/2066
This rule is installed by default, since users that need usb inet won't
have an easy way to install a subpackage.
This is meant to facilitate:
https://wiki.postmarketos.org/wiki/USB_Internet
The old rule would result in nftables failing to load if the iface
doesn't exist. Using `iifname` will match on any future ifaces if they
don't exist when the firewall starts.
1. Fixes touchscreen input not working in Poco F1 (Tianma variant) in osk-sdl
2. Basic dts support for Xiaomi Mi 8 Pro(Equuleus)
3. Basic dts support for LG G7 and LG V35
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
Do not change config files in post-install scripts anymore (with sed
commands or by other means). Instead, ship the files inside the packages
and use "replaces", so apk allows the package to overwrite files from
other packages:
https://wiki.alpinelinux.org/wiki/APKBUILD_Reference#replaces
Notes on specific files:
* /etc/elogind/logind.conf: original file only consists of commented out
compile defaults. Copy them over for now. In the future we should be
able to install our own config into a .d directory, without all the
comments: 8358fc5950
* /etc/fstab: original file only has /dev/cdrom and /dev/usbdisk
entries, which are not useful for postmarketOS:
https://gitlab.alpinelinux.org/alpine/aports/-/blob/master/main/alpine-baselayout/APKBUILD
* /etc/motd: reformat the text, add link to the chat
* /etc/conf.d/syslog: original file only contained 'SYSLOGD_OPTS="-t"',
make the override file as if the sed statement from post-install was
executed
* /etc/wpa_supplicant/wpa_supplicant.conf: post-install script touches
this file. We probably added it back in 2017 in relation to enabling
D-Bus (though the PR does not mention it explicity), but at least with
the current init.d script of NetworkManager, we can simply have '-u' in
wpa_supplicant_args:
https://github.com/postmarketOS/pmbootstrap/pull/578https://gitlab.alpinelinux.org/alpine/aports/-/blob/master/main/wpa_supplicant/wpa_supplicant.initd
* /etc/sudoers: base on original /etc/sudoers, but remove all the
commented out stuff except for the visudo note at the top. We could
also put a file in /etc/sudoers.d, but since the wheel line is present
in the original /etc/sudoers and only commented out, it would be kind
of unexpected to enable it in a file in /etc/sudoers.d. I prefer this
stripped down version of the file, that is easy to read.
Refactor the install code to be generic, so we only need to add the new
path in one place when adding a new file. Put the full path into the
filename to make this possible.
I've tried to mimic the final directory structure in the aport first
(e.g. $pkgdir/sbin/swapfile -> main/postmarketos-base/sbin/swapfile),
but that leads to conflicts as abuild only takes the filename for
checksums (conflict with etc/conf.d/swapfile):
https://gitlab.alpinelinux.org/alpine/abuild/-/issues/10013
We don't really need checksum verification for the files shipped in the
same directory (not downloaded), but nevertheless this is a bug. It
leads to confusing behavior and might be fixed by letting abuild demand
that there is only one source file with the same name, as I suggested in
the issue linked above. So let's avoid this altogether with the flat
file name.
wireguard needs the ipv6 multitable option to make a seperate routing
table for the inside and outside vpn part of the network.
[ci:skip-build]: already built successfully in CI
Even on the PinePhone KDE community edition Megapixels will be shipped
instead of plasma-camera, so let's do the same
The resulting package doesn't change, _pmb_recommends is only a
pmbootstrap thing, so we don't have to bump pkgrel
[ci:skip-vercheck]
Battery percentage monitoring support:
* lg-hammerhead
* samsung-klte
Mobile internet support:
* fairphone-fp2
QCOM_SOCINFO for querying information from the SoC
[ci:skip-build]: already built successfully in CI
Update ov5640 autofocus related patch. We had it working with Martijn's
patch in 5.9.1_git20201019-r2 (MR 1654), but then dropped the patch in
favor of the patch that was added to megi's tree in 5.9.3_git20201101
(MR 1678).
It turns out that the patch added to megi's tree was different than the
patch we were carrying, it was a WIP version where loading the autofocus
firmware did not work anymore.
Megi decided to drop the autofocus patch from his tree for now, as the
firmware uploader takes more time in Martijn's proper patch. According
to Martijn it takes about a second, which seems reasonable for the
postmarketOS use case. I've added the previous version again as
out-of-tree patch.
Martijn found that for some reason the continuous autofocus still
doesn't want to start with this kernel and current patch version, as for
some reason the firmware load fails. But he extended the patch to make
autofocus work again with "tap to focus" at least.
0005-dts-pinephone-Disable-flash-led-in-OV5640-node.patch is not needed
anymore, the same change is in megi's tree.
Co-Authored-By: Martijn Braam <martijn@brixit.nl>
[ci:skip-build]: already built successfully in CI
The devices supported by this package are Galaxy S3 (GT-I9300, GT-I9305,
SHV-E210K/L/S) and the Galaxy Note 2 (GT-N7100, GT-N7105) - a family of
boards also known by the codename "Midas" - and the Galaxy S2 (GT-I9100)
From this list, only the i9100 doesn't support the bootimg method.
Because of this, this kernel package is using the isorec method for all
the devices on the list. Additionally, for the midas devices, there is
no problem with this because the boot.img file is, in fact, a copy of
the kernel+initramfs on the pmos boot partition and what the isorec
initramfs does is actually to load the initramfs on that partition
directly (at least on my understanding).
Use the dtb-appended kernel file, e.g. postmarketos-exynos4-dtb instead
of postmarketos-exynos4, if it is available. This is needed to flash a
mainline kernel with appended dtb to isorec devices.
This patches from the megi solves the issue of the MIPI-DSI panels
framerate being at 2/3rd of actual or expected rate.
[ci:skip-build]: already built successfully in CI
Squeekboard >= 0.10.0 looks for an a11y setting to determine if it
should show up on the screen. This sets the config setting to 'true' so
that it shows up by default. It can apparently be toggled off in Gnome
Settings, but I haven't found the UI switch to do that yet..