Based on Minecrell work at:
https://gitlab.com/Minecrell/pmaports/-/tree/alcatel-idol347-downstream
adapted smb1360 shared patches for idol347 downstream tree,
and added his idol347-like-mainline.patch gist which changes downstream DT
to mimic sane mainline settings for easy battery driver dump comparison.
This branch includes a patch to resolve a deadlock when Phosh is
starting up. This patch was merged in aports edge.
The rest of the patches in this branch are minor fixes, so I don't
expect any regressions.
fixes#1142
[ci:skip-build] already built successfully in CI
[ci:ignore-count]
[ci:skip-vercheck] needed for the postmarketos-ui-* packages in this
series
[ci:skip-build] already built ui-* packages in CI, and device pacakges
are just trivial deviceinfo change (manually built some just to verify)
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.
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.
This adds a very basic openrc runscript that sets the power state on
/dev/nvme0 to level 2, which seems(?) to be the lowest operational power
state based on some cursory internet searching (and querying the nvme
drives I have, Samsung EVO and Pro)
The drive path is hard coded, but could be made configurable later on. I
basically wanted to get something in pmaports quickly, since this power
stuff is a major source of instability for me and probably others too
who add nvme drives to this device.
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
1 does fit the lock screen better, but 1.2 works better overall.
Some things are tiny with 1. 1.2 fits the lock screen decently and
still provides decently sized user interface elements.
Downstream kernel made by Corellium which enables the iPhone 7 to boot.
This is the continuation of my work for a PostmarketOS port based on
@MartijnBraam kernel and devices packages.
PogoOS by the Checkra1n team is used to boot the Linux kernel. Further
instructions will be available in the PostmarketOS Wiki page.
[ci:skip-build] already built successfully in CI
I sometimes test DB410c via mainline U-Boot, which wants to have the
DTB in the "second" part of the Android boot image. Otherwise it works
fine. Include it there additionally to simplify this.
[ci:skip-build] already built successfully in CI
On top of the firmware we already have, we also need device-specific
modem firmware. Use script from firmware-motorola-potter(credit goes to
Sireesh Kodali). Also imitate the logic in firmware-motorola-potter.
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.
Having RMTFS at runlevel boot makes it start the modem too fast and causes
crashes. Move it to runlevel default with a post-install.
[ci:skip-build] already built successfully in CI
The Huawei Ascend G7 is based on Qualcomm MSM8916 and therefore makes
use of linux-postmarketos-qcom-msm8916 as a close-to-mainline kernel.
Initially supported features:
- USB
- Storage (eMMC, SD card)
- Display
- Touchscreen, Buttons, Vibrator
- Notification LED
- WiFi/Bluetooth
- Accelerometer, Magnetometer, Proximity
- Audio
- NFC
The modem needs more work to work around strange Huawei firmware mess.
Note that the Huawei shipped an outdated firmware version that does
not support booting aarch64 kernels (like used in this device port).
However, the device does not verify firmware signatures so it is
possible to flash firmware from other devices. This is mostly
described in the wiki, but unfortunately it's quite complex.
However, the aarch64 version of linux-postmarketos-qcom-msm8916
receives much more testing so I would like to avoid adding more
armv7 MSM8916 devices unless absolutely necessary.
For pointercal:
Screen dimension 720x1280
Touchscreen dimension (reported by evtest) 1100x1900
720/1100*65536 = ~42896
1280/1900*65536 = ~44151
Offset doesn't seem to be needed.
[ci:skip-build] already built successfully in CI
- 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