Fixes#1430 by basically filtering DNS queries to remove any with addresses
that might cause traffic to go over a lower priority interface. See that issue
for a more detailed explanation of the problem.
It does this by:
1) configuring NetworkManager to send DNS config to resolvconf, instead
of writing to resolv.conf directly. In my (limited) testing, this
seems to be necessary to get NM to trigger resolvconf which is
needed for...
2) configuring resolvconf to ignore any DNS it receives and use
localhost, when writing resolv.conf
openresolv is used because the alternative of modifying resolv.conf
manually gets messy, specifically with apk where it may not replace
/etc/resolv.conf if the user / something else has modified it...
Note that there's still some possibilities for apps that have hardcoded DNS
nameservers to bypass dnsane. It's not trivial to catch this. The most straight
forward way is to use a firewall rule to redirect all outbound DNS to dnsane.
But this would break mmsd and any other apps that actually need to query
specific nameservers to function properly.
I used a SIM that had a mobile data connection, but traffic was dropped by the
carrier outside of the phone. In other words, my phone was often in the exact
situation described in #1430. When connected to wifi, I could very easily
notice when traffic was being routed incorrectly because anything destined for
mobile data would fail (pages stopped loading, etc). After some amount of
casual testing while using the phone "normally", I haven't noticed any failures
yet from that problem.
This installs zram-init and sets it to start on boot for all
devices/UIs. The included conf.d/zram-init also allows diabling using
zram swap or overriding the size by using a deviceinfo var.
I did an analysis of the pmos base install size with the 'none' UI
selected, after depending on zram-init, and the following new package is
installed:
zram-init-11.1-r1 installed size: 40 KiB
These packages are dependencies of zram-init, however they are already
installed in the base image (with 'none' UI) so they are not counted
above:
util-linux-misc-2.38.1-r0 installed size: 6816 KiB
e2fsprogs-extra-1.46.5-r4 installed size: 1324 KiB
So this seems like a very small price to pay for the benefit of not
making the logic/implementation more complicated than this.
* Starting busybox syslog ... [ ok ]
ssh-keygen: generating new host keys: RSA ECDSA ED25519
* Starting sshd ... [ ok ]
zram swap: activating with size: 243 MB
* Loading zram module...
[ ok ]
* Swap->zram0
[ ok ]
* Starting local ... [ ok ]
This change introduces one new deviceinfo variable:
deviceinfo_zram_swap_pct: percentage of RAM to use for zram swap
Default percentages if the second var is unset are explained in the
zram-init file this commit adds. A value of 0 disables zram swap.
fixes#1133
This wifi module doesn't ship with the L5, but I have one because it's
generally more stable than the redpine thing that does ship with the
L5... however there's a known problem with having PM enabled on it.
This adds a NM config option, that matches specifically on this
device/driver, to disable wifi. PM for the redpine should not be
affected by this config change.
[ci:skip-build] already built successfully in CI
This moves unl0kr and all of its dependencies into the initramfs-extra,
it does so by using a relatively new mkinitfs feature for installing
files into the -extra archive.
[ci:skip-build] already built successfully in CI
By positioning this after extracting the initramfs-extra archive, we can
allow udev to exist in the -extra archive and not have any size impact
on the base initramfs archive.
Any hook that needs udev in the initramfs can get that support, provided
that the hook lists udev requirements in the .files config for it.
Make use of stock depthcharge bootloader to not deal with U-Boot issues:
- broken USB
- broken eMMC
- broken latest version of U-Boot
Use extlinux instead of Grub for users with U-Boot to simplify process.
Also, some of old U-Boot builds may not support EFI.
[ci:skip-build] already built successfully in CI
Make use of stock depthcharge bootloader to not deal with U-Boot issues:
- broken USB
- broken eMMC
- broken latest version of U-Boot
Use extlinux instead of Grub for users with U-Boot to simplify process.
Also, some of old U-Boot builds may not support EFI.
[ci:skip-build] already built successfully in CI
New features:
* msm8994-huawei-angler: Add sdhc1 definition (internal SD card).
Backporting 3 patches:
* 0001-arm64-dts-msm8992-bullhead-add-memory-hole-region.patch
fixes bullhead boot since 6.0-rc1, already in qcom tree
* 0002-arm64-dts-qcom-msm8992-bullhead-Fix-cont_splash_mem-.patch
memory fix, likely to be merged
* 0003-arm64-dts-qcom-msm8992-bullhead-Disable-dfps_data_me.patch
memory fix, likely to be merged
* 0004-arm64-dts-qcom-msm8992-Don-t-use-sfpb-mutex.patch
memory fix, likely to be merged
* 0005-arm64-dts-msm8994-angler-fix-the-memory-map.patch
fixes angler reset during starting services in rootfs,
likely to be merged
Remove all backported commits from newer versions.
While at it, remove various CONFIG_NET_VENDOR_.* and
CONFIG_MSM_.* and CONFIG_.*_QCOM_.* for other SOCs.
Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
[ci:skip-build]: already built successfully in CI
Shared SoC package for MSM8909
Currently provides a dummy soc-qcom-msm8909 package that depends on
soc-qcom-msm8916 and a soc-qcom-msm8909-modem package for modem support.
Like alcatel-idol3, these devices have a tunning partition. However, the
modem calls it modem_tng instead of modem_tunning. This patch adds the
alternative name for the partition.
An upstream pull request has already been submitted (see patch).
Since the RTC like on most Qualcomm chips is read-only, use
swclock-offset package to fix up time after boot.
And since we don't need msm-fb-refresher on mainline, move it to the
downstream kernel subpackage.
Basic support for the Kobo Libra H2O ebook reader.
Waveform handling shares the same oddities as for the Kobo Clara HD, the
existing waveform from eMMC is used.
Preferred way to install is to export the eMMC as USB Mass storage,
backing it up, and installing there.
U-Boot is a more recent one than the factory u-boot, supporting easy
access for buttons/LEDs. Pressing PageUp while powering on gives you the
possibility to enable USB mass storage mode to restore your backup.
Kernel is the near mainline kernel also used by the Kobo Clara HD.
It lacks some devicetree additions which are planned for the next
update, but basic things like buttons, usb, serial and wifi are
supported.
* lock.sh is specific to Nokia N900, so move to device-nokia-n900
* use tinydm instead of lightdm
Signed-off-by: Sicelo A. Mhlongo <absicsz@gmail.com>
[ci:skip-build]: already built successfully in CI
Move some dependencies from plasma-desktop to the -extras subpackage, so
they don't get installed by default:
* audiocd-kio (2 MiB): using a CD drive with postmarketOS seems to be a
very rare combination
* kolourpaint (3 MiB): very basic image editor with featureset of MS
paint, I don't think it's that useful in a default install. Users
looking for an image editor may want to use e.g. krita instead and can
install whatever they want to use after the default install is done.
* kwrite (20 MiB): another text editor, kate (3 MiB), is already getting
installed by default
* okular (81 MiB): quite big, and pdfs can also be viewed in firefox
which we install by default
* mesa-demos (50 MiB): rather big for just being some graphical demos
It's always a good idea to keep the install image small, but in this
instance the change was prompted because we currently hit a size limit
when generating install images. In particular, when generating the
v22.12 image for the pinebookpro. The process for generating install
images is not optimized for size (see bpo issue 116) and this should be
improved, but in the meantime let's just reduce the install size with
this patch on edge and backport it to v22.12 so building this image
doesn't fail anymore.
Sizes listed above are for aarch64 and include dependencies that get
removed together with removing the package.
Backport the Purism patch from https://source.puri.sm/Librem5/linux/-/merge_requests/640
"With this patch, older revisions (2.0) should be able to switch between
166MHz and 800MHz as opposed to being stuck to 800MHz all the time, since
that was the only supported frequency in the OPP table."
Signed-off-by: Alistair Francis <alistair@alistair23.me>
[ci:skip-build] already built successfully in CI
The WCNSS firwmare used for motorola-harpia seems to have weird issues
that prevent using WiFi properly except for a few limited channels. It
is not clear why this happens, it seems to be some peculiar firmware
difference (perhaps the channels need to be enabled with some
non-standard command).
Since Motorola uses the same signing keys for all their MSM8916
devices, it is possible to use the firmware from other devices instead.
Initial testing shows promising results when using the older WCNSS
firmware from motorola-osprey instead, it does not seem to have this
issue.
It's not clear yet if this has any negative effects. The WCNSS firmware
should not be device-specific, but theoretically it could be (if
Motorola made some weird changes inside it).
For now just package it in firmware-motorola-osprey-wcnss. This package
can be easily installed on harpia devices for testing (using apk add)
and will then take precendence over the default firmware from the
firmware partition (via msm-firmware-loader).
Move firmware-motorola-osprey from testing to community so that the
package is preserved for motorola-harpia users (testing is deleted in
stable branches).
[ci:skip-build]: already built successfully in CI
motorola-osprey can generally use the firmware from motorola-harpia
(which is a bit newer). However, the WCNSS_qcom_wlan_nv.bin is usually
device specific (it contains some kind of calibration values for
WiFi/BT).
The file packaged in firmware-motorola-osprey-wcnss-nv is identical to
the file in firmware-motorola-harpia-wcnss-nv. However, It looks a bit
like this might be a mistake in the source repository
(https://github.com/pmsourcedump/firmware-motorola-osprey). The
wlan/prima folder there is completely identical to the one used for
motorola-harpia, but the stock ROM and LineageOS use different files.
Fix this by packaging the file from TheMuppets. Also modernize the
firmware-motorola-osprey package by applying pil-squasher to the
venus/video firmware.
motorola-osprey has a very clunky name at the moment "Motorola Moto G
3rd gen. (2015)". The device was mostly just called "Motorola Moto G"
by Motorola, so it is hard to choose a fitting (but unique) name.
In the postmarketOS wiki it is called "Motorola Moto G 2015" so let's
just drop the "3rd gen." in the pmOS device package as well.
Also make the deviceinfo consistent with harpia while at it.
Users can switch to pulseaudio with:
doas apk add sxmo-audio-common-pulse
We can make the poco f1 device APKBUILD depend on
sxmo-common-audio-pulse. This allows you to install pulseaudio on Sxmo
which was the reason Joel said the poco f1 was having issues with call
audio: https://gitlab.com/postmarketOS/pmaports/-/issues/1821
After installing pulseaudio with this patch, the other side still
cannot hear me. I am posting this work so that others can just run
pulseaudio on sxmo and find out what's causing this bug.
Note by ollieparanoid: while it doesn't fix the bug completely, it seems
it's required to make calling work again, something we definitively want
to have in v22.12 so I'm merging this now. Also the sxmo-utils patch was
merged to sxmo-utils upstream, but isn't in alpine yet. Adding this
package (previous patch) temporarily makes sense.
Co-developed-by: Oliver Smith <ollieparanoid@postmarketos.org>
[ci:skip-vercheck]: pkg forked from alpine has pkgrel > 0
[ci:skip-build]: already built successfully in CI
This package is just forked from alpine upstream and patched to support
pulseaudio. This patch should be upstreamed to sxmo but posting here so
that others can help me figure out why audio calls with poco f1 and Sxmo
are broken:
https://gitlab.com/postmarketOS/pmaports/-/issues/1821
Schedutil is a CPU scheduler that is designed to be more efficient than other schedulers, such as the conservative scheduler, in terms of energy consumption.
This is because schedutil uses information about the utilization of individual CPU cores to make more intelligent decisions about when and how to scale the frequency of the CPU.
This can help to reduce the overall power consumption of the device, which can be particularly beneficial for battery-powered devices.
Additionally, schedutil can also help to improve the overall performance of the device by ensuring that the CPU is able to operate at its maximum frequency when needed.
In my personal testing I haven't seen any noticable impact on power consumption, while the performance does certainly noticeably increase
Note: This is only a change in the aarch64 configuration as the armv7 configuration already used the schedutil scheduler as default.
[ci:skip-build]: Already built successfully in CI
This adds initial support to CutiePi tablet, with basic peripherals, sound, touchscreen, and wireless support.
Signed-off-by: Raffaele Tranquillini <raffaele.tranquillini@gmail.com>
Add peripheral overlays
Signed-off-by: Raffaele Tranquillini <raffaele.tranquillini@gmail.com>
[ci:skip-build]: Already built successfully in CI
Schedutil is a CPU scheduler that is designed to be more efficient than other schedulers, such as the conservative scheduler, in terms of energy consumption.
This is because schedutil uses information about the utilization of individual CPU cores to make more intelligent decisions about when and how to scale the frequency of the CPU.
This can help to reduce the overall power consumption of the device, which can be particularly beneficial for battery-powered devices.
Additionally, schedutil can also help to improve the overall performance of the device by ensuring that the CPU is able to operate at its maximum frequency when needed.
In my personal testing I haven't seen any noticable impact on power consumption, while the performance does certainly noticeably increase
[ci:skip-build]: Already built successfully in CI
Use msm8916 kernel package instead of linux-postmarketos-qcom-msm8939
Also remove rmi_core from deviceinfo_modules_initfs
since it's automatically pulled by rmi_i2c
* Enable flash/torch LED (CONFIG_LEDS_QCOM_FLASH)
* Fix USB init when not plugged in during bootloader stage
[ci:skip-build] already built successfully in CI
This is a version bump for the sm6125 mainline kernel fork.
Changes:
* Added UFS nodes to the sm6125 platform
* Enabled UFS nodes for xiaomi-laurel
* Enabled configs required for UFS support (Notoriously
CONFIG_PHY_QCOM_QMP)
* Filled in EXTRAVERSION for kernel fork
* Added SMD RPM regulators for xiaomi-laurel
Signed-off-by: Lux Aliaga <they@mint.lgbt>
[ci:skip-build]: Already built successfully in CI
Fix included in this build:
- Patch which sets GPIO pin for stk3311 as input
- ppp: don't reset 'display state of charge' (dsoc) to 0 on vbat low interrupt
[ci:skip-build]: already built successfully in CI
This upgrade has no effect on postmarketOS, as there were only systemd
service files added to the repository. The upgrade is done solely to
keep track with the newest version.
[ci:skip-build] already built successfully in CI
Update the omap kernel to stable 6.1 release. This commit also contains a patch that
fixes broken usb, which should only be needed for versions 5.19 to 6.1 as later
releases will have a proper fix merged.
[ci:skip-build]: already built successfully in CI
This is an early mainline port for the MediaTek MT6763 Helio P65/G70/G8*
SoCs that boots with all 8 cores online, logs on display (simplefb) or
UART serial console, USB gadget mode facilitating netbooting
postmarketOS while tethered via RNDIS and PMIC enabling functions like
vibrator, power/volume keys.
Since I'm not going by the "mint" alias anymore, I've decided to fix
that on the APKBUILDs
Signed-off-by: Lux Aliaga <they@mint.lgbt>
[ci:skip-build]: Already built successfully in CI
This is a version bump for the sm6125 mainline kernel fork. It should
also fix a config issue.
Changes:
* Made QUSB2 built-in instead of a module (Fixes USB connectivity
issues)
* Updates to xiaomi-laurel device tree to fit new schema
* Changed maintainer name
Signed-off-by: Lux Aliaga <they@mint.lgbt>
This fixes gnss out of the box on the librem 5, by configuring geoclue
to use gnss-share as a nmea source.
I went this route, of overriding a .service file that invokes geoclue
with a command line option, because forking this .service file is much
nicer than forking geoclue.conf. The conf file will likely change over
time to add new app permissions or whatever, and it's unlikely
(hopefull!) that this .service file will change much upstream...
[ci:skip-build] already built successfully in CI
CONFIG_USB_GADGET=y
CONFIG_USB_DWC3_DUAL_ROLE=y
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_PLATFORM=y
CONFIG_USB_DWC2=y
remove un-necessary activated configs
[ci:skip-build]: already built successfully in CI
Add rules for regulator-haptic, which is used on:
- samsung-e5/e7
- samsung-cprime/gprime
- samsung-j3/j5(x)
Note that regulator-haptic is not supported on some devices yet,
and samsung-e5 is not ported at the moment.
[ci:skip-build]: already built successfully in CI
- Also enabled LRU_GEN by default like on the PinePhone OG
- Set Ext4 module to built-in as this currently is the main fs used for PPP.
Contains the following patch:
- pinephone pro: finished fix for LCD to make it refresh at precisely 60 Hz
[ci:skip-build]: already built successfully in CI
Add new patches:
- enable serial console
- save relocation address to find KASLR
- buttons as keyboard input driver to navigate bootmenu
- bootmenu loop entry selection
Apparently upstream names udev rules with the .udev extension... which
doesn't work with udev (I guess debian has a helper for installing rules
and it renames them?). This adds the expected ".rules" extension to them
so that udev actually uses them.
This update also includes improved ucm config from Purism.
"Lockdown suppport" is also added here, which allows toggling off all of
the hks on the L5 to disable all radios, etc without breaking some
sensors. For more info, see 65ec7038 in librem5-base.
Based on some new (to me...) info from Purism's Sebastian K, there are
apparently Evergreen devices that return different values for board rev,
so we shouldn't assume only r4 are Evergreen, and default to the r2 DT.
But many earlier devices (Birch, Chestnut, Dogwood) may or may not have
the board rev set either. Who knows! Defaulting to the Evergreen DT on
these devices is bad too, but there weren't many of those shipped (I
guess?), at least not compared to the number of Evergreens that aren't
properly identifiable in u-boot... so this using this DT by default is
the best of the two bad options we have.
This comment thread has more info:
https://gitlab.com/postmarketOS/pmaports/-/issues/1643#note_1147248594fixes#1643
[ci:skip-build] already built successfully in CI
Add the CONFIG_DW9714 symbol to the PinephonePro defconfig.
The PinephonePro rear camera module uses the DW9714 VCM to drive the
lens, and a driver is required to successfully complete the media
graph probe sequence.
Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
Kernel source updated to 6.1-rc7
Ext2 and Ext3 modules in aarch64 config disabled because Ext4 is backwards compatible.
2 fixes for PinePhone included in this source:
pinephone: fix power key behavior during suspend (avoid stuck key during resume)
pinephone keyboard: wait for 100ms after enabling power supply and before probing.
[ci:skip-build]: already built successfully in CI
In SDM845, the q6voice kernel driver connects modem and audio backends.
Callaudiod seems to switch to correct audio device and prepares it, however, the audio
device get's closed since no one from the userspace is actively listening to it.
This cuts the audio in call. As a workaround, I have added to script to disable the
suspend-on-idle pulseaudio module during calls, so the audio devices don't close automatically.
Includes the following changes:
- rebase onto rc4
- squash a few changes which were marked to get squashed/fixups
- dropped "wcd934x: use .prepare and .shutdown instead of .trigger"
- OP6 audio device tree changes
- revert of a DSI DCS commit[1], which caused havoc in unprepare
hooks of panel drivers
[1] - https://lore.kernel.org/linux-arm-msm/1892d0af-8aa4-dc03-887a-e44bb623b836@linaro.org/
Change-Id: I4790a278c0d35618ca824a036982769e66767ffd
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
It should have depended on mutter-mobile-schemas instead of
mutter-mobile. Looks like mutter-mobile-schemas was getting installed
instead of mutter-mobile for it only by chance until now.
[ci:skip-build]: already built successfully in CI
Downstream for kernel development, not for actual use.
Kernel defconfig taken from stock with:
- CONFIG_ANDROID_PARANOID_NETWORK unset
- CONFIG_DEVTMPFS set
- CONFIG_EXT4_FS_POSIX_ACL set
- CONFIG_LOCALVERSION set to "-downstream"
- CONFIG_SYSVIPC set
- CONFIG_USB_CONFIGFS_RNDIS set
- CONFIG_USER_NS set
Change-Id: I22bfd30dfc664dfaa2123c856b3662ddb37e760f
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
Signed-off-by: Dylan Van Assche <me@dylanvanassche.be>
[ci:skip-build]: already built successfully in CI
The variable describes the configfs function name to use, no matter if
it's rndis, ncm, ecm or any other function. So change the name of the
variable, the string we write to the configuration file and some
comments.
Enable vulkan on supported hardware configurations
out of the box.
Change-Id: I6c8e1713e7c834aae3a162b8a681f5abde02ed5e
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
Since 00648d0282dcca1da453c0b20d27e24bf901a854, the correct serial console name
is ttySx instead of the older ttyOx. Reflect this in cmdline passed to kernel
via u-boot
[ci:skip-build]: already built successfully in CI
Recommend installing:
- fwupd
- Receive firmware updates for supported hardware
The following packages are required to show device information at:
- Settings -> About this System -> Show More Information
Devices
- Firmware Security
- aha
- fwupd
- PCI
- pciutils
Graphics
- OpenGL
- mesa-demos
- Vulkan
- vulkan-tools
- Wayland
- wayland-utils
- X-Server
- xdpyinfo
Change-Id: I8a1eb484720f717f0504418f7c5c6af505b081b6
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
[ci:skip-build]: already built successfully in CI
The file brcmfmac43455-sdio.raspberrypi,4-model-b.bin is now provided by
linux-firmware-brcm package in Alpine. Remove to symlink to stop the
file conflict.
Note that the URLs in these scripts are not only for information, but
they are also used as marker by pmbootstrap so it knows these are
compatible with 'pmbootstrap ci'. I just fixed the typo in the
pmbootstrap code as well and made a new release, use pmbootstrap 1.50.0
or above to have it recognize these scripts with 'pmbootstrap ci' again.
flatbuffers should have been available on armv7,
since aports 0f3295fb0660f5caf59b8b2385f7c9305f1d57f0
[ci:skip-vercheck]
[ci:skip-build]: already built successfully in CI
I renamed the repository so GitHub changed all the checksums. :(
[ci:skip-vercheck]: the source files are still exactly the same
[ci:skip-build]: Already built successfully in CI
Support launching postmarketOS in QEMU on riscv64 architecture. It is
mostly copied from device-qemu-aarch64 with some riscv64-specific
modifications.
Currently UIs using Xorg like Mate, XFCE4 and LXQT work fine, Wayland
UIs like weston, plasma-mobile etc didn't work in my testing.
Also using "pmbootstrap qemu --tablet" is needed to make mouse input
work, the defaults don't seem to work at the moment.
[ci:skip-build]: already built successfully in CI
Now that touchscreen driver is supported in kernel, include the module
in initfs so it's available there.
[ci:skip-build]: Already built successfully in CI
Reimplement the distfile-check as python test inside this git
repository, so we don't need to download a tarball of ci-common.git to
run it. This would not have been nice for running the test with
'pmbootstrap ci', as we don't want it to get downloaded every time the
test runs.
This new implementation is done in less than 40 lines of code, very fast
and doesn't need to create a lot of files in /tmp to build a
"distfiletree".
Prepare to add a new test making use of the
parse_source_from_checksums() function in test_unreferenced_files.py by
extending the function to not only return the checksum file names, but
also the checksums. Also rename the file from test_unreferenced_files.py
to test_source.py.
Adjust all CI scripts that make use of .ci/common.py to
'pmbootstrap ci'. Move all scripts that are not direct entry points to
running CI scripts to .ci/lib.
Comment out the dtb check, as it is failing. Apparently it didn't run
properly before. Let's fix this after this CI change is done.
Split out the grep for CHANGEME into a separate .ci/grep.sh script, as
it's not related to shellcheck and also there's another grep check that
I'll move there in a follow-up patch.
Add a wrapper .ci/wiki.sh, that pmbootstrap ci can run and use it in
gitlab-ci.yml. Add a .ci/lib/gitlab_prepare_ci.sh script that makes a
user available with sudo, as expected by the pmbootstrap ci compatible
scripts. Set up binfmt_misc too while at it, it will be needed for
running pmbootstrap.
The next patches will adjust the rest of the CI scripts and move the old
scripts in the .ci/lib dir, so only the scripts that should be called
directly are in the .ci dir.
Related: https://postmarketos.org/pmb-ci
Remove mainline postfix in initramfs module list,
because sagit has only 1 kernel for now.
Blacklisting ipa module fixes poweroff.
See 68cdc1ea2b commit for more info.
[ci:skip-build]: already built successfully in CI
This is an early mainline port for the MediaTek MT6763 Helio P23 SoC
that just about boots in about 3 minutes with one core online, logs on
display (simplefb) or UART serial console and USB gadget mode
facilitating netbooting postmarketOS while tethered via RNDIS.
kgx was renamed to gnome-console with the release of version 42.beta, so
let's reflect that in our Phosh UI package.
[ci:skip-vercheck]: pkgrel bump is not necessary when changing
recommends.
Instead of using the uevent helper binary, mdev daemon listens for kernel
events using the netlink interface. Then the requirement of enabling
UEVENT_HELPER for pmOS kernels can be dropped, as it's use is discouraged.
From CONFIG_UEVENT_HELPER kernel config help:
> This should not be used today, because usual systems create many events
> at bootup or device discovery in a very short time frame. One forked
> process per event can create so many processes that it creates a high
> system load, or on smaller systems it is known to create out-of-memory
> situations during bootup.
Support for running mdev as a daemon was added in 2019 with commit [1].
From that same commit:
> Adds the -d option to run mdev in daemon mode handling hotplug events
> from the kernel like udev. If the system generates many hotplug events
> this mode of operation will consume less resources than registering
> mdev as hotplug helper or using the uevent applet.
[1] https://git.busybox.net/busybox/commit/?id=498cec202adbf69a7a72af5e204260682d614183
[ci:skip-build]: already built successfully in CI
This contains a fix for second panel variant for samsung-hlte.
No more manual changes, .config was regenerated using kconfig migrate.
[ci:skip-build]: already built successfully in CI
Add this new variable so pmbootstrap can use it to determine which
depends need to be installed for the fastboot flashing method. It used
to be android-tools,avbtool but now it's only android-tools as avbtool
became part of android-tools.
Related: issue 1779
Related: https://postmarketos.org/pmaports.cfg
This is an incomplete port but it has greater functionality than the existing downstream based one, which has been moved to unmaintained.
[ci:skip-build]: Already built successfully in CI
There are 2 panel variants supported:
- panel-samsung-hx8389c-gh9607501a
- panel-samsung-s6d78a0-gh9607501a
Add both of them to enable panel display during splash and FDE.
Note that fortunaltezt has only one panel variant so it's not included.
[ci:skip-build] already built successfully in CI
Fixes:
- Fix installation with FDE
- Use new path to kpartx (MR 16)
Other:
- pmos_install: Increase boot partition size to 256MB (MR 14)
- pmos_install_functions: make shellcheck happy
- update-binary: make shellcheck happy
[ci:skip-build] already built successfully in CI
Device uses mainline kernel. What works:
- boots
- display
- touchscreen
- wifi
Also add firmware package
[ci:skip-build]: already built successfully in CI
There is "iifname "wwan*" drop" defined in 01_wwan.nft, which drops
any not "established, related" incoming packet from WWAN.
[ci:skip-build]: already built successfully in CI
New features for google-sargo:
- GPU acceleration
- Bluetooth
- Haptics (currently only rumble effect)
- Video acceleration (still untested)
- NFC (only detection was tested)
Certain newer hardware may require a newer kernel than the current
lts in order to work.
Change-Id: Iae0d91f8bf8d1b8516698841895f942e527b0813
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
[ci:skip-build]: already built successfully in CI
With recent cross/gcc-* upgrades, we actually require pmbootstrap
1.47.0 to avoid the following error:
ERROR: Invalid pkgver '${_pkgbase}_git${_pkgsnap}' in APKBUILD: /home/user/.local/var/pmbootstrap/cache_git/pmaports/cross/gcc-aarch64/APKBUILD
The pkgver is significantly lower (0.19) than the one of megapixels
(1.5.2 as of writing), so we can use the versioned provides here. If it
was closer so megapixels-purism's pkgver could become higher than
megapixels in the future, then we should use unversioned provides with
provider priorities instead.
Drop replaces, provides for postmarketos-config-firefox. This was the
name of the package until August of 2020, not relevant anymore. Also
the provides didn't have pkgrel and therefore was wrong.
Remove the -dev subpackages of kernels that replace the linux-headers
package. As I understand, the only case where this would make sense is
if you wanted to build a kernel module against headers that need to be
newer than the headers in Alpine's linux-headers package (currently
5.19.5).
While this might have been historically relevant when wireguard wasn't
in the kernel and you might have needed newer linux-headers to build
the module, it seems irrelevant today. If somebody should need this in
the future, then bring it back properly / consider getting the
linux-headers package in Alpine upgraded. Right now the -dev packages
are broken in several ways:
* Use of unversioned provides= (pma#1766)
* Don't contain binaries needed to build binary packages (pma#462).
This was worked around in 6aba5f ("Package kernel-scripts
separately"), but later this didn't build anymore and we removed it.
So in short: broken and unused, drop them.
apk ignores a provider_priority of 0. In order to have …-sxmo-de-dwm
have a lower provider priority than …-sxmo-de-sway, set a higher
priority than 1 for the sway version.
Change-Id: Ice7c2942892eb0a173dcded835d5fac5a8f32066
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
[ci:skip-build]: already built successfully in CI
For some reason, alsa sometimes probes it from another locations.
Add symlinks to handle it
Tested-by: Eric Curtin <ecurtin@redhat.com>
[ci:skip-build]: already built successfully in CI
Update the ALSA UCM package for the SDM845 so the ALSA UCM configs for
the SHIFT6mq are included. Speaker, microphones, headset work fine in
HiFi mode. In Voice Call mode, the microphone works, but the earpiece is
still silent.
[ci:skip-build]: already built successfully in CI
q6voiced is a daemon to allow voice calls with the q6voice kernel
driver. Add its config so it can open the right audio device on the
SHIFT6mq during a call.
Explicitly set Fn key as Mod5. In xkeyboard-config up to 2.36, this was somehow
set implicitly, since it was working, although I am not sure where/how. In 2.37
it only works when specified.
[ci:skip-build]: already built successfully in CI
Since N900 rtc works fine, remove swclock from boot as it causes time to be set
wrong. Additionally, rtc device is set correctly in kernel, so remove old,
adjusted hwclock config.
Partially reverts pmaports 0e502a5139
[ci:skip-build]: already built successfully in CI
Alpine has changed location and package name of ttf-dejavu
fonts, adjust to new location.
Without this, fbkeyboard service crashes with error:
unable to load font file: No such file or directory
Default font path is hardcoded [1] to
"/usr/share/fonts/ttf-dejavu/DejaVuSans.ttf".
Luckily there is a CLI switch to change default, use it.
[1] https://github.com/bakonyiferenc/fbkeyboard/blob/master/fbkeyboard.c#L37
Venji10 is no longer involved in actively maintaining the package for more than a year plus.
Changing myself to be the maintainer and also updated my email id.
[ci:skip-build]: already built successfully in CI
Because of recent changes to kernel and alsa-ucm-conf,
the q6voiced device is changed.
Venji10 is no longer involved in actively maintaining the package for more than a year plus.
Changing myself to be the maintainer and also updated my email id.
Rebased our work on top of latest upstram alsa-ucm-conf.
The beryllium ucm conf is also reworked to fix wrong default audio device issue
and now headphones auto-switching on plugin also works as expected.
Adding myself as a co-maintainer for this package.
Change-Id: I360c60d1675c884c9e85cd95f940fa6cb4b75e83
Signed-off-by: Joel Selvaraj <joelselvaraj.oss@gmail.com>
Text Editor is a new modern text editor for GNOME. It is the new
default, replacing gedit upstream. As such, let's do the same here
downstream.
[ci:skip-vercheck]: pkgrel bump is not necessary when changing
recommends.
[ci:skip-build]: already built successfully in CI
1. Upgrades the library to version 6.0.0004
2. Adds runtime overrides for detected device and board,
to facilitate running on devices where autodetect fails.
After c49180f8cf, usbnet did not come up on N900
automatically since the UDC probed a little late. Fix this by making the driver
built-in.
While at it, make watchdog built-in so it can be kicked even when boot takes
long for any reason.
[ci:skip-build]: already built successfully in CI
These are the patches added to mitigate the CVE's which have been found in wifi stack.
More information on these CVE's can be found over here: https://seclists.org/oss-sec/2022/q4/20
[ci:skip-build]: Already built successfully in CI
- Downgrade kernel from EOL 5.18 to LTS 5.15 in order to apply WiFi CVE fixes.
It is currently not possible to upgrade to newer (5.19+) kernels due to a USB
regression.
- Modify 0005-iio-accel-st-accel-add-lis302dl.patch so it applies on 5.15.74
- Reinstate 0008-wl1251-specify-max.-IE-length.patch for nl80211 support. Patch
was dropped because it is in mainline since 5.18
[ci:skip-vercheck]: downgrade
[ci:skip-build]: already built successfully in CI
This updates the APKBUILD with the new Megi 6.0.2 tag release.
The 2 incremental patches on top of 6.0 have hereby been removed.
[ci:skip-build]: already built successfully in CI
- Support for the huawei-g7 display panel in lk1st
- FS based boot is skipped when going to the recovery
- Generate image without appended dtb for lk2nd-msm8226
- Some bug fixes and device improvements
New devices:
- Samsung Galaxy Ace 4 (SM-G357FZ)
- Samsung Galaxy Grand 2 (SM-G7102)
- Samsung Galaxy Grand Max (SM-G720AX)
- Samsung Galaxy Tab 4 10.1 (2014) (SM-T530)
- Huawei Ascend G6 L11 LTE
- Some new variants for the existing Samsung devices
Changelog: https://github.com/msm8916-mainline/lk2nd/releases/tag/0.13.0
Make sure we drop !tracedeps next time when upgrading the gcc packages
(after Alpine's gcc has been upgraded). The workaround we have in
pmbootstrap is tied to the current version, and that's the only way we
can remove it for good. The FIXME line can be deleted after this has
been done. Note that current 'pmbootstrap aportgen gcc-*' code will
automatically remove the !tracedeps option - a reminder to double check
it.
[ci:skip-build] [ci:skip-vercheck]: just adding a comment
RootFS cannot be flashed on this devices since Samsung uses a different sparse format.
Enable this in the deviceinfo file to allow flashing the rootFS.
[ci:skip-build]: already built successfully in CI
This kernel upgrade comprises of 2 point releases 6.0.1 and 6.0.2.
the release from 6.0 to 6.0.2 is a regular maintenance release.
Kernel update 6.0.2 addresses 5 important CVE's in the Wifi stack.
More info can be found over here: https://seclists.org/oss-sec/2022/q4/20
[ci:skip-build]: already built successfully in CI
This kernel update addresses 5 important CVE's in the Wifi stack.
More info can be found over here: https://seclists.org/oss-sec/2022/q4/20
[ci:skip-build]: already built successfully in CI
- Update to Linux v6.0.2 (includes fixes for WiFi CVEs)
- Tweak kernel configuration slightly (especially crypto options)
[ci:skip-build] Already built successfuly on CI in MR
- Update to Linux v6.0.1
- Upstreamed some patches this time
- Fixed register address in smb1360 driver
Device changes:
- samsung-gtelwifiue
- Audio
- Better USB detection
- samsung-e5/e7/grandmax
- Refactoring for changes that landed upstream
- Key LED control
New devices:
- samsung-cprime/heatqlte
- eMMC, SD card, USB, Buttons, WiFi/BT, Vibrator
- Display, Brightness control (not for AMOLED on heatqlte)
- Sensors (Accelerometer)
- Sound/Modem
- Battery status
- NFC
- NOTE: No touchscreen yet
It thinks that the gcc-go.post-install files from the new cross/gcc-*
packages isn't used because those add subpackages dynamically in the
APKBUILD which isn't handled.
Our patch needs to be adjusted after commit 58e4a2d27d32 ("extcon: Fix
extcon_get_extcon_dev() error handling"). Also generate all other
patch headers, and make it possible to apply patch 0008 and 0009 with
git am.
Additionally switch mainline kernel from qcom_fg to bq27xxx_battery_i2c.
While at it simplify the deviceinfo_modules_initfs_alpine list to
exclude implicit dependencies that mkinitfs can find itself to make the
line length a bit less unwieldy.
[ci:skip-build] Already built successfuly on CI in MR
Additionally switch mainline kernel from qcom_fg to bq27xxx_battery_i2c
and probe the correct panel driver, this was a regression that came from
the initial linux-edge enablement MR.
While at it simplify the deviceinfo_modules_initfs_alpine list to
exclude implicit dependencies that mkinitfs can find itself to make the
line length a bit less unwieldy.
While this provides the ability to use ModemManager, there are quite a
lot of issues with the driver still; keep it enabled in kernel for now
and let users "modprobe ipa" if they want to test modem features
whichever side effects that may cause including:
- Making the device nearly impossible to poweroff or reboot
- Making the UI lag noticeably more due to some interconnect bandwidth
issues
While this provides the ability to use ModemManager, there are quite a
lot of issues with the driver still; keep it enabled in kernel for now
and let users "modprobe ipa" if they want to test modem features
whichever side effects that may cause including:
- Making the device nearly impossible to poweroff or reboot
- Making the UI lag noticeably more due to some interconnect bandwidth
issues
The qca (Bluetooth) and qcom (non-zap GPU) firmware blobs don't need to
be signed by the OEM, so let's use upstream versions to benefit from
fixes and updates done there.
The soc-qcom-sdm845* packages are mostly sufficient, but there are a few
issues that all MSM8998 devices on mainline will face, so include
workarounds for them in a generic package all device pkgs can depend on.
Kernel doesn't compile anymore, and it doesn't seem worth fixing it
again. The kernel has been added in 2017 as a stock mainline kernel from
that time with only two patches and wasn't maintained since then,
looking at git log --follow it was only patched to fix it up when
it didn't build.
As the device is a generic x86_64 tablet: if somebody has that
particular device, try to get the generic device-tablet-x64uefi running
instead.
The qbootctl service tells the bootloader that the current boot has
succeeded, so that the bootloader doesn't switch to the other slot after
~7 tries.
The swclock-offset dependency ensures that the time is set correctly
after a reboot, caused by the read-only RTC on Qualcomm.
[ci:skip-build]: already built successfully in CI
This has been out-of-date for almost a year with seemingly stalled
progress on the existing upgrade MR[1] for months now; it really seems
like no one wants to maintain this which currently leaves this
"force-installed-by-default" packaged image broken on all wlroots-based
Wayland compositors for example.
[1] https://gitlab.com/postmarketOS/pmaports/-/merge_requests/3091 ("Draft: main/waydroid-image: upgrade to 17.1.20220419")
Patch header for 0027 was not formatted correctly. Fix that and
re-generate all other patches while we are at it.
[ci:skip-build] Already built successfuly on CI in MR
Also:
Fix camera on google-snow.
Enable video decoder.
Make boot.img smaller making kernel more modular and making FS-related
modules =y instead of =m (built-in file systems consume less space
than initramfs modules).
At the moment almost all device packages force installation of the Mesa
drivers, even when they are not used by any application (for example on
a minimal headless installation with "none" or "console" UI).
Omitting mesa-dri-gallium from such installations saves about ~150 MiB
of disk space (469 MiB -> 317 MiB rootfs for minimal installation on
arrow-db410c).
The "classic" drivers have been removed from Mesa so only one mesa-dri-
package exists now: mesa-dri-gallium contains all Mesa drivers,
llvmpipe, freedreno, lima, panfrost, Intel (iris/crocus), ...
This means we can easily create an install_if package in
postmarketos-base that installs that driver package only if needed
(= only if another package requires the "mesa" package).
Strictly speaking the install_if could be restricted further since
mesa-dri-gallium is only needed by "mesa-egl", "mesa-gbm" and "mesa-gl"
but not e.g. the Vulkan drivers. Having three postmarketos-base
subpackages (one install_if for each of them) seems a bit
overengineered, though. "mesa" is a common dependency of all three
of them, so using install_if="... mesa" should be good enough.
renamed in aports@ee78772612
this also adds an explicit dependency on the font, since it may not have
been installed if postmarketos-ui-base was installed... (e.g. ui=None)
The xfce4-battery-plugin doesn't need to be installed anymore since we
switched to the "power manager plugin" in postmarketos-ui-xfce4 0.5.0.
The link to the old PostmarketOS icon isn't needed anymore for new
installations.
[ci:skip-build]: already built successfully in CI
Reverts commit 70efe55031 for kernels that
started failing on bpo. I suspect it's caused by a change in binutils,
since I tried building linux-oneplus-billie2 with gcc6 and got the same
error (after trying other workarounds like disabling selinux for it, but
then it failed elsewhere).
We previously installed dtbs outside of the boot partition, so it
was necessary to copy them from the root partition to boot if you
wanted to utilise them in U-Boot scripts. This is no longer
necessary as we now install dtbs to the boot partition directly, so
remove this workaround and edit the U-Boot script to reflect the
change.
This is possible now that all SDL (1) applications use sdl12-compat
instead of "classic" SDL 1.2. Note that this only is applied to user
interfaces that use Wayland and are launched through tinydm.
See https://gitlab.alpinelinux.org/alpine/aports/-/issues/12739
This device package represents several devices, so use plural form in
pkgdesc of APKBUILD:
pkgdesc="Google Hana Chromebooks"
However, when deviceinfo is already installed, it is intended to represent
only current device, so use singular form here:
deviceinfo_name="Google Hana Chromebook"
Don't build with !tracedeps, as otherwise the isl dependency is not
properly added to the built gccs. In practice this probably doesn't
matter since we only use these old gccs to build kernels in the native
chroots (not via crossdirect in foreign arch chroots), and we also
install a proper gcc in the native chroot that pulls in the isl
dependency. But fix it for correctness.
Related: pmaports issue 1732
[ci:skip-build] Already built successfuly on CI in MR
- update to use librem5-base v52
- install usbguard config / new subpackage
- move xorg.conf to new x11 subpackage
- refactor udev rule install to just install everything available from
librem5-base upstream
- use purism's shipmode script, see:
https://source.puri.sm/Librem5/linux/-/merge_requests/333#note_195511
We already ship Angelfish and shipping 2 browser takes up a lot of
space. Besides Angelfish feels more native in Plasma Mobile (being baed
on Qt and made for mobile) and has a built-in adblocker nowadays so it
seems like the better option.
urfkill hasn't been used for quite a while, no need to keep it around
Motivation for this change is that the image builds of the UI are
currently running out of space so we need to decrease the image size
Actually package pulseaudio is needed instead of pulseaudio-utils.
Package pulseaudio-utils then gets drawn in by postmarketos-base-ui
sub-package pulseaudio.
For Xfce4 this is a cosmetic change because pulseaudio gets installed
as a dependency of pavucontol already. Keeping pulseaudio in the
_pmb_reccomends list makes sense to be clear which pieces are needed.
For MATE an explicit installation of pulseaudio is needed because it
doesn't use pavucontrol.
[ci:skip-vercheck]
[ci:skip-build]: already built successfully in CI
Linux 5.18 brought better support for some x86-based Android tablets,
thanks to work from Hans de Goede. This includes asus-me176c: the
modified ACPI table and the Linux fork is no longer necessary,
it can just run linux-edge from Alpine.
Drop the old Linux 5.4 fork and related packages. Instead of using
the proprietary sound firmware from linux-firmware-intel, switch to
using the open-source(!) "Sound Open Firmware" (SOF).
NOTE: The mainline battery driver seems quite a bit less accurate
than the ugly old driver ported from the downstream driver. Also,
Bluetooth seems to fail on some boots now. Overall it works quite
well though. :)
Since c49d84f4ab1856156d26d59f5c88387776990d24 in Alpine's aports,
the sm.puri.OSK0.desktop service no longer tries to execute
/usr/bin/osk-wayland and instead just executes /usr/bin/squeekboard
directly, thus avoiding this needless indirection. virtboard hasn't
existed in postmarketOS for years at this point and squeekboard is
a hard dependency of phosh, so it's always going to be present
(thus making this check unnecessary) and the fallback if it isn't
wouldn't work anyway.
[ci:skip-build]: already built successfully in CI
At this point the only application preconfigured to be scaled was GNOME
Maps, which nowdays adapts just fine to narrow screens. Having it scaled
like this by default only degrades the user experience by making UI
elements tiny and hard to interact with.
Closes https://gitlab.com/postmarketOS/pmaports/-/issues/1716
Upstream has evince 43 now, which seems to be adapted (tested on the
Librem 5), and the old evince in this package depends on a package that
no longer exists:
ERROR: unable to select packages:
so:libgnome-desktop-3.so.19 (no such package):
required by: evince-9999_git20211009-r2[so:libgnome-desktop-3.so.19]
This would mitigate issues where apk unexpectedly replaces packages
somewhat as this way the user will be able to see precisely what changes
will happen to their system before they are committed. Furthermore, most
users are likely accustomed to package managers like apt, dnf, pacman,
among others that all are interactive by default and as such this would
provide a more familiar experience for them.
This will not affected pre-existing installs, and advanced users who
do not like this behaviour can restore the old one by deleting
/etc/apk/interactive.
[ci:skip-build]: already built successfully in CI
After PulseAudio support for MATE sound was enabled in Alpine Linux,
its interfaces are now available in the native MATE sound settings.
The additional PulseAudio volume control application therefore became
redundant.
[ci:skip-vercheck]
Mesa behaves again, #1658 is fixed, so lets re-revert MR 3306.
Lets also add the dependency to the other devices using the same
graphics driver.
[ci:skip-build] Already built successfuly on CI in MR
- silence the wifi a bit, it really provides an enormous amout of spam
- enable pxp mem2mem video converter
[ci:skip-build] Already built successfuly on CI in MR
pmbootstrap and postmarketos-mkinitfs don't support multiple lines in
these files, and the complexity is not worth implementing there. Let's
keep the format dead-simple and enforce it across all files.
While at it, enforce that comments stat with '# ' and make sure each
line has quotations (we had some without).
Related: discussion in postmarketos-mkinitfs MR 21
This isn't really a fix, but the device's framebuffer has only one mode and it's enough to get Xorg up and running.
[ci:skip-build]: already built successfully in CI
Add msm8939 SoC package to be used in addition to soc-qcom-msm8916.
For now it provides a shell script setting FD_MESA_DEBUG=nobin env var
to work-around graphical corruption seen on adreno 405 devices.
The SHIFT6mq (axolotl) now supports updating the bootloader via
the new android-boot fwupd plugin.
A big shoutout and heartfelt "Thank You!" to Dylan for working
on this plugin and upstreaming it.
Change-Id: I1d608ce293a152e9354ca117cd370952df3f41ad
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
Replace usages of pmb:kconfigcheck-* options with
pmb:kconfigcheck-community which will be required for all devices in
community/main category. This ensures more consistent features &
behavior across devices.
Don't install the experimental gnome-mobile forks of gnome-shell and
mutter in regular GNOME. These are probably more stable, and most
importantly this prevents accidental uninstallation of gnome-shell
without installing gnome-mobile-shell.
Revert the addition of the gnome-shell dependency to
postmarketos-ui-gnome. This isn't needed anymore and caused further
issues.
Fixes: issue 1701
Since merging the gnome shell on mobile MR 3404, gnome-shell needs to be
explicitly installed or else it gets removed on upgrade.
[ci:skip-build]: already built successfully in CI
Upgrade to fresh Linux release.
Enable more features in kernel from pmbootstrap kconfig check:
anbox, containers, iwd, nftables, zram.
Disable CONFIG_REGULATOR_DEBUG to reduce dmesg spam.
DRM and PANEL_SIMPLE are now built-in (DRM_MSM is still "m").
Switch to framebuffer from SIMPLEFB to tinydrm (SIMPLEDRM=y).
Switch APKBUILD to use "make zinstall" approach.
(Device packages might need small adjustments to initfs modules list.)
The known affected devices have had the battery display issues resolved.
xiaomi-beryllium and shift-axolotl were fixed in-kernel by Linux for
sdm845 version 5.19.7, and samsung-skomer works fine after backporting
the upstream Upower fix for the issue:
https://gitlab.freedesktop.org/upower/upower/-/merge_requests/170
The sdm845 devices also work fine with just the Upower fix for what it's
worth. The kernel fix is redundant.
It's broken and I currently don't have any interest in fixing it or
maintaining it in general. If somebody wants to package it later they
can always restore it
Previously only cross/gcc{4,6}-* packages were adjusted in MR 3419, but
these packages need to be adjusted as well.
Fix for error shown in upstream_compat check:
Increase 'gcc6' pkgrel (10 -> 11), missing depend(s): isl
Increase 'gcc4' pkgrel (5 -> 6), missing depend(s): isl
Related: pmbootstrap issue 2167
[ci:skip-build] Already built successfully once
Firefox packaging changed upstream, renaming the desktop files. This
caused the mime applications to be stale, so update those.
See also
https://gitlab.alpinelinux.org/alpine/aports/-/issues/13983
[ci:skip-build]: already built successfully in CI
The firefox-esr package in versions >= 102.2.0-r1 installs to
/usr/lib/firefox-esr instead of /usr/lib/firefox, adjust FIREFOX_DIR
to match. Install for both firefox-esr and firefox now.
[ci:skip-build]: already built successfully in CI
Switch to minimal config that I've been using for development for the
last months, with some minor modifications. In addition to that enable
all the kconfig options that will be a part of the new
pmb:kconfigcheck-community (anbox/waydroid + iwd + nftables + containers
+ zram + netboot).
Note by ollieparanoid:
Re-applied it after I just reverted it. Now realized that I didn't need
to revert this in the first place, this is and aarch64 package and the
cross compilers (x86_64 packages) needed to be published. Anyway, the
gcc mess is mostly resolved now, see issue 2167.
[ci:skip-build] Already built successfuly on CI in MR
Temporarily revert this, so bpo can first build and publish all gcc
cross packages. The build for this linux package currently failed - I
could also set it back to queued and have it build, but that would delay
the publish of the gcc-aarch64 package until the kernel is built.
This reverts commit 979cc0bfb6.
Removed isl as described in pmaports issue 2167. Verified locally that
gcc-aarch64 builds. Tried to test building packages with it, but wasn't
possible with the local build due to a bug, I'll create an issue and
link it in pmaports issue 2167. Pushing this now as it's a critical fix,
should work in theory as soon as the binary packages are built on bpo,
and right now it's broken anyway.
Switch to minimal config that I've been using for development for the
last months, with some minor modifications. In addition to that enable
all the kconfig options that will be a part of the new
pmb:kconfigcheck-community (anbox/waydroid + iwd + nftables + containers
+ zram + netboot).
[ci:skip-build] Already built successfuly on CI in MR
Add support for next devices:
- Asus Eee Pad Transformer TF101 and TF101G
- Asus Eee Pad Slider SL101
- Asus Transformer Prime TF201
- Asus Transformer Pad TF300T/TF300TG/TF300TL
- Asus VivoTab RT TF600T (Windows RT based)
- Asus Transformer Infinity TF700T
- Asus Transformer AiO P1801-T
- Asus Transformer PAD TF701T
- Pegatron Chagall based devices
Package has no dependencies.
Signed-off-by: Anton Bambura <jenneron@protonmail.com>
Signed-off-by: Maxim Schwalm <maxim.schwalm@gmail.com>
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Remove as we are removing apparmor check from pmbootstrap
[ci:skip-vercheck] No rebuild necessary
[ci:skip-build]: already built successfully / also not really needed
A lame workaround for this[1] until something better comes along. Not
having a functional battery gauge on a mobile device is kind of painful.
1. pmaports issue 1677
Co-Authored-By: Oliver Smith <ollieparanoid@postmarketos.org>
Tested-by: Drew DeVault <sir@cmpwn.com>
[ci:skip-build] already built successfully in CI
ODROID HC2 is based upon the Samsung Exynos 5422 and can run full
mainline. Switch to linux-edge from Alpine to enable this and drop
the close-to-mainline fork for this device. The close-to-mainline
fork was already linux-edge for a while but with a separate KConfig.
These KConfig changes are now integrated in linux-edge of Alpine.
U-boot script was updated to handle vmlinuz-edge as well since
Alpine's linux-edge does not generate a vmlinuz file, but vmlinuz-edge.
Probably to allow installing linux-lts as well.
initcall_blacklist=exynos_drm_init was added to the kernel cmdline
because upstream wants to set CONFIG_DRM_EXYNOS=y instead of module.
The DRM subsystem of Exynos5 in the kernel seems to be broken for this
device. There's also no use for it since this device does not have video
out. See https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/38094
Disable HDMI as workaround, as it seems to be buggy when HDMI is
unplugged. It's apparently in DRM_MODE_CONNECTED state, but without size
and with no modes. According to Guido from Phosh this is a bug and
should be fixed in the kernel. By disabling this until it is fixed, we
get Phosh working again.
Related: https://gitlab.gnome.org/World/Phosh/phosh/-/issues/828
This is to emphasize the fact that this firmware package will work essentially
unmodified on the samsung-coreprimevelte and other Samsung PXA1908 phones as
well.
Although qt5-qtvirtualkeyboard is used by SDDM, in a Plasma session
itself maliit-keyboard is used instead
[ci:skip-build]: already built successfully in CI
The device fulfils the requirements for community category, and I plan
to maintain and develop this device further going forward. Move it!
[ci:skip-vercheck]: linux pkg was moved
[ci:skip-build]: already built successfully in CI
Having mesa-dri-gallium installed causes Xorg to crash. See #1658.
Furthermore, display works without at least with near-mainline kernel,
tested with osk-sdl and xfce4.
So if specific applications depend on it, it should be added as a
dependency there.
This reverts MR 3306
This is just a hotfix, Xorg/mesa should be tamed to not crash here
but analyzing that costs time.
There is no need to duplicate things over and over again.
Also load the waveform in initramfs before loading display
modules. That is early enough to have a working display in
initramfs.
SDM845 devices running mainline lack a valid MAC address, and
fallback to a random one on each boot. This makes DHCP IPs vary
on each boot and breaks Bluetooth BNEP mode since the kernel enforces
that a valid MAC address is used when Bluetooth BNEP mode is activated.
Add a udev rule to trigger a script when the WLAN or Bluetooth interface
appear to set the MAC address by reading it from the persist partition
for the WLAN MAC address and increment it for generating a Bluetooth MAC
address. This approach seems to be common on some downstream devices
such as the Oneplus 6.
[ci:skip-build]: already built successfully in CI
Bootmac configures the MAC addresses of WLAN and Bluetooth interfaces at boot.
Bootmac can be invoked in various ways at boot, but currently only udev rules are tested.
Bootmac generates MAC addresses from the `serialno` provided by Android bootloaders
through /proc/cmdline or from /etc/machine-id. The Organizationally Unique Identifier (OUI)
is retrieved from a lookup database macdb by matching deviceinfo_manufacturer
from /etc/deviceinfo with the entries in the database.
See https://gitlab.com/postmarketOS/bootmac
GPI_DMA now works so we can use GENI I2C and remove bitbang i2c-gpio.
PM8008 driver from mailing list is imported and configured. CCI (camera
i2c bus) is configured plus CAMCC dependency. And some smaller changes.
We are just building upstream Linux with minor patches and no longer
using the linked GitHub repo, so let's fix this to avoid confusion.
[ci:skip-build]: already built successfully in CI
This reverts commit 0ce9fdf8d6.
These cross/binutils packages are generated with pmbootstrap aportgen. I
push them directly to master without build testing because so far they
always built fine... but this time it failed. Revert for now.
Related: https://builds.sr.ht/~postmarketos/job/823964
IP5XXX is needed to be able to read PinePhone battery levels. Extra
configs were automatically added by pmbootstrap.
Signed-off-by: Jean Lucas <jean@4ray.co>
Squash of
- linux-postmarketos-qcom-sdm845: enable LED_TRIGGER_PATTERN as builtin
- linux-postmarketos-qcom-sdm845: switch BT_RFCOMM to module
- linux-postmarketos-qcom-sdm845: switch BT_BNEP to module
LED_TRIGGER_PATTERN is necessary for feedbackd to function correctly.
However, it doesn't get enabled by default when build as module,
build as built-in to avoid this problem so the notification LED
blinks correctly. This works around the problem that LED_TRIGGER_PATTERN
is not probed automatically when the Qualcomm LPG driver is used for SDM845 devices. See https://gitlab.com/sdm845-mainline/linux/-/merge_requests/34
CONFIG_BT_RFCOMM should always be build as a module otherwise it may never
be initialized at boot. Without this module, BlueZ will not enable
profiles depending on RFCOMM such as HFP. RFCOMM support as builtin may
work if the Bluetooth driver is builtin (which is not the case here), but I haven't verified that. See https://gitlab.com/sdm845-mainline/linux/-/merge_requests/38
CONFIG_BT_BNEP should always be build as a module otherwise it may never
be initialized at boot. Without this module, BlueZ will not start up its
networking plugin to provide Bluetooth PAN support. BNEP support as
builtin may work if the Bluetooth driver is builtin (which is not the case here), but I haven't verified that. See https://gitlab.com/sdm845-mainline/linux/-/merge_requests/38
[ci:skip-build]
The downstream kernel has barely any functionality without libhybris
(which is not coming back to pmOS) so move everything related to the
OnePlus 5/5T downstream ports to downstream since a working mainline
port is much more feature rich.
Set the necessary flag in deviceinfo so a user can use a logical
partition that was flashed using fastbootd.
$ fastboot create-logical-partition postmarketOS 1000000000
$ pmbootstrap flasher flash_rootfs --partition postmarketOS
[ci:skip-build]: already built successfully in CI
Bump the pkgrel of gcc4 and gcc6, and regenerate the cross/* versions
with "pmbootstrap aportgen gcc6-armv7" etc.
Should fix these errors:
Error loading shared library libisl.so.22: No such file or directory (needed by /usr/gcc6/libexec/gcc/x86_64-alpine-linux-musl/6.4.0/cc1)
Error relocating /usr/gcc6/libexec/gcc/x86_64-alpine-linux-musl/6.4.0/cc1: isl_union_map_free: symbol not found
Error relocating /usr/gcc6/libexec/gcc/x86_64-alpine-linux-musl/6.4.0/cc1: isl_map_from_pw_aff: symbol not found
Error relocating /usr/gcc6/libexec/gcc/x86_64-alpine-linux-musl/6.4.0/cc1: isl_schedule_from_domain: symbol not found
...
Related: https://gitlab.alpinelinux.org/alpine/aports/-/commit/54749a52225575a91f01d04f8d024b4ee853cfb6
[ci:skip-build]: already built successfully in CI
A common issue is that building kernels takes longer than the default of
1h, and then MR authors need to adjust the timeout in their pmaports
fork and run it again. By setting this option this is hopefully no
longer the case.
I set it to 10h because that's what we currently have set in the
postmarketOS gitlab configuration and it would allow building MRs for
service packs with multiple kernels.
pmbootstrap has logic built in to detect stale builds - by default it
will stop a build if there was no output for 15 minutes. So having a
large timeout shouldn't be a problem.
The AF8133J magnetometer is being used since the PinePhone Beta edition
in place of the earlier ST LIS3MDL magnetometer.
[ci:skip-build] Already built successfuly on CI in MR
The touchscreen currently is on i2c-gpio due to issues with the hardware
i2c. Include the module in initfs so the touch driver probes and is
usable in osk-sdl.
[ci:skip-build]: already built successfully in CI
Enable:
* CONFIG_UINPUT required by fbkeyboard
* CONFIG_PSTORE_PMSG required to enable dmesg/console ramoops
Co-Authored-By: Oliver Smith <ollieparanoid@postmarketos.org>
[ci:skip-build]: already built successfully in CI
UPower defaults to HybridSleep mode when battery is critical.
Since we allow suspending the device in regular use, this approach
won't help in a critical battery case scenario. When the battery
level is critical, shutdown the device instead.
Moreover, adjust the default levels for battery low, critical, critical
action since they are too high for SDM845 devices.
vc4 and freedreno have been provided by mesa-dri-gallium for a long
time.
mesa-dri-intel subpackage has been deprecated for a while (previously
dependend on dri-classic and dri-gallium)
mesa-dri-classic drivers is removed because mesa upstream has removed
those old drivers from the tree. They've been replaced (for not-ancient
hardware) by gallium.
See also https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/31848
Alpine does not use setup-udev anymore and provides the same
functionality through setup-devd. The setup-udev script was deleted [1]
but postmarketos-base still used it and caused pmbootstrap to fail when
building a device image. Use the rc-service setup directly from
setup-devd.
[1] https://gitlab.alpinelinux.org/alpine/aports/-/commit/b56c4c2b9ddea6007c5e4349f97310a1538f29b6
Fix the following error:
ERROR: unable to select packages:
libstdc++-11.2.1_git20220219-r4:
breaks: g++-aarch64-11.2.1_git20220219-r3[libstdc++=11.2.1_git20220219-r3]
satisfies: gcc-11.2.1_git20220219-r4[so:libstdc++.so.6]
binutils-2.38-r3[so:libstdc++.so.6]
ccache-4.6.1-r0[so:libstdc++.so.6]
gcc-11.2.1_git20220219-r4:
breaks: g++-aarch64-11.2.1_git20220219-r3[gcc=11.2.1_git20220219-r3]
The new version does not seem to be in the armhf repos yet so skip that
one for now.
Adjust UIs that pre-install megapixels (not megapixels-gtk3) to also
recommend using postprocessd. This pulls in opencv, but overall improves
the usability of megapixels a lot so it seems worth installing by
default.
[ci:skip-vercheck]: _pmb_recommends doesn't need a pkgrel bump
Increase the timeout for the PartitionJob from 2 min to 10 min, so it
works on the PinePhone Pro with its 128 GiB eMMC.
Related: https://github.com/calamares/calamares-extensions/pull/20
[ci:skip-vercheck]: forked pkg intentionally not having pkgrel=0
Ideally tqftpserv should be started before rmtfs. This is because rmtfs
is currently responsible for starting the modem, and it's best for
performance if all the services needed by the modem are already up.
Also change "want" -> "use" for consistency with rmtfs. The difference
between "want" and "use" is that "want" just triggers starting of the
other service, while "use" also ensures that the other service starts
successfully.
Also include z3ntu's patch fixing a buffer overread issue which sadly
has not been merged for several months now.
rmtfs should be ideally started and stopped before NetworkManager
because otherwise the modem network interface might be removed before
NetworkManager can set it down. This has caused kernel issues at some
point (although it seems to be fine again at the moment).
These options are required by `iwd`. Make use of the `kconfigcheck-iwd`
APKBUILD option to ensure the required config options remain selected.
[ci:skip-build] already built successfully in CI
This enables support for the oneplus3's QCA6174 WiFi chipset. The
`board-2.bin` file (overwriting the file with the same name from the
`linux-firmware-ath10k` package) is created from `bdwlan30.bin`, which
is extracted from the baseband modem firmware disk image,
`NON-HLOS.bin`. This board file has not yet been upstreamed.
Because I don't have access to the serial port yet, I begin with the
vendor kernel.
* Make display work by setting to 16bpp
[ci:skip-build]: already built successfully in CI
ALSA UCM configs are now upstreamed which causes
a conflict with the device package as both are now
providing the same files. Drop our configs in the device package.
The kernel is based on Samsung's downstream kernel for the device. Some
configuration changes are required to make the kernel to work:
* Tizen kernel uses SLP USB gadget, changed to Android USB gadget.
* sprdfb patches and modification on the devicetree files are required
to use the framebuffer.
* Other required pmOS kernel settings were enabled.
* Tizen does not use initramfs, use RAMDISK partition to store initramfs
of pmOS (like heimdall-isorec configuration). As far as I know, no
alternative OS exists for this device so this is the very first usage.
* Flash the root file system to USER, as ROOTFS is < 1 GB in size and
USER is about 2.7 GB.
samsung-kiran: Update device and firmware packages
* Changed kernel configuration for firmware path to follow postmarketOS.
* Post install script to mount CSA partition
CSA partition [1] contains non-volatile data for Tizen devices. As
Samsung Z1 uses this partition to store Wi-Fi and Bluetooth information,
mount this partition to use within postmarketOS.
[1] https://docs.tizen.org/platform/porting/kernel/
linux-samsung-kiran: Use lzop to decompress initramfs
This synchronizes behavior with other heimdall-isorec devices.
[ci:skip-build] Already built successfuly on CI in MR
Add udev rule to make feedbackd handle haptics.
With mesa where A619 is supported (which isn't packaged in pmaports
anyways but it's just one small patch that should go upstream in the
near future) Vulkan works absolutely fine, so install the driver for it.
[ci:skip-build] Already built successfuly on CI in MR
Add flash method fastboot so we can actually flash it with pmbootstrap,
remove outdated 90-android-touch-dev.rules and improve the formatting
throughout the APKBUILD.
[ci:skip-build] already built successfully in CI
Don't try to append the dtb if using the downstream kernel.
Fix for:
ERROR: File not found: /usr/share/dtb/qcom-apq8064-asus-nexus7-flo.dtb
Fixes: MR 2239 ("main/linux-postmarketos-qcom-apq8064: new aport")
[ci:skip-build] already built successfully in CI
This previously caused msm_pm_boot_init to incorrectly get handled as
__init function when it needs to be an __devinit function as it is
called by msm_pm_boot_probe, which is an __devinit function.
[ci:skip-build]: already built successfully in CI
dzImage generation tool for Tizen devices. The same dzImage format is
used in all Samsung's Tizen devices (Spreadtrum, Qualcomm, Exynos), so
we pick the latest script from the Tizen's Exynos kernel package.
The option `deviceinfo_flash_sparse_samsung_format` seems to work
fine on the xcover4lte.
Setting `deviceinfo_flash_sparse_samsung_format` to `1` (and
`deviceinfo_flash_sparse="true"`) causes heimdall to no longer hang
while the rootfs is being flashed.
[ci:skip-build]: already built successfully in CI
Merge and move Spreadtrum patches from these kernels to shared-patches:
* linux-finepower-f1
* linux-samsung-{gtel3g,gtelwifi,j1mini3g,j3xnlte}
* linux-zte-p731a20
[ci:skip-build]: already built successfully in CI
Prior to this commit, the initramfs was unable to resize the root
partition if it was on a device backed by the device mapper. This commit
fixes that now that it is possible for the root partition to lie on a
device mapper device.
PulseAudio is used for handling all audio on postmarketOS.
This also involves Bluetooth audio such as A2DP, HSP and HFP audio.
In the case of HFP/HSP, the HF and AG can interact with each other
through AT commands defined in the Bluetooth HFP 1.8 spec.
This set of patches implements HFP support to allow Bluetooth devices
to accept/reject/hangup calls, dial numbers, DTMF tone generation,
query signal strength, roaming status, service status, AG battery level,
call status, etc.
More details in the upstream MR:
https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/693
Available in edge for testing this merge request with a broader user
base. Not intended for backporting to stable branches.
[ci:skip-build]: already built successfully in CI
For the Biktorgj firmware the control/power file should be set to on
instead of auto. By matching on the serial number this only applies to
modems with the community firmware installed.
While GNOME does require hardware acceleration, GNOME's X11 mode
(not sure about Wayland mode) does work without DRM support, so
it works fine with software rendering on devices without a working
GPU as long as fbdev works.
I think this raises the question of whether we should rename
pmb:hw-accel to pmb:drm as e.g. Phosh should work without 3D
acceleration if a device e.g. uses a kernel with SimpleDRM support,
but that is out of scope for this MR/commit.
Effectively reverts 638362de63
[ci:skip-vercheck]
Fixes 02dfe83c4b
The previous `provides="mkinifs=3.6.0"` was a requirement because alpine's
kernels had a minimum dependency in `mkinitfs>=3.6.0` to make sure that
support for compressed modules existed. That requirement is no longer
in place[1], since the dependency is now on the `initramfs-generator`
virtual package. Also, since `initramfs-generator` is a virtual package
and not a real package, versioning it might mess up APK. The documentation
explictly states that virtual packages are those with unversioned provides
and a provider_priority. So to avoid having problems in the future, let's
strictly stick to it.
[1] https://gitlab.alpinelinux.org/alpine/aports/-/commit/4fac61c826cac81af72e095b645098900d3094a1
Alpine provides a 'initramfs-generator' thing now that the alpine
linux-* depend on explicitly. This sets postmarketos-mkinitfs to be the
preferred provider of that virtual package.
Fixes:
ERROR: unable to select packages:
postmarketos-mkinitfs-1.4.1-r5:
conflicts: mkinitfs-3.6.1-r2[mkinitfs=3.6.0]
satisfies: postmarketos-base-20-r1[postmarketos-mkinitfs]
postmarketos-base-nofde-20-r1[postmarketos-mkinitfs]
.pmbootstrap-20220610.215815[postmarketos-mkinitfs]
.pmbootstrap-20220610.215815[mkinitfs]
mkinitfs-3.6.1-r2:
conflicts: postmarketos-mkinitfs-1.4.1-r5
satisfies: .pmbootstrap-20220610.215815[mkinitfs]
linux-rpi-5.15.45-r1[initramfs-generator]
.pmbootstrap-20220610.215815:
masked in: cache
satisfies: world[.pmbootstrap=20220610.215815]
Also see:
30d7b88324 (aports) main/mkinitfs: provide initramfs-generator
4fac61c826 (aports) main/linux-lts: replace mkinitfs with initramfs-generator
This also re-enables the auto flashing for u-boot on the L5, but keeps
it disabled on the devkit for now until this u-boot supports the devkit
again.
[ci:skip-build] already built successfully in CI
There was lately a discussion upstream due to apk 2.12.10 breaking
some packages in aports[1]. The conclusion in IRC is that provides
were designed to be either versioned or have a provider_priority.
Otherwise, the provides will be treated as a "virtual package".
Which is not what we want here.
[1] https://gitlab.alpinelinux.org/alpine/apk-tools/-/issues/10847
Run "pmbootstrap kconfig migrate asus-me176c" to update the kernel
config for the new Linux version. Otherwise there is an interactive
prompt that times out on BPO (although it succeeds on GitLab CI for
some strange reason).
Add subpackages that automatically cause installation of the Vulkan
and libva driver if packages using them get installed. This reduces
the size of a minimal rootfs but still ensures those are present if
needed.
[ci:skip-build]: already built successfully in CI
The new linux-edge / 5.18 kernel will likely not make it in time for
the v22.06 release so let's upgrade the good old 5.4 kernel to the
latest stable release at least.
The patch was meant well. But there are problems with yelp in its
current form in postmarketOS:
* It's practically empty. In the default install, there is only one
application that has some sort of help text, which is Chatty. But
when you click on the entry, there is only one line of generic
information about the app. Not useful for users.
* Yelp is not adapted for small screens, the one line of help text is
cut off on the PinePhone.
So let's not ship it by default in edge and v22.06 for now.
This reverts commit 5ef50b12f2.
[ci:skip-vercheck]: modifying _pmb_recommends doesn't need a version
bump.
Don't assume that each branch has all arches that pmbootstrap supports,
instead add them to pmaports.cfg and read them from there. This should
allow the test to pass on v22.06.
File system modules are included by default in postmarketos-mkinitfs
and loaded dynamically when needed.
[ci:skip-build]: already built successfully in CI
At the moment, mkinitfs loads some file system modules always (ext4),
some dynamically (brtfs) and some not at all (f2fs, vfat), expecting
them to be built-in.
To support generic kernels (e.g. from Alpine) properly, use the
partition type detection for both boot and root partition and always
load the necessary modules before mounting.
An increasing number of devices relies on the vfat file system in the
initfs (e.g. for UEFI boot). Having to add all the modules required for
it to work to deviceinfo_modules_initfs is annoying and inconsistent,
in particular for the additionally chosen "nls" modules. Since we
already bundle several file systems by default, let's just add vfat
as well to simplify this.
Ideally mkinitfs should detect the file systems chosen at install time
in the future and only include the necessary modules, but until then
this just adds a couple of kilobytes to the initramfs.
- Update to Linux 5.18
- Fix Bluetooth startup problem
- Upstreamed not so many patches this time
- Even more things I forgot than usual...
pmOS kernel config:
- Enable BNEP, RFCOMM for extra BT features
Device changes:
- samsung-j3ltetw/j5/j5x:
- Now covered by a common device tree include
- Add proper display driver (no brightness control yet)
- Hall sensor (except j3ltetw)
- Touchscreen (only j3ltetw and j5x, j5 is still WIP)
- Sound/Modem for all of them
New devices:
- samsung-grandmax (Samsung Galaxy Grand Max)
- eMMC, SD card, USB, Buttons, WiFi/BT, Vibrator
- Display
- Touchscreen
- Sensors (Accelerometer)
- Sound/Modem
- Battery status
[ci:skip-build]: already built successfully in CI
Drop the weston config, as it was for fbdev which has not been supported
in weston anymore for a while.
Remove Martijn as Co-Maintainer, as both previous maintainers of the
Nokia N900 stopped maintaining it when the device was briefly dropped
from community.
Co-Authored-By: Oliver Smith <ollieparanoid@postamrketos.org>
[ci:skip-build]: already built successfully in CI
Drop 0002-ARM-dts-n900-remove-rx51-battery.patch, because this wasn't
needed for postmarketOS in the first place. The patch was created for
Maemo Leste as upower quirk initially and they don't carry it anymore
either.
Drop other patches, as they have been upstreamed.
Co-Authored-By: Oliver Smith <ollieparanoid@postmarketos.org>
Dropped the usb-c patches, because it looks like usb-c charging works
now out of the box on 5.18, and that was the primary reason for me to
include those patches here originally.
[ci:skip-build] already built successfully in CI
Patches to work around modem instabilities are now in purism's fork, so
they were dropped.
I ran 'kconfig migrate' on the config, which is why there are a lot of
chnages there.
[ci:skip-build] already built successfully in CI
closes#1515
This patch HAS NOT been tested to see if it actually fixes#1515. I do
not have my pinephone keyboard with me and will not till v22.06 is out.
Can someone please test this patch before merging?
Note: this is being merged upstream but needs a refactor of the
Makefile. See:
https://lists.sr.ht/~mil/sxmo-devel/patches/32630
Since we cannot get the refactor of the Makefile out before the next
release, this is the next best thing
[ci:skip-build] already built successfully in CI.
While the newer "Linux board support package" has newer versions for
the "modem" and "venus" firmware, the "wcnss" firmware is actually
older than the one in the previous 1034.2.1 release. To avoid
downgrading it, it is still packaged from the old release in a separate
APKBUILD. (It is probably also better tested than the new release...)
[ci:skip-vercheck]: non-zero pkgrel is intended to match old package
[ci:skip-build] already built successfully in CI
This replaces the previous `udevadm test` hack with a combination of
`udevd`, `udevadm trigger` and `udevadm settle` in order to coldplug all
available devices and make them available for use via libinput / unl0kr.
Relates to: #1411
[ci:skip-build] already built successfully in CI
GPU has been supported for a while in the mainline-ish kernel, so let
pmbootstrap show UIs like Phosh.
And msm-modem-uim-selection will setup the modem well enough so at least
the primary SIM should work out of the box.
[ci:skip-build] already built successfully in CI
Note from merger (Newbyte):
While this device is aarch64, switching to aarch64 comes with issues
and would need more work than a vendor kernel like this is worth.
Use armv7 for now and hopefully mainline it in the future and switch
to aarch64 then.
[ci:skip-build] Already built successfuly on CI in MR
We decided against pvr hacks, quoting craftyguy from issue 1316:
> We discussed this in our team meeting, and ultimately decided that
> supporting pvr in pmaports/pmOS has many of the same problems that
> we saw when trying to support hallium/libhybris, something we
> decided against. For much of the same reasons, we've decided that we
> want to avoid adding the proprietary userspace components required to
> support pvr in pmOS.
No device port is using this package anymore, but we forgot to remove
it. After branching v22.06 I realized that it doesn't build anymore
and as stated in MR 2702, it's unmaintained.
Related: https://builds.sr.ht/~postmarketos/job/767700
Fix the build failure when built with newer gcc:
../gtk/gtktextsegment.c: In function '_gtk_toggle_segment_new':
../gtk/gtktextsegment.c:433:6: error: array subscript 'GtkTextLineSegment {aka struct _GtkTextLineSegment}[0]' is partly outside array bounds of 'unsigned char[40]' [-Werror=array-bounds]
433 | seg->type = on ? >k_text_toggle_on_type : >k_text_toggle_off_type;
| ^~
Patch source: https://gitlab.gnome.org/GNOME/gtk/-/commit/b4e110920aa18e6cc149ccbbfcd90b5143526e6d
Fix the build failure when built with newer gcc:
/home/pmos/build/src/gcc-6.4.0/gcc/config/i386/i386.c: In function 'int function_arg_advance_32(CUMULATIVE_ARGS*, machine_mode, const_tree, long int, long int)':
/home/pmos/build/src/gcc-6.4.0/gcc/config/i386/i386.c:8743:18: error: converting to 'bool' from 'std::nullptr_t' requires direct-initialization [-fpermissive]
8743 | bool error_p = NULL;
| ^~~~
Patch source: https://svnweb.freebsd.org/ports/head/lang/gcc7/files/patch-gcc_config_i386_i386.c?view=markup&pathrev=545751
Fix the build failure when built with newer gcc:
/home/pmos/build/src/gcc-4.9.2/gcc/reload1.c:89:24: error: use of an operand of type 'bool' in 'operator++' is forbidden in C++17
89 | (this_target_reload->x_spill_indirect_levels)
| ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
/home/pmos/build/src/gcc-4.9.2/gcc/reload1.c:444:7: note: in expansion of macro 'spill_indirect_levels'
444 | spill_indirect_levels++;
| ^~~~~~~~~~~~~~~~~~~~~
Patch source: https://github.com/ChrisMacGregor/esp-open-sdk/blob/master/1001-fix-reload1-compile-error.patch
The bug that caused us to fork this package has been resolved upstream.
Tested by downgrading FP2 bootloader to a version susceptible to this
bug:
~ # ./fastboot-31.0.0p1-r2 flash boot boot.img
fastboot: error: Couldn't parse partition size '0x'.
~ # ./fastboot-31.0.3p1-r4 flash boot boot.img
Sending 'boot' (11666 KB) OKAY [ 0.367s]
Writing 'boot' OKAY [ 0.276s]
Finished. Total time: 0.670s
Loaded 100 of 2046 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.