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
Upgrade to latest version and add a backport of the PinePhone keyboard
patch by Undef, which is already merged to upstream master and therefore
will be in the next version.
Adjust the source URL to the same that is in the Alpine APKBUILD.
Keep the RX-51 (Nokia N900) patches for now, but it would be good if we
could upstream/drop them in order to use Alpine's package again in the
near future. Created pmaports issue 1521 for that.
Related: pmaports issue 1515
Co-Authored-By: Oliver Smith <ollieparanoid@postmarketos.org>
- Patch from Robert Nelson and Hansem Ro.
- Based on the work of Hansem Ro,
who owns another device, the First Generation Kindle Fire,
which has similar specifications as the Samsung Galaxy Tab 2 7.0.
Basic support for the Tolino Shine 3 ebook reader. It is the same board as
the Kobo Clara HD.
Waveform handling shares the same oddities as for the Kobo Clara HD
but the file epdc_E060SCM.fw from the IMX6SL BSP from NXP does also work.
The existing waveform from SD card is used.
Preferred way to install is to clone the internal SD, keeping the original
as a backup, install on that clone.
U-Boot is a more recent one than the factory u-boot, so devicetrees are nicely
supported. Kernel is the near mainline kernel also used by the Kobo Clara HD.
This commit adds a package for the sm6125-mainline kernel fork. As of
now it uses kernel version 5.18_rc4, pulled from torvalds/linux.
You can find the repository on https://gitlab.com/sm6125-mainline/linux
[ci:skip-build] Already built successfuly on CI in MR
A quirky device, the last Mi Ax phone in the line. - Powered by
Snapdragon 665 (SM6125, codenamed Trinket), 8 cores, 4 clocked a 2.0
GHz and 4 more clocked at 1.8 GHz. 4-6 GB of RAM, 64-128 GB of UFS
storage, 720p 6.09" AMOLED display, a 48 Mpx quad-bayer camera (plus two
more on the back and one on the front) and an under display fingerprint
sensor which may be impossible to ever implement... *sigh*
Mainline kernel as of now is pretty minimal (framebuffer display, USB
networking). No UFS support (yet!).
This should be reverted when this Alpine issue has been closed:
https://gitlab.alpinelinux.org/alpine/aports/-/issues/13778
sxmo-common already had this for some reason.
[ci:ignore-count]
[ci:skip-build] Already built successfuly on CI in MR
the networkmanager package in alpine was refactored and the wifi and
wwan components were split off into separate subpackages. without these,
wifi and wwan networking are broken.
also see: aports 830af82c6c
[ci:ignore-count]
Disable options
-CONFIG_NET_VENDOR_ENGLEDER
-CONFIG_NET_VENDOR_VERTEXCOM
-CONFIG_SURFACE_PLATFORM
Enable options
+CONFIG_KEYBOARD_PINEPHONE
Note by ollieparanoid: this fixes the suspend to ram issue, pma 1478
[ci:skip-build]: already built successfully in CI
patches added are (not all, just some) fixes and feature enhancements
for msm8992 and msm8994 from qcom mainline maintainer tree [1] for v5.18
and v5.19.
Changes:
* update deviceinfo_dtb_mainline for device-huawei-angler and
device-lg-bullhead.
* add sdhc1 support for device-huawei-angler
[1] https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux.git
Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
[ci:skip-build] Already built successfully in CI in MR
This code wasn't actually working for me on samsung-m0, so I
investigated and came up with that this fixes it. I'm not sure if you
are supposed to be able to omit the deviceinfo_ prefix? Either way, it
doesn't seem to work, so let's fix it.
Fixes fad7c7ef8e
Fix for:
missing depend(s): so:libicuuc.so.70
While at it, I've checked if this is the most recent version of this
mobile fork, and what the upstream stance on this is. Meanwhile there's
a feature branch in the official dino.git repository, so I've adjusted
the APKBUILD. The commit is still the same, and apparently upstream
won't merge it, but rather switch the whole application to libadwaita.
Related: https://github.com/dino/dino/issues/178
Related: https://github.com/dino/dino/issues/1182
[ci:skip-build] already built successfully in CI
Helps #1479
The Disable-fullscreen patch from Purism is in principle useful
in mobile, as exiting fullscreen is at least troublesome. However,
the patch has not been upstreamed and, although we could carry it
in alpine for the 42 cycle, the 43 cycle will come with GTK4 support
and the patch will not rebase easily. Therefore, instead of waiting
6 months to drop, lets just drop it now.
[ci:skip-build] already built successfully in CI
Downgrade to avoid the suspend issues we've been seeing for the past three
weeks. This reverts commit 3d4d3558b7
("linux-postmarketos-allwinner: upgrade to 5.17.0_git20220313 (MR 3001)").
Related: pmaports issue 1478
XWayland is a phosh dependency. Having it in pmb_recommends adds
nothing and can be confusing, since power users would expect that
removing it from world would remove the package. That will never
be the case since phosh depends on it.
[ci:skip-build] already built successfully in CI
Ask people to add renamed devices to https://postmarketos.org/renamed
The CI script already downloads this page and ignores missing devices
that are on this list of renamed devices. This is important, so when
creating a MR that renames a device, and already renaming the device in
the wiki, other CI jobs will not start failing until the MR is merged.
Adding bluez to "depends" in order to enable bluetooth service (doesn't
work on packages in "_pmb_recommends").
Adding blueman to "_pmb_recommends" to allow uninstallation by the
user.
Closes https://gitlab.com/postmarketOS/pmaports/-/issues/1465
nmcli and nmtui are still missing in Gnome.
Move NetworkManager dependencies from postmarketos-ui-phosh, and phosh
will get them when depending on postmarketos-ui-gnome.
postmarketos-ui-i3wm|mate.post-deinstall:
Contains removal of file "61-autologin.conf"|"65-autologin.conf".
However, this file is removed by apk automatically unpon
deinstallation.
postmarketos-ui-i3wm|mate|xfce4.pre-deinstall:
Contains disabling service "lightdm". Removing display manager service
upon deinstallation isn't done by other UIs either. It can lead to
unexpected behaviour when installing another UI using lightdm and then
uninstall MATE UI.
Additionally
postmarketos-ui-i3wm.post-upgrade:
Removed postmarketos-ui-i3wm.post-upgrade and replaced it with a link to
postmarketos-ui-i3wm.post-install, like it's done in MATE and Xfce4.
- Enable Broadcom and Marvel wifi drivers (cards exist that can be
installed in the L5)
- Add workaround that helps with modem disappearing when modem PM is
enabled. Doesn't solve it completely, but it makes the problem much
less frequent.
This u-boot version doesn't support the devkit yet. Last I heard, Purism
plans to add the config back in after porting it from the old u-boot.
If anyone needs this (probably no one besides me?), the old u-boot can
be built locally from an earlier version of this package.
Updates the u-boot on the Librem 5 to a branch that is much closer to
mainline u-boot.
- adds support for booting from SD card to the u-boot boot script
- m4 is no longer necessary, at least not right now (may be re-added by
purism in the future for supporting some low power modes)
- adds a patch to enable u-boot console on uart 4 (on the m.2 connector)
for the debug board
- drops the patch to enable efidebug command, this isn't necessary
anymore with mainline u-boot
Co-authored-by: Bart Ribbers <bribbers@disroot.org>
mesa-dri-swrast no longer exists and just installs,
mesa-dri-gallium. However, this might not always be the case, so
let's change it before it causes any issues.
[ci:ignore-count]
[ci:skip-build]
I'd say this is not appropriate to be in postmarketOS because
this is just a bog standard x86 computer, it has UEFI BIOS and
everything, and you can just boot a Linux distro on a USB
stick.
It also has a 64-bit UEFI unlike some other tablet, so there
should be no issue installing a Linux distro with a fairly
modern kernel these days.
So, let's just drop it and forget this port even existed.
The charging script does nothing other than annoy a few people,
so get rid of it.
While at it, let's remove hybris reference from the APKBUILD as
hybrisOS is dead.
Closes#1487
Signed-off-by: Dang Huynh <danct12@disroot.org>
Powerful beast with Snapdragon 855 - 8 cores up to 2.8 GHz,
6 Gb RAM and fast UFS storage.
Mainline port is bare minimum (UART, framebuffer display, physical
keys, USB network). No storage support yet (UFS refuses to work)
https://wiki.postmarketos.org/wiki/Xiaomi_Mi_9_(xiaomi-cepheus)
Downstream kernel will not be maintained really, but useful for
exploring stuff. This kernel is at version 4.14 and can be
compiled with recent gcc versions though, so not that bad.
USB rndis works, touchscreen too, but no display (framebuffer,
/dev/fb0 is not present at all). Internal storage works, also
battery/charging.
I usually end up installing it on new installs. Why not enable it by
default and have a more polished experience for users? Most users will
use a gtk app and/or use the gtk file chooser
Device uses mainline kernel. What works:
- boots
- pstore log
- simple framebuffer
- storage including sdcard
* payload mock device tree:
Payload mock device tree is needed to mock device tree,
when we're overriding linux with u-boot in android boot image.
Stock bootloader needs this dtb appended to gzipped u-boot.
Bootscript is a simple hush shell script, dedicated to boot OS.
It may be customized to implement dual boot or to change kernel
command line.
mesa-egl is usually installed by dependencies of ui packages, but when
choosing the "none" ui option in pmbootstrap, it isn't selected, leading
to libEGL.so.1 not being found.
Add it as an explicit dependency.
[ci:skip-build]: already built successfully in CI
To make panel driver upstreamable to mainline linux, we need to use
proper panel selection in secondary bootloader (still TODO), and
therefore lk2nd will be strictly required to boot mainline port.
Switch flashing method to fastboot, enable sparse rootfs generation,
and depend on lk2nd package.
Depends on: postmarketOS/pmbootstrap!2174, to provide full
integration of lk2nd in pmbootstrap.
So, full flashing procedure for samsung-klte will look like:
$ pmbootstrap init
$ pmbootstrap install
$ pmbootstrap flasher --method=heimdall-bootimg flash_lk2nd
$ pmbootstrap flasher flash_kernel --no-install
$ pmbootstrap flasher flash_rootfs
$ fastboot reboot
This removes u-boot from our image and allows booting via an
UEFI-compatible platform firmware instead. So to flash pmOS on the PPP
now we will require the user to flash Tow-Boot to the SPI. See the edge
post for more information.
Related: https://postmarketos.org/edge/2022/03/28/ppp-tow-boot/
Co-Authored-By: Oliver Smith <ollieparanoid@postmarketos.org>
Add option for mainline kernel iso downstream kernel. Note that a lot is
not working yet due to incomplete devicetree, so this is for development
purposes only.
Add and rearrange dependencies with new apps, and fix angelfish package
name.
Adds the following packages to extras:
- alligator (rss reader)
- kasts (podcasts)
- tokodon (mastodon client)
Move neochat from a required to an extra dependency, since it's a
matrix client (which many people may not need).
Add plasma-mobile-sounds to main dependency, so that kclock (and dialer
in the future) have sounds to choose from.
Rename plasma-angelfish to angelfish dependency since plasma-angelfish
was renamed in alpine at some point.
Remove the part of the description of the package that says numeric
passwords are required (no longer the case).
When moving the code to it's own repo I changed the license to GPL-2.0,
I forgot to update the APKBUILD.
[ci:skip-build] already built successfully in CI
It seems like at least samsung-a5 needs the same "facility lock"
workaround as samsung-serranove, otherwise ModemManager can not detect
the SIM card correctly. Move it to a subpackage of soc-qcom-msm8916
and apply it to samsung-a3 as well just to be sure.
So far this issue seems limited to Samsung devices, at least bq-paella
is not affected (tested with the same SIM card), so it does not seem
right to apply it unconditionally to all devices.
[ci:skip-build] Already built successfuly on CI in MR
Now that internal storage is supported, we actually need a 4096 sector
size, otherwise kpartx won't work on internal partitions.
[ci:skip-build] Already built successfuly on CI in MR
Fixes/works around issue where some applications using the GPU
would crash with DRM_IOCTL_MODE_CREATE_DUMB failed.
See https://gitlab.com/postmarketOS/pmaports/-/issues/1246
[ci:skip-build] Already built successfuly on CI in MR
- Add support for sdm845-samsung-starqltechn
- Fix touch for axolotl
Change-Id: Ie7073f450f207e9242b821b4971ce2be89ba6a54
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
[ci:skip-build] Already built successfuly on CI in MR
- alcatel-idol347: add headphones
- Try to revert playback/capture priorities to maybe make automatic
switching to headphones based on jack detection work a bit better.
[ci:skip-build] Already built successfuly on CI in MR
Unfortunately, the oppo-a51f has been unmaintained for quite some time
now. The original author (harutora) has disappeared and no one else
seems to have this device. The device port has several open problems:
1. The device was never added properly to upstream lk2nd, because
of a special (OPPO-specific) boot image format. Users need to
compile and install some outdated version of lk2nd, which is no
longer (fully) compatible with newer kernel versions.
2. The authorship of the Linux changes are unclear: They were created
with a "no-reply" email address and without Signed-off-by line
that clarifies the licensing of the changes and permits upstreaming
the patches.
Since oppo-a51f is the last remaining device port in linux-postmarketos
-qcom-msm8916 with this problem, I decided to drop the patches from the
kernel, at least until harutora returns or can clarify the authorship
of the created patches.
Also, moving the modemmanager.conf file from the main package to the
nonfree-firmware subpackage as Modem Manager is going to work
only if the nonfree-firmwares are present.
The soc-qcom-sdm845-nonfree-firmware dependency is now moved from
firmware-xiaomi-beryllium package to the device package.
This will make the firmware package to only depend on firmware files.
The soc-qcom-sdm845-nonfree-firmware dependency is now moved from
firmware-oneplus-sdm845 package to the device package.
This will make the firmware package to only depend on firmware files.
The soc-qcom-sdm845-nonfree-firmware dependency is now moved from
firmware-oneplus-sdm845 package to the device package.
This will make the firmware package to only depend on firmware files.
The soc-qcom-sdm845-nonfree-firmware dependency is now moved from
firmware-shift-sdm845 package to the device package.
This will make the firmware package to only depend on firmware files.
The soc-qcom-sdm845-nonfree-firmware dependency is now moved from
firmware-shift-sdm845 package to the device package.
This will make the firmware package to only depend on firmware files.
Also, pmb:cross-native is added to the package options so CI testcases
doesn't fail.
The soc-qcom-sdm845-nonfree-firmware dependency is now moved from
firmware-oneplus-sdm845 package to the device package.
This will make the firmware package to only depend on firmware files.
Also, pmb:cross-native is added to the package options so CI testcases
doesn't fail.
The soc-qcom-sdm845-nonfree-firmware dependency is now moved from
firmware-xiaomi-beryllium package to the device package.
This will make the firmware package to only depend on firmware files.
Also, pmb:cross-native is added to the package options so CI testcases
doesn't fail.
Shared package for shared gnome and phosh ui configurations
Additionally, added missing dependencies:
Both Phosh and GNOME need elogind to do sleep inhibition and to
provide pam modules. gnome-bluetooth has some small udev rule
that helps marking devices for rfkill. Given that most devices
in pmOS have a bluetooth, this should be useful as a dependency.
These were most likely copied from phosh, but not necessary in
GNOME. They safe space in the interface, but GNOME Shell is really
not that useful in very narrow devices, so adding a configuration
for such cases should be unnecessary.
The dconf configuration and installation file was needed because the
schemas `sm.puri.phoc.application.org-gnome-maps` and
`sm.puri.phoc.application.firefox` are not schemas that can be overriden.
The actual schema is `sm.puri.phoc.application`, which is a relocatable
schema. Therefore, we could use an override to specify the default,
but with a simple configuration file, gsettings cannot relocate the
schema. Therefore, the dconf configuration makes sense for these kind
of schemas. For regular schemas that can be overriden with an override
file, it is simpler to just use it.
Phosh takes care of it in a smarter way[1]. The custom override also has the
consequence of never showing closing buttons in docked mode, which can be
an inconvenience.
[1] https://gitlab.gnome.org/World/Phosh/phosh/-/blob/main/src/docked-manager.c#L292-L295
Or in case the lines change with time:
```C
phosh_docked_manager_set_enabled (PhoshDockedManager *self, gboolean enable)
if (enable)
g_settings_reset (self->wm_settings, WM_KEY_LAYOUT);
else
g_settings_set_string (self->wm_settings, WM_KEY_LAYOUT, "appmenu:");
```
Phosh already installs these schemas by default[1] and makes them specific
to the Phosh desktop. Originally these might have been needed because
either Phosh didn't ship the overrides or/and tinydm wasn't setting the
environment variable XDG_CURRENT_DESKTOP properly[2]. To verify that the
behavior of the Phosh override is working as expected one can do the following
from an ssh session (so that the full DE envvars are not set):
```bash
$ export DISPLAY=:0 # so that gsettings reset works
$ gsettings reset org.gnome.desktop.interface clock-show-date
$ gsettings get org.gnome.desktop.interface clock-show-date # false
$ sudo rm /usr/share/glib-2.0/schemas/000-postmarketos.gschema.override
$ sudo glib-compile-schemas --strict /usr/share/glib-2.0/schemas/
$ gsettings get org.gnome.desktop.interface clock-show-date # true (which is the default)
$ export XDG_CURRENT_DESKTOP=GNOME:Phosh
$ gsettings get org.gnome.desktop.interface clock-show-date # false (from phosh override)
```
[1] https://gitlab.gnome.org/World/Phosh/phosh/-/blob/main/data/00_sm.puri.Phosh.gschema.override
[2] https://gitlab.com/postmarketOS/tinydm/-/merge_requests/12
firefox scaling was set to true before `mobile-config-firefox` existed.
In new installations false is the default, so explicitly stating false is
only necessary for upgrades. Since the default was changed in one and a half
years ago in fef3af0d75 when the
package was still in version 4, removing it should not have any impact. If
anybody had an edge installation not upgrade for more than 1.5 years, it would
definitely be wiser to reinstall than to upgrade.
Glade can be useful if you're building GTK apps on your phone when
making use of convergence, so let's unhide it. The reason it was
hidden was that it gets pulled in when building Phosh, but this
might be solvable in a better way.
Hiding of org.gnome.Extensions can probably be dropped when
https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/31086
has been merged.
I'm not deduplicating the UCM files between m3 and m0 as I may not
always be able to test changes to m3, and I'd rather have a an
outdated configuration for m3 than a broken one.
Enable screen locking and embed virtual keyboard. For devices with a
hardware keyboard, this is unfavorable. For touch devices, however,
that's needed for unlocking the screen.
Additionally enable single-click behavior in file manager. This applies
also to the desktop icons. Again this is unfavorable for conventional
devices but advantageous for touch devices.
Apparently works significantly better on SHV-E210S and seems to
work about equally well on i9300. Besides, using upstream firmware
with a clear licence is nice. Also use different nvram file for m3.
2022-03-12 09:13:57 +01:00
1837 changed files with 199379 additions and 64680 deletions
From 7b5108375bb67532af30d1e7f553ac5f3b1096fe Mon Sep 17 00:00:00 2001
From: Jakub Jelinek <jakub@redhat.com>
Date: Mon, 24 Jan 2022 11:13:39 +0100
Subject: [PATCH] properly disable -fsplit-stack on non-glibc targets
[PR104170]
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
On Sat, Jan 22, 2022 at 10:32:21AM +0100, Martin Liška wrote:
> I've just noticed the patch broke a few cross compilers:
>
> s390x-ibm-tpf:
>
> /home/marxin/buildworker/zen2-cross-compilers/build/gcc/common/config/s390/s390-common.cc: In function ‘bool s390_supports_split_stack(bool, gcc_options*)’:
> /home/marxin/buildworker/zen2-cross-compilers/build/gcc/common/config/s390/s390-common.cc:126:13: error: ‘struct gcc_options’ has no member named ‘x_linux_libc’
> 126 | if (opts->x_linux_libc == LIBC_GLIBC)
> | ^~~~~~~~~~~~
>
> i686-kopensolaris-gnu, i686-symbolics-gnu
>
> /home/marxin/buildworker/zen2-cross-compilers/build/gcc/common/config/i386/i386-common.cc: In function ‘bool ix86_supports_split_stack(bool, gcc_options*)’:
> /home/marxin/buildworker/zen2-cross-compilers/build/gcc/common/config/i386/i386-common.cc:1721:13: error: ‘struct gcc_options’ has no member named ‘x_linux_libc’
Loaded 100 of 1837 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.