Wireguard's userspace tool 'wg-quick' requires certain network and
netfilter options in the kernel config to be enabled, since it uses
policy routing and some 'iptables' modules. An overview of the options
and why they are required can be found in pmaports#909.
NOTE: after rebasing this patch on the one that enables anbox related
kconfig options, only CONFIG_IP_MULTIPLE_TABLES=y was left.
wireguard needs the ipv6 multitable option to make a seperate routing
table for the inside and outside vpn part of the network.
[ci:skip-build]: already built successfully in CI
Update ov5640 autofocus related patch. We had it working with Martijn's
patch in 5.9.1_git20201019-r2 (MR 1654), but then dropped the patch in
favor of the patch that was added to megi's tree in 5.9.3_git20201101
(MR 1678).
It turns out that the patch added to megi's tree was different than the
patch we were carrying, it was a WIP version where loading the autofocus
firmware did not work anymore.
Megi decided to drop the autofocus patch from his tree for now, as the
firmware uploader takes more time in Martijn's proper patch. According
to Martijn it takes about a second, which seems reasonable for the
postmarketOS use case. I've added the previous version again as
out-of-tree patch.
Martijn found that for some reason the continuous autofocus still
doesn't want to start with this kernel and current patch version, as for
some reason the firmware load fails. But he extended the patch to make
autofocus work again with "tap to focus" at least.
0005-dts-pinephone-Disable-flash-led-in-OV5640-node.patch is not needed
anymore, the same change is in megi's tree.
Co-Authored-By: Martijn Braam <martijn@brixit.nl>
[ci:skip-build]: already built successfully in CI
This patches from the megi solves the issue of the MIPI-DSI panels
framerate being at 2/3rd of actual or expected rate.
[ci:skip-build]: already built successfully in CI
Switch from the 5.8.x kernel with allwinner specific patches to megi's
5.9 based tree. He drives the PinePhone related kernel development
forward like no other, his tree and changes are well documented on
xnux.eu, and he frequently publishes tested "build this one" commits with
the latest improvements. It makes a faster and less time consuming
workflow to simply package these versions (after a smoke test) into
postmarketOS edge, and after some time to catch possible regressions
ship the same version in postmarketOS stable.
This kernel should make HDMI work for most people, and improve call
quality (thanks to smaeul's patches, which are integrated into megi's
tree).
Kernel config changes:
* Enable MODEM_POWER in the kernel config, among other improvements this
allows us to get rid of the 30s delay on power off.
* Enable CONFIG_DRM_PANEL_ILITEK_ILI9881C (new PineTab panel)
* Enable CONFIG_ZRAM
* Enable CONFIG_HID_MULTITOUCH
Related: https://xnux.eu/devices/feature/modem-pp.html#toc-modem-power-driver
Changelog: https://megous.com/git/linux/tag/?h=orange-pi-5.9-20201019-1553
Co-Authored-By: Martijn Braam <martijn@brixit.nl>
Co-Authored-By: Clayton Craft <clayton@craftyguy.net>
Enable the freezer cgroup. This allows a user to start a large application like
firefox, freeze it to save some power, and unfreeze it to continue using it,
without having to restart the application completely. Stopping and restarting
the application completely results in more battery usage as well as lost state.
Signed-off-by: Serge Hallyn <serge@hallyn.com>
Sloppy patch that makes the displayport alt-mode output signal work on
the PinePhone convergence edition. Proper fix is in the 5.8 tree
[ci:skip-build]: Martijn made sure that it builds and works. This is
time critical, so skip the CI build.
Enable CONFIG_CRYPTO_XTS for each kernel, so we can switch to using
aes-xts-plain64 as default cipher for cryptsetup (override with
"pmbootstrap --cipher"), instead of aes-cbc-plain64 (pmbootstrap#1940).
I have executed "pmbootstrap kconfig edit" on each kernel, and manually
toggled the option. The diff is not always clean, because for some
kernels it is apparently the first time, that menuconfig was executed on
the configs like that. In a few instances, it turned out that
CONFIG_ANDROID_PARANOID_NETWORK needed to be disabled too (this is
already a requirement, but as the config was incomplete, it was not
visible that this option was enabled). Very few times, I had to enable
CONFIG_EXPERIMENTAL in order to see and enable CONFIG_CRYPTO_XTS.
It would be great if we could automate such mass kconfig edits in the
future, see pmbootstrap#1942.
[skip ci]: I have verified, that every single one of these kernels builds.
CI will likely run out of time while downloading source tarballs.
This enables mult-sensor support in sun6i-csi, support for the
gc2145 front camera, the new panel driver from mainline linux
and a small fix for the anx7688 that prevents it spamming the
kernel log when no cable is plugged in on 1.2a hardware.
We cannot have two of them at the same time, most compiler would fail here
but for some reason our didn't.
However, it's better to just use one (the new one, or the old one). Enable
CONFIG_RTL8723CS_NEW, which is the new driver that made it to pine64
kernel since 5.5.
Signed-off-by: Danct12 <danct12@disroot.org>
[ci:skip-build]: already built successfully in CI
This makes recording system audio very simple and feasible in a cross-device
manner since application-logic can always rely / forward ALSA audio to the
loopback device instead of a device-specific audio interface.
Disable modules for hardware that's impossible to connect to the
allwinner devices or older than the 90's this shrinks the size from 380
to 250MB.
Then it enables module compression so it shrinks from 250MB to 57MB.
Then the module stripping was enabled, shrinking it to 20MB
[ci:skip-build]: already built successfully in CI
We'll use the new RTL8723CS driver in the kernel tree instead
of using the one that we have to fetch from GitHub.
Signed-off-by: Danct12 <danct12@disroot.org>
Signed-off-by: Asriel Dreemurr <asriel.danctnix@gmail.com>
[ci:skip-build]: already built successfully in CI
[skip-ci]: just downloading all kernel sources takes about one hour
and ollieparanoid wants to merge it now. This already ran
successfully with [ci:skip-build] and [ci:skip-vercheck].
CONFIG_INPUT_UINPUT is needed for !1012
- linter fix: remove unneeded HOSTCC
- use downstreamkernel_package
- _abi_release was never used
- this package is only enabled for aarch64, so always use
modules_install dbts_install in package(), remove redundant
switch case
Currently, every LCDs inside their (our users) pocket are driving 3.3V,
meanwhile the LCD interface is meant to drive at ~2V.
This turns our LCDs into a timebomb that is ready to trigger at any moment,
killing the display.
Signed-off-by: Danct12 <danct12@disroot.org>
Current default is performance, and that is for sure not a great choice
for battery. We can experiment with ondemand as well, but based on docs,
conservative is recommended.
[ci:skip-build]: build takes too long
* Added display in final pinephone to the kernel
* Added getty
* Use RGB led to signify booting status in u-boot
* Enable CONFIG_GPIO_SYSFS
[ci:skip-build]: won't finish in time
This adds a seperate dts for the longts version of the devkit (which was
the un-inverted version before) and adds a shortts version which was
inverted before, but didn't exist in pmaports yet because I manually
edited the dts for every release.
This MR abuses the kernel switching feature to switch the dtb instead so
shortts/longts can be selected in the init step.
[ci:skip-build]: build won't finish in time
- main: postmarketos-mkinitfs: Add /run
Create the /run directory in the initramfs so that cryptsetup doesn't
crash on not being able to create /run/cryptsetup for lockfiles
- device: pine-dontbeevil: Remove workaround for touchscreen
- main: linux-postmarketos-allwinner: Implemented supplies for touchscreen
This uses a slightly newer commit from the kernel repo that implements
requesting a regulator in the touchscreen driver
- device: pine-dontbeevil: Remove ethernet from initramfs
This actually makes debugging more complicated since networkmanager wont
touch the ethernet adapter afterwards and the initramfs can be debugged
over uart
- temp/u-boot: sync APKBUILD with upstream and update to 2019.04
- main: linux-postmarketos-allwinner: Use 20190521 git version
* Fixed audio
* Fixed battery handeling
* Added fix for touchscreen not working for everyone
* Use newer upstream kernel
[ci:skip-build]: won't finish in time, Martijn made sure that it builds.
* Moved more PinePhone related kernel stuff to the upstream
* Added cma=256M so the CSI subsystem doesn't throw out-of-memory errors
when capturing at higher than 1280x720 resolutions (but it still hangs)
* Removed a lot of modules that get compiled for DVB tuners after
enableing the camera stuff.
[ci:skip-build]: doesn't finish in time
* Inverted the X-axis on the touchscreen
* Enabled the driver for the wifi/bluetooth chip and added it to the dts
* Added a horrible hack for making the touchscreen work
This also decreases the kernel version because the previous version I've
used was technically incorrect.
[ci:skip-build]: doesn't finish in time
* Created seperate DTB for the devkit named sun50i-a64-dontbeevil.dts so
it can easily be edited and the diff remains readable in gitlab
* Added patch to build the new dtb
* Added the ST LIS3MDL to the new dtb (Magnetometer)
* Added the SensorTek STK3335 to the new dtb (Proximity and ambient
light sensor)
* InvenSense MPU-6050 to the new dtb (Accelerometer and gyroscope)
* Added CSI bus and OV5640 camera
Remaining issues:
* The STK3310 module doesn't load automatically
* Camera doesn't want to capture but does show up as /dev/video0
[ci:skip-build]: doesn't finish in time
UART and SSH work and HDMI works in u-boot (just like the pine-a64lts).
It should work now with display and xorg/weston works directly after
installing. Plasma mobile doesn't work directly because both kms and
fbdev are enabled and kms doesn't work yet.
linux-postmarketos-allwinner: update to 5.0.0-rc3 with patches for this
devkit, tested on this device and on pinea64lts (the only other device
using the allwinner kernel).
[ci:skip-build]: won't finish in time
Add firmware-rtl8723bt package and Pine wifi and bluetooth firmware
subpackage.
[skip ci]: ollieparanoid will build this MR manually before merging, it
will probably not finish CI within one hour.
This is a followup to !109 (merged). Affected packages:
* device/linux-samsung-p4wifi
* device/linux-sony-tulip
* device/linux-teclast-x80pro
* main/linux-postmarketos-allwinner
* main/linux-postmarketos-mainline
* main/linux-postmarketos-qcom
* main/linux-postmarketos-stable
[skip ci] I have confirmed that all 7 kernels still compile.
* Added linux-postmarketos-allwinner kernel
* Added copy of alpines u-boot package with pine-a64lts support
* Changed postmarketos-mkinitfs to add the plain .dtb file to the boot partition