samsung-serranovelte runs Linux mainline (linux-postmarketos-qcom-msm8916)
with support for:
- Display
- Touchscreen
- Sound
- GPIO keys
- NFC
- Vibrator
- IMU (Accelerometer + Gyroscope)
- Battery
The primary limitation of samsung-serranovelte is that it can only run
ARMv7 (32-bit) binaries, even though its hardware (MSM8916) is 64-bit
capable. This is because it was never updated with 64-bit compatible
firmware (usually introduced together with the Android 5.0 update).
[ci:skip-vercheck]: only added new architectures
The post-install depends on the -openrc files being present, and if the
dependency isn't explicitly specified then the device-* package may be
installed before the -openrc package, causing the post-install to fail.
Both sway and phosh require hardware acceleration (DRM) to work. Let's
activate that when we request one of them. Also don't let them fail
during startup on inputless setups (which is common on a raspberry pi).
Phosh is too slow to be unsable, but now, it'll at least be unusable out
of the box ;-)
Without this MR, elogind, and therefore weston will not start as it will
complain about cgroup mess:
[ 21.387150] elogind-daemon[1538]: Failed to determine whether /sys/fs/cgroup is a mount point: Symbolic link loop
[ 21.388341] elogind-daemon[1538]: Failed to mount cgroup at /sys/fs/cgroup/elogind: No such file or directory
Fix by applying this patch, thanks minlexx for pointing me to it! This
might possibly also be applicable to other kernel 3.4-based ports.
[ci:skip-build]: already built successfully in CI
This provides alsa usecase profiles for the audio routing in the
pinephone, pulseaudio also picks up this config.
[ci:skip-build]: already built successfully in CI
Remove all firmware-support dependencies from the firmware package and
add them to -downstream-firmware and -mainline-firmware packages which
have an install_if on the downstream or mainline kernel subpackage.
[ci:skip-build]: already built successfully in CI
Stock Android on PineTab is detected as 1f3a:1007.
Use those values as USB idVendor and idProduct on
postmarketOS, too.
idVendor 1f3a is "Allwinner Technology Co., Ltd."
idProduct 1007 is unknown to databases.
device/device-asus-me176c:
- Install me176c-factory to apply correct MAC addresses for
WiFi and BT
- Use FAT32 for boot partition. This allows flashing the boot
partition directly as ESP (EFI System Partition).
- Overall cleanup
device/linux-asus-me176c:
- Update kernel fork to 4.19.80
- Cleanup APKBUILD
- Stop building patched ACPI DSDT table directly into kernel
firmware/firmware-asus-me176c:
- Package WiFi firmware
firmware/firmware-asus-me176c-acpi:
- New package for the patched ACPI DSDT table
-> Separate from firmware-asus-me176c because it is always required,
(not optional)
[ci:skip-build]: runs into timeout
The modem boots up properly without causing any problems, so let's
install the firmware and support packages by default.
Also install adsp-audio now by default to boot up the adsp for audio and
other services provided by the processor.
[ci:skip-build]: already built successfully in CI
The initramfs needs ext4 (to mount the rootfs) and usb_f_rndis
(to enable USB networking on devices that use USB configfs).
If these are built as modules, they need to be included in initramfs.
[ci:skip-build]: already built successfully in CI
We have linux-postmarketos-qcom and linux-postmarketos-qcom-msm8916 now,
which is quite confusing. linux-postmarketos-qcom was originally added
for MSM8974 devices (e.g. Nexus 5) and its patches on top of mainline
are therefore quite focused on MSM8974.
linux-postmarketos-qcom-msm8916 on the other hand, has patches specific
to MSM8916. The two packages do not have any patch in common, therefore
merging the two would only cause signficiant overhead to coordinate
testing for devices of the two SoCs.
Therefore, it is better to keep them separate.
To avoid confusion, rename linux-postmarketos-qcom to
linux-postmarketos-qcom-msm8974 to make it clear that it is really
a close-to-mainline kernel for MSM8974 devices.
[ci:skip-build]: already built successfully in CI
The sparse image tools (img2simg, simg2img, append2simg) are now
part of Alpine's android-tools package where they are continously
updated. (See https://github.com/nmeum/android-tools/pull/8)
Remove "libsparse" as depends from all packages because it is either:
- installed automatically by pmbootstrap when needed for
deviceinfo_flash_sparse="true"
(device-chuwi-hi10plus, device-htc-flounder, device-lg-bullhead,
device-semc-anzu, device-xiaomi-kenzo)
- seemingly unused(?)
(device-asus-z00t, linux-motorola-falcon, linux-motorola-peregrine)
[ci:skip-build]: already built successfully in CI
in Librem 5 devkit, card0 is coming from etnaviv and is not usable for
kms/drm. So force usage of card1 for kwin_wayland.
[ci:skip-build]: won't finish in time
This simplifies the uboot script and updates it to use correct address
offsets for kernel, ramdisk and fdt. Appending the dtb to the kernel is
no longer necessary. This also changes the dtb to the one used on
PureOS.
linux-samsung-apexq/APKBUILD updated with newer kernel commit
sha from d2 repo, and now builds and packages modules into the
rootfs in /lib/modules/. prima wifi module not yet working.
The subpackage depends on the "kernel-scripts" package, which has been
removed from pmaports.git. Therefore the -dev package could not be
installed, and our CI check of the binary repo noticed this and was
failing.
Related: https://gitlab.com/postmarketOS/pmaports/merge_requests/329
Make the renamed pine packages build again, by giving their post-install
files the new pkgname.
(So much for trivial package renames, needs better testing next time :p)