This uses a script, /usr/bin/phys-keyboard-present, that is added to the
initfs for determining whether or not to run osk-sdl with -x to hide the
on-screen keyboard.
phys-keyboard-present is an (optional) script provided by device
packages, since the implementation for detecting whether or not a
keyboard is present will likely differ across different devices. The
script exit with a return code of 0 if a physical keyboard is present,
or non-zero if one is *not* present.
This patch requires osk-sdl >=0.65
Note: shellcheck set to ignore SC2086 because we actually want to split
on spaces here since each item is a separate parameter to osk-sdl.
See: https://github.com/koalaman/shellcheck/wiki/SC2086#exceptions
[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
My engineering prototype 1 Gb pinetab is close to unusable,
so I can't use it to test pmOS. Also, PINE64 is no longer
selling these devices, and the ones that were sent previously
to some developers use different display panel anyway.
Martijn Braam and Dylan Van Assche agreed to maintain it.
[skip 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
Commits cfb5d41b and ead17254 updated the default battery levels for
warnings and actions in the pinephone and the pinetab. Since then,
the chances of the phone dying for lack of battery power have completely
dissapeared. However, the battery icon in phosh was never updated to show
a "caution" battery level. The value was hardcoded and ignored the setting
in the config file. This commit fixes that issue
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
Missing '/' in aports path will make glob below invalid.
It will find 0 files and thus effectively skip all tests.
Construct full path using f-strings.
Double '/' in path that can be there if args.aports ends
with slash is harmless.
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
Based on downstream Android 7.0 kernel source from Huawei.
02_fix_undeclared_AUD_INET.patch is from huawei-alice
USB Networking, Touchscreen, USB OTG and Display work in xfce4.
Wifi just needs firmware, audio is broken.
Other parts haven't been tested yet.
The close-to-mainline kernel removed the generic-dsi driver in favor of
normal panel drivers. Also the panel drivers are now built in. Reflect that.
Also reflect the changes of firmware-motorola-ocean in
device-motorola-ocean_nonfree-firmware.
[ci:skip-build] Already built on CI in MR
Workaround for https://source.puri.sm/Librem5/linux-next/-/issues/303.
It seems worth sacrificing some power savings for a modem that won't
disappear, at least until the above issue is fixed.
[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
At the moment, oFono/MM are usually stopped after rmtfs on shutdown.
This does not make sense, since the modem managed by oFono/MM will
disappear once rmtfs is stopped. Add a "before ofono modemmanager"
to make sure that OpenRC will stop oFono/MM before rmtfs on shutdown.
This may or may not fix some occasional hangs during shutdown,
but it definitely makes it possible for oFono/MM to shutdown cleanly.
pmb will suppress firewall-related messages on branches that don't have
these changes
[ci:skip-build] changed kernel packages in this series cause timeout at 3hr
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
Headset jack events emit 2 events: 'Headset Microphone Jack'
and 'Headphone Jack'. These were properly detected before,
but not headphone jack events only: 'Headphone Jack'.
This change allows to detect headphone jack events as well
and act on these events by setting the headphones as
default audio output while keeping the internal
microphone as audio input. For headsets,
the microphone is switched to the headset microphone as well.
- Add SLPI to nonfree_firmware description
- Add touchscreen and fuel gauge modules to the initramfs in preparation for
osk-sdl and charging-sdl (or any new alternative) support
- Add pointercal file for osk-sdl
[ci:skip-vercheck]
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.
Set package dependency "swclock-offset" to "soc-qcom-msm8916" and
"soc-qcom-sdm845".
These SoC's have a read-only real-time clock (RTC). The package
"swclock-offset" keeps an offset between the RTC and the system time.
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
Port based on an unofficial LineageOS port
from https://www.los-legacy.de/17.1/zerofltexx, using kernel from
https://github.com/Exynos7420/android_kernel_samsung_exynos7420/
What works:
- Kernel boots
- Display and touch input (tested with Weston)
- USB networking
- Wifi
For now only including Wifi drivers, as I wasn't yet able to
successfully test audio and camera subsystems (but I intentionally left
these firmware files commented out in the APKBUILD file).
[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.
To prevent accidental bricks, postmarketos-update-kernel is not
installed by default. If it works for your device and you've added the
deviceinfo variable, you also need to depend on the package for the
updates to actually happen.
[ci:skip-build] already built successfully in CI
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.
Add the missing depends to add the GPU firmware to the initramfs
so that osk-sdl works properly, as well as the haptics driver.
Also make all logs go to UART, this will clean up the splash screen and
let developers with UART access debug the boot process.
[ci:skip-build] This MR was already built on CI
Add the missing depends for our soc package alsa ucm configs. Also add
the missing depends to add the GPU firmware to the initramfs so that
osk-sdl works properly!
Also enable logs and point them to UART, this will clean up the splash
screen and let any developers with UART attached to debug the boot
process.
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)
AsteroidOS uses this config file to determine how the UI should look
(e.g. a round or a square screen), and if some things like Wi-Fi are
supported. Upstream auto generates this config file, but it seems so
simple and small that I think it's better for us to just ship the file
next to the APKBUILD
AsteroidOS uses this config file to determine how the UI should look
(e.g. a round or a square screen), and if some things like Wi-Fi are
supported. Upstream auto generates this config file, but it seems so
simple and small that I think it's better for us to just ship the file
next to the APKBUILD
The PMIC AXP803 sends an interrupt to the A64 CPU when the
battery is critical low. This wakes up the tablet at ~10%
battery level, but UPower wasn't configured to add upon
this interrupt as the action level was way lower.
Therefore, the PMIC performed a hard shutdown when the
battery level dropped further, which may cause data loss.
The PMIC AXP803 sends an interrupt to the A64 CPU when the
battery is critical low. This wakes up the phone at ~10%
battery level, but UPower wasn't configured to add upon
this interrupt as the action level was way lower.
Therefore, the PMIC performed a hard shutdown when the
battery level dropped further, which may cause data loss.
TF201 nvram was updated since previous did not work on some devices.
Added support for TF101, TF300TG and TF300TL.
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
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.
* Prevent interactive warning to pop once already approved when
[over/down]clocking DRAM
* Make sure $freq is always set
Co-Authored-By: Oliver Smith <ollieparanoid@postmarketos.org>
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
Gummiboot was dropped from Alpine. Switch to grub, which is what we use
for tablet-x86uefi too.
In contrary to tablet-x86uefi, run the grub-mkimage command directly
inside the device package:
* This avoids creating another confusing grub-x86 like package (looks
like the x86 version of alpine's grub package, as it's the case with
grub-efi-x86, but actually it is just the result of grub-mkimage).
* In contrary to grub-efi-x86, the resulting efi file is not shared
across several devices.
* It's consistent with uboot mkimage commands, which we also run in
device packages.
Related: https://gitlab.alpinelinux.org/alpine/aports/-/commit/398b7aef0b86c477103ba592526ebb9940a44509
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
We used to have it at 40% and just bumped it to 100%. With 100%, I can
hear static noise in the headphones when using the PinePhone (pmOS CE)
in a silent room, even if I turn the volume down in Pulseaudio (e.g.
18%-30% in Phosh). This was not the case when we had it at 40%.
70% seems to be the sweet spot, where no static noise can be heard when
using headphones in a silent room, but where volume can still be turned
up to a very high level if necessary.
Ported succesfully to armv7. Everything that worked on armhf
works on armv7 as well: touch, wifi, usb networking etc.
SWRast (gallium) was not enabled but is needed because the device
does not support 3D acceleration yet.
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
Upstream changelog:
https://source.puri.sm/Librem5/linux-next/-/commit/ca736e844a6b63967d135c2280e5696f0a95934e
Patches rebased, and includes some new fixes:
arm64-dts-imx8mq-librem5.dtsi-adjust-the-usdhc-bus-s.patch
- Being tested by Purism as well, has shown some promise improving GPS
reliability
arm64-dts-imx8mq-disable-SuperSpeed-instances-in-par.patch
- Fixes issue with modem disappearing
This is required for kernels earlier than 4.7 for bwrap to work for
normal users, and therefore for gnome web (epiphany) and flatpak.
[ci:skip-build] [ci:ignore-count]
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
This patch fixes:
fastboot: error: Couldn't parse partition size '0x'.
I don't get the bug myself, but it was reported that this works as
expected. Let's merge it to pmaports temporarily while it's getting
upstreamed.
Related: https://github.com/nmeum/android-tools/pull/27
Related: pmbootstrap issue 2007
[ci:skip-build]: already built successfully in CI
* Adds postmarketos-tweakd daemon to apply non-persistent settings on
boot
* Adds PinePhone settings file that adds the hardware specific battery
configuration
Upstream changelog:
https://source.puri.sm/Librem5/linux-next/-/commit/4e76143d2ec5694ec09da20c9e702ed2f0dbdb3f
Note, previous wifi driver behavior is not changed. The redpine module
still expects the fw to be in /lib/firmware on boot, and won't use the
fw on the card.. Theoretically this kernel version now supports both
loading fw from rootfs into ram AND using fw burned on the chip, but
since I haven't tested that well yet I'm leaving this as-is.
[ci:skip-build]: already built successfully in CI
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
The AP6359SA is a BCM4359 SDIO-based Wi-Fi/Bluetooth module that PINE64
sells specifically for the ROCKPro64 device. This commit starts a
firmware package to support it specifically, while others can later add
firmware for other modules sold for the device. Also add this package as
a nonfree subpackage dependency in the ROCKPro64 device APKBUILD.
I was unable to find a suitable license for the firmware blobs, so until
we find a suitable repository containing all of the required files by
the module with a license included, or contact the vendor directly,
let's use LibreELEC's repository without a license for now.
[ci:skip-build]: already built successfully in CI
Created with pmbootstrap!2048. The previous APKBUILDs don't have the
if [ "$CHOST" = ... block, because it was manually deleted as
pmbootstrap couldn't generate a working version.
mce is used by both Glacier and Asteroid to do all kind of power
management related stuff, including blanking the display. However,
obviously we don't ever want to blank the display on Qemu
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.
Latest patches from Purism, including some they backported from
upstream.
fixes#1058
The debian dir was dropped from the archives in this fork repo, but the
number of patches has been dramatically reduced.
A new mechanism (thanks @ollieparanoid) is added here to compare the
list of patches stored in pmaports when this package was upgraded to the
list of patches in purism's repo @ some commit this package uses, so
that any difference can be detected (pacakge will fail to build). If
there's a mismatch, the patches from this repo should be updated/added
to match what's in purism's repo @ the commit, and purism_patches.series
should be updated to match the debian/patches/series file in the purism
repo.
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
As of MR 2039, the kernel modules are now stripped (INSTALL_MOD_STRIP=1).
It turns out that this massively reduces their size so that including
the panel + touchscreen modules in the initfs still fits into the
partition. This allows the splash screen and osk-sdl to work correctly.
As of MR 2039, the kernel modules are now stripped (INSTALL_MOD_STRIP=1).
It turns out that this massively reduces their size so that including
the panel + touchscreen modules in the initfs still fits into the
partition. This allows the splash screen and osk-sdl to work correctly.
As of MR 2039, the kernel modules are now stripped (INSTALL_MOD_STRIP=1).
It turns out that this massively reduces their size so that including
the panel + touchscreen modules in the initfs still fits into the
partition. This allows the splash screen and osk-sdl to work correctly.
As of MR 2039, the kernel modules are now stripped (INSTALL_MOD_STRIP=1).
It turns out that this massively reduces their size so that including
the panel + touchscreen modules in the initfs still fits into the boot
partition. This allows the splash screen and osk-sdl to work correctly.
Make needed deviceinfo changes to support osk-sdl, add "quiet" to the
cmdline and bump the package version to 1.
Signed-off-by: Caleb Connolly <caleb@connolly.tech>
[ci:skip-vercheck]
Make needed deviceinfo changes to support osk-sdl, add "quiet" to the
cmdline and bump the package version to 1.
Signed-off-by: Caleb Connolly <caleb@connolly.tech>
Add a subpackage to ensure that GPU firmware is included in initramfs so
that osk-sdl can work.
[ci:skip-vercheck]
Signed-off-by: Caleb Connolly <caleb@connolly.tech>
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]
Let pmbootstrap build the qt5-qtsvg fork before audiotube, so it passes
CI. This won't be needed anymore shortly when Alpine's builders have
caught up, and qt5-qtsvg is fixed in Alpine edge.
[ci:skip-vercheck]
Fix build error:
CMake Error at /usr/lib/cmake/Qt5Svg/Qt5SvgConfig.cmake:111 (find_package):
Could not find a configuration file for package "Qt5Widgets" that is
compatible with requested version "5.15.3".
The following configuration files were considered but not accepted:
/usr/lib/cmake/Qt5Widgets/Qt5WidgetsConfig.cmake, version: 5.15.2
MR for Alpine:
https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/20307
[ci:skip-vercheck]: pkgrel>0 on purpose
When I upgraded tinyalsa to the new 2.0.0 major release (with breaking
changes) I failed to test q6voiced properly, even though I explicitly
had to rebuild it against the new tinyalsa version (see MR 1941).
In tinyalsa 2.0.0, calling pcm_open() does not automatically call
pcm_prepare() anymore, which is responsible for actually starting any
audio streams. This means that the old version of q6voiced is almost
entirely broken - only by pure luck it's sometimes possible to get
voice call audio working if you play other audio simultaenously while
a voice call is active. This does not work for the microphone though.
The new q6voiced version now calls pcm_prepare() explicitly to fix this.
This device port is unmaintained: The mainline port (xiaomi-wt88047)
is preferred. This is only intended for testing, and was used to validate
the battery/charging driver as one example. Various patches are used
for the downstream kernel that expose helpful information for debugging.
[ci:skip-build]: already built successfully in CI
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
These are various debugging related patches that I have used over the time
when attempting to get new features working for the mainline kernel.
Given that the downstream kernel is just intended for debugging in this case,
it seems convenient to add them to pmaports so I don't need to go search for
them in case I need them again in the future.
[ci:skip-build] Already built on CI
Resize the partition when using a pre-built image. We didn't notice that
this was missing, because N900 images are new and we only tested from
pmbootstrap install --sdcard, which already uses the full SD card size.
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
modules-load.conf was completely unused by this package,
not installed anywhere. brcmfmac is loaded automatically anyway.
Sort values in sources= alphabetically
This is needed with the 5.11 kernel. Also adjust the vram & cma sizes
for all msm8974 devices.
The CMA size is 256MB as set in the kernel config.
VRAM is default 16MB although it is set to 192MB with a kernel patch;
but set it manually for all devices to make it possible to remove this
patch in the future - until we have IOMMU working.
still missing:
* audio
* lcd backlight control
* touchscreen driver
* front camera
* accelerometer mount fix (driver seem not to support mount-matrix)
* 3D acceleration
* HDMI support
This allows loading nonfree fw from rootfs (/lib/firmware), to work
around: https://source.puri.sm/Librem5/linux-next/-/issues/290
This change will break wifi unless the nonfree
firmware-siliconlabs-rs9116 package is installed.
New mainline port with most things working (usb/wifi/bt/3d-accel/sound/gps).
Modem/calls/sms/mobile-data should work but couldn't test it recently
due to broken devices.
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
(Also sync with Alpine while I'm at it...)
This is necessary for mobile data to work on MSM8916-based devices
after some changes in the network driver (bam-dmux) to operate in
Raw-IP mode instead of Ethernet mode (which is somewhat broken).
* 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]
Actually the display in asus-me176c has a width of 800px, which means
that the splash screen isn't perfectly centered. Correct this in
deviceinfo to make it show up correctly.
Also, add configuration file for Phosh to reduce scaling a bit to 1.75.
It's kind of subjective but scaling = 2 definitely feels too large.
[ci:skip-build]: already built successfully in CI
This is 3.24.27 w/ Purism's mobile UI patches in their fork. According
to Purism, 3.24.27 resolves some stability issues (like a segfault when
scrolling)
[ci:skip-build]: already built successfully in CI
There's a race condition between when the pwmled device is initialized,
which kicks off a feedbackd udev rule that configures the led trigger to
'pattern', and when ledtrig_pattern actually loads. It seems to mostly
load after the rule runs, so the trigger is never set to 'pattern' on
boot.
This removes the race by building the ledtrig_pattern driver into the
kernel.
[ci:skip-build] Already build successfully in CI
This patch fixes a fairly severe performance regression with wifi on the
L5 (something like 20x improvement in performance with this patch)
[ci:skip-build] Already build successfully in CI
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.
The device has been renamed from fujitsu-m532 to pegatron-chagall since several rebrands of this board exist (Olivetti Olipad3, Siragon 4N, etc.), and Fujitsu M532 is just one of those.
Signed-off-by: Raffaele Tranquillini <raffaele.tranquillini@gmail.com>
Ship mode via the mechanism used by purism doesn't work; it's either not
possible or outside my understanding to run an openrc runscript with a
busybox init on *poweroff* and *not reboot*, which is what is required
for this to work properly..
This module param requires a corresponding kernel patch to enable ship
mode support in the bq25890-charger module
This does not work as expected, CI doesn't run for x86 and armhf on
master too. An attempt to fix this was made in MR 2030, but it didn't
work as expected and it's not worth looking into this further right now.
This reverts commit d695455f08.
Changes from purism:
- 2 second boot delay removed
- This includes an updated DDR memory training firmware version.
- patch to work around wifi device not being available on boot
Package changes:
- u-boot installed in location consistent with other pmaports/u-boot
packages
- update-u-boot script added for upgrading u-boot on the device
- devkit u-boot split off into a sep. subpackage
This disables ccache in the CI when building packages. I think ccache is
not necessary since the CI will never build a package twice in the same
pipeline, and ccache dir is not preserved for use between pipelines.
There is a real time cost to compiling with ccache enabled on the
initial compile (compressing objects for cache, etc), and some testing
with building the linux-purism-librem5 kernel in the CI shows this cost
can be significant... ~160 minutes when ccache is enabled vs ~105
minutes when it is disabled with this patch.
kernel compile CI runs referenced:
https://gitlab.com/postmarketOS/pmaports/-/jobs/1087602863https://gitlab.com/postmarketOS/pmaports/-/jobs/1087956999
Some testing on my laptop using osk-sdl with and without ccache for
initial compile:
ccache disabled:
$ rm _build -r && CCACHE_DISABLE=1 meson _build >/dev/null && CCACHE_DISABLE=1 time meson compile -C _build
ninja: Entering directory `_build'
[10/10] Linking target osk-sdl
7.76
$ rm _build -r && CCACHE_DISABLE=1 meson _build >/dev/null && CCACHE_DISABLE=1 time meson compile -C _build
ninja: Entering directory `_build'
[10/10] Linking target osk-sdl
7.89
$ rm _build -r && CCACHE_DISABLE=1 meson _build >/dev/null && CCACHE_DISABLE=1 time meson compile -C _build
ninja: Entering directory `_build'
[10/10] Linking target osk-sdl
7.71
ccache enabled:
$ rm /tmp/ccache _build -r && CCACHE_DIR=/tmp/ccache meson _build >/dev/null&& CCACHE_DIR=/tmp/ccache time meson compile -C _build
ninja: Entering directory `_build'
[10/10] Linking target osk-sdl
8.62
$ rm /tmp/ccache _build -r && CCACHE_DIR=/tmp/ccache meson _build >/dev/null&& CCACHE_DIR=/tmp/ccache time meson compile -C _build
ninja: Entering directory `_build'
[10/10] Linking target osk-sdl
8.46
$ rm /tmp/ccache _build -r && CCACHE_DIR=/tmp/ccache meson _build >/dev/null&& CCACHE_DIR=/tmp/ccache time meson compile -C _build
ninja: Entering directory `_build'
[10/10] Linking target osk-sdl
8.54
`qt5-qtquickcontrols` and `qt5-qtgraphicaleffects` are needed, else
qtwebbrowser shows a blackscreen on start.
[ci:skip-build]: already built successfully in CI
This includes a new librem5-base config release, the most notable change
being some mic echo cancellation changes in pulseaudio config.
Upstream changelog:
https://source.puri.sm/Librem5/librem5-base/-/commit/351958ffc0ff21e31647d69e23e47aefdf2ec396
Note: I did not include the upstream change to disable wifi PM. I don't
find the performance to be so bad that it's worth giving up some battery
efficiency for.
Note: the librem5-base thing from purism has a new naming/versioning
format, which is in line with some of their other projects, so the
APKBUILD has been updated to support that too
Downstream kernel is outdated and no longer maintained by us. Thus,
removed. The linux-xiaomi-beryllium-mainline kernel is removed because
its superseded by the common sdm845 kernel and is no longer needed.
Let pmbootstrap build the package in the native chroot. This is
important for the v21.03 branch, which needs to ship its own
cross-embedded toolchain, as the one from Alpine is only in testing and
therefore not available in the Alpine v3.13 branch that pmOS v21.03 is
based on. By using the native branch, it is enough to build the
cross-embedded toolchain for x86_64, and we can avoid qemu related
errors when attempting to build it for arm architectures.
As a nice benefit, this makes compilation of the package faster on edge,
too.
[ci:skip-build]: already built successfully in CI
The previous implementation of this caused upower to select a thing
called 'flash_strobe' in the L5, which doesn't operate like a
flashlight. This changes the detection logic to look at the suffix, on
the pinephone the device ends in ':flash', and on the L5 it ends in
':torch'.
fixed#967
This patch is in purism's fork and it removes messages like this when
starting upower on the librem5 by properly detecting/setting the type:
TI:15:11:12 did not recognise USB path /sys/devices/platform/soc@0/30800000.bus/30a20000.i2c/i2c-0/0-003f/power_supply/tps6598x-source-psy-0-003f, please report
...
TI:15:11:12 did not recognise USB path /sys/devices/platform/soc@0/30800000.bus/30a50000.i2c/i2c-3/3-006a/power_supply/bq25890-charger, please report
This adds a new subpackage that installs dependencies and configures the
smartcard reader on the librem 5. Some setup is required before this
will work (e.g. upgrading reader firmware), the L5 wiki page will have
this information.
The pcsc init script was forked into this package to allow for powering
on the reader *before* the service started. Doing this in a separate
init script would have caused the reader to power on regardless of
whether the pcsc service was set to start, which is not desirable since
it should *only* be powered on when pcsc is starting
So far the debug-shell in initfs works. The device uses dynamic
partitions, so that has to be figured out to get a proper rootfs.
One thing to look out for is that mount_subpartitions task in initfs
hangs, so pmos_boot=sth was added to kernel cmdline to skip it. This is
also related to dynamic partitions, anyway.
[ci:skip-build] Already built on 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>
Handle USSD QMI indication messages.
Add support for UCS2 USS Data coding scheme.
Check for User Action TLV type.
Downstream the accepted ofono patch as temporary solution.
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.
From TI, they must not be redistributed in a modified form. They
are built against GLIBC 2.29
To be functional, they need to be paired with a special build
of Mesa. There are subpackages for each different soc and only
one soc can be installed at a time. The Exynos S5PV210 subpackage
uses the same SGX540-120 as the ti443x blobs, but needs a binary
edit to be loaded. Due to the license restrictions, it must be
done in a post-install script.
We may wish to distribute some files that are explicitly
non-free, and it makes sense to place them in a separate
non-free directory rather than in main.
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.
From a3ed90c4579725a21f3375a8fe0abb626be7c250 Mon Sep 17 00:00:00 2001
From 10b79a025a54354368c6f349c17682b1e8487907 Mon Sep 17 00:00:00 2001
From: Geod24 <pro.mathias.lang@gmail.com>
Date: Mon, 16 Nov 2020 18:40:46 +0100
Subject: [PATCH] CRuntime_Musl: Support v1.2.0 for 32 bits
@@ -49,5 +49,5 @@ index 451c8b4fccc..ca654fbe424 100644
alias c_ulong pthread_t;
version (D_LP64)
--
2.29.2
2.31.1
Loaded 100 of 1664 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.