Recently pmbootstrap mandates also vndbinder being part of
CONFIG_ANDROID_BINDER_DEVICES. Adjust the config so it matches.
[ci:skip-build]: already built successful in CI
- 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.
sxmo 1.9.0 will not be packaged in pmOS stable but we want superd in pmOS stable
so we can support users using the latest git head on pmOS stable.
[ci:skip-build]: already built successfully in CI
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-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.
Merge list:
5fd3e07fd10e Linux 5.16.2
a498f4a42b81 ALSA: hda/realtek: Re-order quirk entries for Lenovo
21ad9041b615 ALSA: hda/realtek: Add quirk for Legion Y9000X 2020
5053b09e0e90 ALSA: hda/tegra: Fix Tegra194 HDA reset failure
ea3fcb111c87 ALSA: hda: ALC287: Add Lenovo IdeaPad Slim 9i 14ITL5 speaker quirk
73990b61c549 ALSA: hda/realtek - Fix silent output on Gigabyte X570 Aorus Master after reboot from Windows
2ac0c35159be ALSA: hda/realtek: Use ALC285_FIXUP_HP_GPIO_LED on another HP laptop
08968ce43f9d ALSA: hda/realtek: Add speaker fixup for some Yoga 15ITL5 devices
7faa2fb7bcd1 perf annotate: Avoid TUI crash when navigating in the annotation of recursive functions
1f21b193707e firmware: qemu_fw_cfg: fix kobject leak in probe error path
fd8a2f12de64 firmware: qemu_fw_cfg: fix NULL-pointer deref on duplicate entries
261f47d05859 firmware: qemu_fw_cfg: fix sysfs information leak
105ee59fc79e rtlwifi: rtl8192cu: Fix WARNING when calling local_irq_restore() with interrupts enabled
230d1fa69ff8 media: uvcvideo: fix division by zero at stream start
c923276ddd49 video: vga16fb: Only probe for EGA and VGA 16 color graphic cards
0b1a05b219fe 9p: fix enodata when reading growing file
4947e1735a87 9p: only copy valid iattrs in 9P2000.L setattr implementation
cda396e5ce51 NFSD: Fix zero-length NFSv3 WRITEs
f3f2900c93e2 remoteproc: qcom: pas: Add missing power-domain "mxc" for CDSP
07f5f305ed81 KVM: s390: Clarify SIGP orders versus STOP/RESTART
60af2066bc5d KVM: x86: don't print when fail to read/write pv eoi memory
ec985a8dfbe9 KVM: x86: Register Processor Trace interrupt hook iff PT enabled in guest
51d24f081b90 KVM: x86: Register perf callbacks after calling vendor's hardware_setup()
68fe61050dc2 perf: Protect perf_guest_cbs with RCU
8b1530a3772a vfs: fs_context: fix up param length parsing in legacy_parse_param
af8ad4718278 remoteproc: qcom: pil_info: Don't memcpy_toio more than is provided
931b93ac1fce orangefs: Fix the size of a memory allocation in orangefs_bufmap_alloc()
16a1622c3424 drm/amd/display: explicitly set is_dsc_supported to false before use
3bddfeab42ab devtmpfs regression fix: reconfigure on each mount
Change-Id: I3238c7c90d5723ca09df84a825dc4ad156dc92f9
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
[ci:skip-build] Already built well once on CI in MR
(cherry picked from commit 2ed6d379fc)
Ran `pmbootstrap kconfig edit linux-postmarketos-qcom-sdm845` to
regenerate the defconfig.
Change-Id: Ie4b9e6e4a790d37a1a1d8f479e7e10dfd3ef9db0
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
[ci:skip-build]: already built successfully in CI
(cherry picked from commit dc66d0cbfd)
- Add support for the rear camera on xiaomi-scorpio
- Improve charging from SDPs
- Add extcon support on oneplus-oneplus3(t)
- Add container and zram kconfig checks to APKBUILD
[ci:skip-build] Already built successfuly on CI in MR
(cherry picked from commit 79be2d5074)
This will make resuming on alarm work out of the box. Not sure how this
was missed previously...?
[ci:skip-build]: already built successfully in CI
(cherry picked from commit 164e9f010d)
- update to kernel 5.15.25 stable
- add TUN as module, fixes pma#1435
- drop fully-upstreamed patches (lp55xx)
- add iio support for lis302dl (will send upstream)
- update N900 dts for lis302dl over iio (will send upstream)
- assign higher priority to patches from kernel.org (resolves pmb#2107)
[ci:skip-build] already built successfully in CI
(cherry picked from commit 18046f68f2)
This installs/starts udiskie, a udisk2 helper, that facilitates
auto-mounting of removable drives.
Note support for umounting is broken in the current Portfolio release,
so disks have to be umounted manually:
udiskie-umount /run/media/<user>/*
I decided to add this to the `depends` and not `pmb_recommends`, because
I felt like 1) this is a feature that folks would expect to work, 2) by
having it in depends, it'll 'fix' existing installs where mounting
removable disks automatically is not implemented
(cherry picked from commit 5979bd6813)
the following kernels were excluded:
- linux-asus-me176c, since dirtypipe is only >=5.8 and that kernel is 5.4
- linux-nokia-n900: 5.15.25 is already patched
- linux-postmarketos-qcom-msm8996: 5.16.12 is already patched
- linux-postmarketos-qcom-sdm845: 5.16.12 is already patched
* note not all of these kernels are at the versions above, but they will
be in the service pack 3 releas
[ci:skip-build] too many kernels for CI to build before timing out
Compilers are a big pain to build, and right now everyone who wants to
test the stable branch on some unsupported downstream devices has to
build gcc4/6 themselves locally, wasting lots of precious energy. :)
Having these (cross-)compilers available in the postmarketOS repo for
stable releases can be also useful for other projects. For example,
for lk2nd I would like to do some basic compile testing with gcc4
(since this is what Qualcomm used). The gcc4 from postmarketOS is
pretty much the most easily available gcc4-armv7 for Alpine Linux. :)
This should not have any disadvantage for devices using stable, there
will just be additional packages available in the binary repository.
This commit simply reverts parts of b78a0ca7 ("remove packages not
supported in v21.12").
[ci:skip-build]: already built locally, will probably take too long
[ci:skip-vercheck]: let's keep the existing pkgrel for those
MMS support (via mmsd-tng) involves sending/receiving network
requests/responses over the wwan interface. If it's ipv4-only and the
device is connected to some other ipv4 network on another iface (like
wifi), this can cause the rp_filter to reject responses on wwan iface
because it incorrectly thinks they are martian packets.
This does theoretically disable some "security" feature in the kernel,
but it's worth noting that:
1) rp_filter isn't implemented at all in the kernel for ipv6
2) other distros (mobian, pureos at least) are also disabling rp_filter
3) this seems to be a relatively common problem with folks using mms on
pmOS, since many carriers' data networks are ipv4-only
also see:
https://gitlab.com/kop316/mmsd/-/merge_requests/55/diffs?commit_id=b22c253fb939ff1eb949ea4e628706e6a28c851a
[ci:skip-build] already built successfully in CI
(cherry picked from commit caec14561d)
sxmo-wlroots was installed from aports 3.15 when pmOS v21.12 was released.
As such, apk always looks for a package named sxmo-wlroots to satisfy
the wlroots dependancy while sxmo-wlroots is in 3.15.
This patch copies the contents of the latest required wlroots into
sxmo-wlroots so that users dont have to deal with outdated library
on the latest service pack 2. Moreover, apk wont complain about
sxmo-wlroots doesnt exist resulting in broken installs and manual
intervention.
[ci:skip-vercheck]
Due to a regression in ModemManager 1.18.2, a special case to reduce
facility lock query was implemented in ModemManager. Versions up to
1.18.6 need to be patched (separate merge request, possibly in Alpine
Linux). For more details, see pmaports issue #1274.
This udev rule makes use of this special case for device
samsung-serranove.
(cherry picked from commit 9abe7e28b2)
Prevent apk from pulling in pipewire-pulse instead of pulseaudio, as
this leads to various audio issues with Phosh in postmarketOS (volume
buttons not working, no sound in various applications).
Pipewire will be a great replacement for pulseaudio, but let's rather
enable it intentionally for Phosh once we fixed everything that's
currently breaking with it. Without this patch it may get installed when
installing or upgrading other packages (not entirely sure how it gets
triggered yet, but I have seen it myself multiple times and we've gotten
reports about it).
[ci:skip-build] already built successfully in CI
(cherry picked from commit b70a36190b)
The `download-updates` keyword is not a good naming, but it does
not only download, but also tries to install the updates
(cherry picked from commit c3a61c0b9e)
Allow non-numeric passwords for Phosh too (now that it's implemented
there).
[ci:skip-build] Already built successfuly on CI in MR
(cherry picked from commit 142a15c464)
i3blocks is required for i3wm on N900. Since it is not in Alpine stable
release, backport it. Alpine maintainer has been contacted to promote it to
community
This is a cherry pick of Leste commit 2c7e4a1ac8ec1f908927793e893566aac3dcb9df,
to revert mainline commit f959dcd6ddfd29235030e8026471ac1b022ad2b0, which breaks
N900 modem. This is a temporary workaround until a proper fix is found.
gnss-share is a location provider I wrote for the librem 5's GPS module,
and can be used directly from geoclue. It allows saving and loading
A-GPS data (manual steps, for now) to facilitate faster fixes.
I'm not completely happy with having to use sed to patch geoclue's conf,
but:
1) I really only need to change 1 line
2) there's a non-zero chance geoclue's conf will be changed in aports if
new permissions are required for things later
So carrying the config in the device package and using
"replaces=geoclue" (like the postmarketos-* stuff) didn't seem like a
maintainable solution long term since the geoclue conf might gain needed
fixes/features that might make a copy in the device package outdated...
To make sound work out of the box. And being able to choose audio
output when connected via bluetooth.
[ci:skip-build]: already built successfully in CI
(cherry picked from commit 7e9cb6a305)
Alpine aports 3.15 has a newer version of gnome-clocks AND is has the
backgrounding patch... so this fork should have been removed once those
were added upstream in aports but it was missed.
[ci:skip-build] already built successfully in CI
Fix zombie processes being created on every command run.
[ci:skip-build] already built successfully in CI (except aarch64, it
times out, but builds OK locally)
Vendor all the deps, they have been included in hkdm so that cargo can
build offline and not try and run git...
[ci:skip-build] aarch64 times out in CI, but other archs build OK and it
builds locally with pmb
NOTE: Should be likely backported without the kernel config changes
since Alpine 3.15 still has the older gcc version.
[ci:skip-build] Already built successfully on CI
(cherry picked from commit c1a8c0a631)
Simple upgrade with few generic kernel features enabled
* IWD support
* F2FS
* NTFS3_FS
* USB mass storage support
* disable MTD and build more things as modules to reduce
kernel size to compensate some new built-in options,
as kernel doesn't boot otherwise.
No new things for pmOS's devices (yet). Should work same as before.
v5.15.9 contains latest CVE fixes.
Also mark myself as maintainer.
(cherry picked from commit a6b343c833)
(cherry picked from commit 83d8199ee8)
(.config regenrated using gcc-10)
[ci:skip-build] Builds locally
This upgrades ttyescape to use buffyboard, a new fbkeyboard replacement
by @Cherrypicker. It adds a lot of missing keys and uses the same layout
as Phosh's Squeekboard, so should feel much more like home for Phosh
users.
This also switches to the new HKDM daemon for hotkey handling, replacing
triggerhappy.
[ci:skip-build] already passed
(cherry picked from commit 029cf83cf1)
Display the app icon properly, instead of the "unknown" icon, in the
activity view. Phosh attempts to open a .desktop file with the name of
the gtk app-id, but the app-id is "firefox" and the file is named
org.mozilla.firefox.desktop (see related commit, where it was renamed
for a good reason). The way Phosh is doing the name lookup doesn't
always work for other apps too, phosh_get_desktop_app_info_for_app_id()
has workarounds e.g. for gnome-control-center hardcoded. As workaround,
add a .desktop file that makes the icon show up properly, but is not
displayed anywhere else (NoDisplay=true).
Replace epiphany with FF in the default favorite applications in phosh
(top 4 displayed at the top). We already install FF instead of epiphany
and so the 4th place is currently empty.
Related: https://gitlab.alpinelinux.org/alpine/aports/-/commit/2d291a4afc2c71e25c8fd9fff188eff436b80580
(cherry picked from commit 51fce1f111)
rc-update fails if this service is not in the default runlevel,which is
the case if it's a brand new installation, or would be the case later on
upgrading this package again after the service was already removed from
the runlevel.
The issue that c47c62e3 set out to solve isn't fatal, if polkit fails to
start by openrc then users can manually remove it from the runlevel.
partially reverts c47c62e3
[ci:skip-build] already built successfully in CI
(cherry picked from commit a3611e3797)
Finally a new upgrade! This brings along some minor driver changes and
improvements, more stuff slowly landing upstream.
We also get a few new splats during boot, these are inevitable at this
point due to fw_devlink changes and large reworking of the drm/msm code,
they are caused by the common clock framework not knowing that some
clocks are left enabled by the bootloader, it panics when they aren't in
a state it expects. They are harmless as far as I know.
[ci:skip-build]
(cherry picked from commit 4ed5c1fe13)
A recent(?) update in shellcheck made this fail, possibly because the
test in shellcheck was fixed(?) or ???
The failure this fixes is:
Test with shellcheck: ./main/msm-firmware-loader/msm-firmware-loader.sh
In msm-firmware-loader.sh line 49:
if [ -z "${FW_PARTITIONS##*$PARTNAME*}" ] && [ -n "$PARTNAME" ]
^-------^ SC2295 (info): Expansions inside ${..} need to be quoted separately, otherwise they match as patterns.
[ci:skip-build] already built successfully in CI
(cherry picked from commit 16472c5b2c)
This packages the megapixels fork that purism has supporting the librem
5.
The `provides="megapixels"` is there so that apk doesn't try to install
both megapixels and this package side-by-side. If the user explicitly
installs megapixels-purism, apk will remove megapixels first. The
original megapixels is still preferred by apk by default.
[ci:skip-build]: already built successfully in CI
(cherry picked from commit f6f97c5469)
Unfortunately it looks like some modem firmwares (or SIM cards?) need
more time until the SIM card shows up in the modem. This means that the
SIM card might not get configured, making it look like it was not
detected at all. On the other hand, having the previous long wait loop
affects _all devices_ when there is really no SIM inserted.
The proper solution would be to make it possible to configure SIM cards
once they show up (probably in ModemManager). Until then, try to make it
possible to workaround this by introducing a configurable delay to wait
for the SIM card. It is set to minimal "1 seconds" by default but could
be increased by the user if needed to give the modem enough time to detect
the SIM card.
This reverts commit 683b543a3b ("msm-modem-uim-selection: Don't wait
for SIM (MR 2470)" but with a new configuration mechanism and a default
of 1 second only.
[ci:skip-build] already built successfully in CI
(cherry picked from commit f563e0ddcf)
Upstream has switched from ofono to modemmanager since Plasma 5.23 and
Plasma Mobile Gear 21.12. Since the latter has just been released it's
now time to switch our images too.
The modemmanager service will be enabled to start on default and for
existing installations the .post-upgrade script will disable and stop
the existing ofono service and enable and start modemmanager instead.
iio-sensor-proxy wants to know when to report "near" status. Add an udev
rule defining that value as a workaround untl it can be passed from
the DT.
[ci:skip-build] already built successfully in CI
(cherry picked from commit 8df6c1c0f7)
I suspect this was missed when the Odroid HC2 device was moved to
community.
[ci:skip-build] already built successfully in CI
(cherry picked from commit bbec68b244)
Remapping the left key of tm2-touchkey to KEY_MENU.
The KEY_APPSELECT, which is set by the device tree, is not available in
the postmarketOS UIs. In X11 UIs this is due to keycode limitation to
8 bit. In Wayland UIs the keycodes don't have this limitation but xkb
keycodes higher 255 are not processed correctly by several software
packages. It still makes sense to keep KEY_APPSELECT in the device tree
because this is the correct mapping intended by the manufacturers when
running the kernel on Android.
(cherry picked from commit c655f5cc9c)
This will be upgraded soon, however let's let this broken URL not block
the initial v21.12 bring up for now. Again, same checksum as the
previous tarball.
For edge we'll probably remove this package and instead Alpine's version
instead. [ci:skip-vercheck]
(cherry picked from commit c39fa96886)
anbox-image doesn't build because the f-droid version packaged leads to
a 404. But we have waydroid now, which works better than anbox. So let's
drop it. I'll make a MR to drop it from edge too, this patch is for
fixing bpo being stuck while building v21.12.
Depends on py3-tabulate which is not available in Alpine 3.15. Looks
like nobody is using this in pmOS stable anyway, so let's drop it.
If you do use it, feel free to make a MR to bring it back.
Kernel defconfig is a copy of "axolotl_userdebug_defconfig".
Config changes (which differ from the copy above):
- ran `pmbootstrap kconfig check shift-axolotl`
- CONFIG_QCA_CLD_WLAN - m -> y
Change-Id: Ie250ba0d4f7cabf516e4c4fef84a3832321fb069
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
[ci:skip-build]
This adds two new subpackages postmarketos-mkinitfs-modprobe-lts and
postmarketos-mkinitfs-modprobe-edge that include /sbin/modprobe in the
initfs when one of the Alpine kernels (linux-lts or linux-edge) are also
installed.
Fixes: #1294
[ci:skip-build] already built successfully in CI
This adds the crc32c_generic module into the initfs. Without this,
mounting the boot partition will fail.
Relates to: #1294
[ci:skip-build] already built successfully in CI
- Update to Linux 5.15
- Upstreamed many more patches
- Major rework of CPU core boot: This is now partially handled in lk2nd
since mainline Linux does not want to support anything except PSCI on arm64.
- Major rework of "-modem" DTB variants. Now all device trees only contain
the full modem configuration. lk2nd can patch the DTB at runtime to get
the alternative "no-modem" variant where audio bypasses the modem entirely.
- Rename some Samsung device trees to drop variant suffixes (e.g. *lte/*wifi)
- Lots of other cleanup everywhere
- Probably many other things I forgot :)
Device changes:
- samsung-gtelwifiue: new device tree
- eMMC, SD card, USB, Buttons
- Display (no brightness control yet)
- Touchscreen
- gt58: touch keys and some touch fixes
- Note: Multi-touch seems broken at the moment :<
- samsung-a2015/samsung-serranove:
- Battery: Report voltage as uV
- Touch keys: Allow changing function from userspace
Kernel config changes:
- Enable required options for AppArmor and IWD
[ci:ignore-count]
[ci:skip-build]: already built successfully in CI
The mainline-modem variant does not actually exist yet and this should
be preferably implemented using the new soc-qcom-msm8916-rproc selection
in the future.
Add a replacement for the current "mainline" and "mainline-modem"
kernel variants used for the MSM8916 devices. At the moment this is
implemented using separate DTBs that are all maintained in the kernel.
Unfortunately, this does not seem likely to be accepted upstream in
the mainline kernel. They will expect to have only a single DTB that
enables all available functionality. The "no-modem" variant is a minor
but still very useful use case because it changes the audio routing:
It allows audio to work without any firmware, with more control on
sample rates, latency etc for advanced audio use cases. However,
having a potentially enabled modem requires routing all audio through
the modem. There are two separate DTBs needed for these two setups.
To avoid burdening mainline with this use case, the idea is to apply
the necessary DTB transformations as part of the lk2nd boot process.
Mainline only contains the DTB with the full functionality (audio
routed through modem). The soc-qcom-msm8916-rproc packages place
a magic file at /boot/lk2nd_rproc_mode that is read by lk2nd. When
the file contains "no-modem" lk2nd will transform the DTB to disable
the modem and change the audio routing to bypass the modem.
That way, this feature does not need to be considered in mainline
at all but can still be offered as "nice to have" by lk2nd. It also
simplifies the device packages because the selection is now common
as part of the soc-qcom-msm8916 package.
Together with a related pmbootstrap change there is a nice prompt
for selecting one of these "rproc" providers:
$ pmbootstrap init
[...]
Available providers for soc-qcom-msm8916-rproc (3):
* all: Enable all remote processors (audio goes through modem) (**default**)
* no-modem: Disable only modem (audio bypasses modem, ~80 MiB more RAM)
* none: Disable all remote processors (no WiFi/BT/modem, ~90 MiB more RAM)
Provider [default]: ...
Unfortunately, msm-modem-uim-selection causes boot delays on APQ*
SoCs (without most modem functionality) at the moment. The modem will
never show up so it keeps waiting and waiting.
To allow using the same rootfs on devices that have MSM* and APQ*
variants (e.g. Samsung MSM8916 tablets), add a quick check at the
beginning of the service to cancel early when running on an APQ* SoC.
This is easy to check because the SoC is actually exposed in sysfs.
This installs some new udev rules added in purism's librem5-base
package, and adds the charger module to initfs to that PD is available
earlier on in the boot process.
[ci:skip-build] already built successfully in CI
Without the explicit dependency to `polkit-elogind` the packages
`polkit` and `polkit-libs` are installed. This however prevents starting
`sway`. Below is the error message from the `tinydm` log:
```
00:00:00.028 [ERROR] [wlr] [libseat] [libseat/backend/logind.c:310] Could not activate session: Interactive authentication required.
00:00:00.028 [ERROR] [wlr] [libseat] [libseat/libseat.c:79] No backend was able to open a seat
00:00:00.028 [ERROR] [wlr] [backend/session/session.c:84] Unable to create seat: Function not implemented
00:00:00.028 [ERROR] [wlr] [backend/session/session.c:218] Failed to load session backend
00:00:00.028 [ERROR] [wlr] [backend/backend.c:353] Failed to start a DRM session
00:00:00.028 [ERROR] [sway/server.c:53] Unable to create backend
```
Signed-off-by: Paul Spooren <mail@aparcar.org>
Enable options required to run iwd instead of wpa_supplicant for the
aarch64 kernel config. Make it easier to test this, before we consider
switching to iwd as default (and enforcing kernel options in all devices
in main and community).
[ci:skip-build]: already built successfully in CI before disabling
CRYPTO_USER_API_ENABLE_OBSOLETE. I've built and verified the aarch64
version with this disabled locally, and I'm pretty sure that the armv7
version will build successfully too. So let's avoid the wait here.
Let every postmarketos-ui-* package have a link on top that points to
the new UI package reference. Do not put the link in <>, as it was done
with other references, since there's no benefit to it. It doesn't look
better and it doesn't make it easier to click the link or something, I
just did this initially because I saw it in GPL license headers.
[ci:skip-vercheck] [ci:ignore-count]
Enable CONFIG_RFKILL in the kernel configuration for Exynos4 devices.
This allows Gnome's Bluetooth panel to detect the Bluetooth controllers
present.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
[ci:skip-build]: already built successfully in CI
Add two patches that fixes the Bluetooth node in the Device Tree of the
Galaxy S2 (i9100).
These two patches are not upstream yet, but were accepted by the
maintainer for inclusion in Linux 5.17.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Let postmarketos-ui-phosh depend on modemmanager and
modemmanager-openrc, so we ensure both get installed before the
post-install script runs. The post-install script will not be able to
enable the modemmanager openrc service otherwise.
Related: issue 1297
Upgrade u-boot to the latest in purism's librem5 branch, and use newer
DDR firmware (syncs version with what purism is using)
The patch that was dropped here was merged, so it's not necessary to
carry it anymore.
[ci:skip-build]: already built successfully in CI
Adjust to shellcheck removal in Alpine. Currently it's still in edge for
x86_64, but installation fails with:
ERROR: unable to select packages:
so:libffi.so.7 (no such package):
required by: shellcheck-0.7.2-r1[so:libffi.so.7]
Use the official static binary release from shellcheck instead of the
Alpine package. Version 0.7.2 is intentionally used instead of latest
8.0.0, since the latter generates a new warning. Let's unbreak CI first
before adjusting to a newer shellcheck version.
Related: https://lists.alpinelinux.org/~alpine/devel/%3C20211021133615.32f08070%40ncopa-desktop.lan%3E
Now the user can choose to install the proprietary firmware along with
the downstream or a (close to) mainline kernel.
[ci:skip-build]: already built successfully in CI
Add proprietary firmware required by OnePlus 5/5T's WLAN, Bluetooth, GPU
and other SoC subsystems such as ADSP. These are extracted directly from
OnePlus' OxygenOS 10.0.1 stock firmware with oos_fw_extract in the repo.
The diag-router service is required to be running to stop ATH10k WLAN
firmware from crashing constantly on MSM8998 SoC devices running
mainline currently.
Alpine patches busybox to support image alignment in [1].
So far we don't need to align the spalshes in postmarketOS as those are
generated per device. However with generic images it becomes impossible
to support multiple resolutions with this approach.
Set the alignment to "Center" in fbsplash config so generic system
images can reuse the splash on multiple resolutions.
[1] - https://gitlab.alpinelinux.org/alpine/aports/-/blob/master/main/busybox/0008-fbsplash-support-image-and-bar-alignment-and-positio.patch
[ci:skip-build] already built successfully in CI
my patch to disable SS was merged in purism's tree, so it's dropped
here. This kernel also enables the hantro video decoding stuff.
[ci:skip-build] already built successfully in CI
Purism's g-c-c fork is stuck in version 3.38. This has
multiple problems, including carrying old unnecessary
patches and producing some incompatibility with newer
GNOME releases available in Alpine. In consequence,
we fetch the source from upstream and only apply those
patches that make sense for our usecase. When the Purism
patches apply without issues, then we fetch them directly
from their repo.
Upgrade to 5.15.0, disable some unused I2C and SPI configs, and
remove msm8996 from linux-msm8996-$_tag, since $_tag already
includes msm8996 and makes the first one redundant.
[ci:skip-build] Already built on CI in MR
Now the user can choose to install the proprietary firmware along with
the downstream kernel (linux-huawei-angler) or a mainline kernel
(linux-postmarketos-qcom-msm8994).
Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
[ci:skip-build] Already built on CI in MR
v5.14.15 kernel used (current newest stable).
Intended to be used also on msm8992 which has nearly the same DTS.
I haven't tested other functionality except boot to initramfs on
huawei-angler and lg-bullhead.
Some kernel config options set according to
linux-postmarketos-qcom-msm8996.
Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
[ci:skip-build] Already built on CI in MR
We should always install lk image as /boot/lk2nd.img, even for
image with appended DTB (lk2nd-appended-dtb.img). pmbootstrap tooling
will expect it this way, and also it keeps all subpackages consistent,
while also making them conflict with each other.
Add new subpackages that are explicitly named -appended, but still
install the same file.
Each device should "know" which kind of LK image it needs and should
explicitly depends on specific variant.
Having only one file `/boot/lk2nd.img` will simplify many things,
for example we don't have to introduce new deviceinfo properties
to specify which image is needed (like if we installed both of them).
Signed-off-by: Alexey Minnekhanov <alexeymin@postmarketos.org>
Support for custom "Loading..." splashes was added in MR 1776, but
`unlock_root_partition` function is still hardcoding default "Loading..."
splash. Fix this behaviour by replacing usage of `show_splash` function with
`show_splash_loading`, which accounts for presence of custom splash.
Closes#759
MyCroft is something definitely not everybody wants, and it could in
theory even make slower devices unusable while they would otherwise work
fine with Bigscreen. Let's move it to extras so it's optional to install
While it doesn't make sense to package a mainline kernel for FP1 (only
UART and basic SoC components supported), it's good to include the dtb
name in deviceinfo so external tools can use it.
Enable flashing kernel on update + small cleanups for deviceinfo:
* re-sort lines in deviceinfo
* remove console=tty0 from kernel cmdline, so it does not spit out
all kernel logs on the screen. Now during boot you see just
blinking cursor and pmOS logo.
* The first patch has been droped from PureOS, which currently
ships stock debian 0.99.11. Therefore the fix must have been
applied somewhere else, same as it happened with the torch patches.
* The second patch is already merged upstream and present in latest
0.99.13 release in alpine.
If the only changed apkbuilds are skipped, then the check would lint
*every* apkbuild in aports (calling '-q lint' with no packages
apparently causes it to do everything)
This quits if all packages were skipped. It fixes the CI failure seen on
MR !2600
Last update for 5.14 kernel, next one will be 5.15
Kernel config cleanup:
* enable various USB peripherals support, per user requests:
* usb webcams [m]
* usb ethernet adapters [m]
* remove support for various TV tuners and DVB cards
* enable few filesystem drivers [m], like iso9660, exFAT, ntfs
* enable kernel automounter, to use with nfs (autofs, [m])
* disable CONFIG_ARM_CPUIDLE, which gets rid of annoying message
during boot:
/cpus/cpu@0: unsupported enable-method property: qcom,kpss-acc-v2
Cpuidle is handled by another driver, which is still enabled:
CONFIG_ARM_QCOM_SPM_CPUIDLE
[ci:skip-build] already built successfully in CI
Rule D: Devices with secure boot and venus present in the firmware
partition need:
1. GPU firmware (firmware-qcom-adreno-a300)
2. msm-firmware-loader (for wcnss, modem, venus)
4. device-specific -wcnss-nv firmware
[ci:ignore-count]
[ci:skip-build] already built successfully in CI
Reduce rootfs size a bit by installing the separated firmware packages
instead of the large linux-firmware-qcom package. Also, install the
modem firmware by default to prepare for enabling GPS.
Squash the packaged venus firmware blobs using pil-squasher so only
one file needs to be loaded rather than many small ones. Linux detects
squashed (.mbn) vs non-squashed (.mdt + .b*) based on file contents
(not file name) so it is fine to install venus.mbn to venus.mdt.
Strictly speaking firmware-bq-picmt is not needed anymore because
the msm-firmware-loader can be used to load the picmt firmware from
the firmware partitions. However, this package contains quite recent,
largely unmodified firmware from Qualcomm so it still seems useful
to keep if someone wants to test more recent firmware on some other
device (provided that their device does not verify firmware signatures).
To make this firmware package consistent with firmware-qcom-db410c,
squash the firmware blobs using pil-squasher so only one file needs
to be loaded rather than many small ones.
firmware-qcom-msm8916-wcnss is a virtual package used for MSM8916
devices without secure boot (i.e. device that do not require signed
firmware). For those it's best to install more recent firmware by
default rather than using the firmware on the firmware partition.
firmware-qcom-msm8916-wcnss is provided by firmware-qcom-db410c-wcnss
by default, however it's still useful to make it possible to switch to
the stock firmware on the firmware partition if needed. To allow that,
add a dummy msm-firmware-loader-wcnss package that provides the virtual
package using the msm-firmware-loader.
# apk add msm-firmware-loader-wcnss
(1/2) Purging firmware-qcom-db410c-wcnss (1034.2.1-r2)
(2/2) Installing msm-firmware-loader-wcnss (1-r1)
Unfortunately, at the moment MSM8916 devices always have to install
all of linux-firmware-qcom (~ 60 MiB) when they actually just use
~ 0.008 MiB of GPU firmware in there. Everything else is just big
firmware blobs for other SoCs that are never going to be useful.
It's much more efficient to package the necessary firmware separately
to save rootfs space. The DB410c linux-board-support-package contains
all the firmware from linux-firmware as well, so we can easily package
it as part of the firmware-qcom-db410c package.
This commit makes the following changes to firmware-qcom-db410c:
1. Package venus() firmware that was previously installed from
linux-firmware-qcom. GPU firmware is packaged in firmware-qcom-adreno.
2. Use new firmware paths for DB410c that were applied upstream
3. "Squash" the firmware blobs to a single file using pil-squasher
Make the package consistent with firmware-qcom-adreno packaged from
linux-firmware, but keep them separate for legal reasons. The firmware
packaged in firmware-qcom-adreno-extra does not have a proper license.
[ci:ignore-count]
[ci:skip-build] already built successfully in CI
Add a new firmware-qcom-adreno APKBUILD that packages the GPU firmware
from upstream linux-firmware as separate packages. It is basically
a minimal replacement for linux-firmware-qcom that allows saving rootfs
space by installing only the firmware that is really relevant for the
device.
[ci:skip-build] already built successfully in CI
* xts, libaes & aes are required for root partition FDE unlocking
* evdev is required by osk-sdl for input
[ci:skip-build] already built successfully in CI
This seems to fix the last missing piece to getting the hotspot stuff
working, at least when it's set up with networkmanager (I haven't tested
other methods, but assume this rule is still needed there too...)
fixes#1198
The firmware provided by these subpackages is now covered by the
msm-firmware-loader, so there is no need to build packages for them
anymore.
[ci:ignore-count]
The "replaces"/"provides" should have the full package name, not just
the part of the subpackage. Also, the nonfree-firmware subpackage does
not need it because the old "device-xiaomi-wt88047-nonfree-firmware-modem-wt88047"
packages were only install_if packages without any files installed.
The files packaged in firmware-motorola-osprey-wcnss-nv and
firmware-motorola-osprey-venus seem completely identical to those
of harpia, so there is no need to package them twice. There are some
differences in modem/wcnss firmware but those are now covered by the
msm-firmware-loader.
Add sony-fusion3 firmware subpackage to enable wifi.
Enable Qoalcomm Prima WLAN driver and fix wrong path in kernel.
[ci:skip-build] Already built on CI in MR
Touchscreen and usb networking works. Much of the hardware is the
same as on gts210velte (but that one has a qcom soc and not
exynos5433). Exactly the same touchscreen calibrarion as for
gts210velte works for this device as well.
Also include firmware package with wifi files. Unlike on many other
Samsung devices wifi does not work out of the box after these
firmware files has been added.
[ci:skip-build] Already built on CI in MR
I'm not sure it is possible to connect a second display to this phone
through P2P WiFi, so mapping cursor to DSI-1 just in case. It is needed
for screen rotation when a second display is connected.
Reduce scaling factor from default 2 to 1.8.
I'm not sure it is possible to connect a second display to this phone
through P2P WiFi, so mapping cursor to DSI-1 just in case. It is needed
for screen rotation when a second display is connected.
Reduce scaling factor from default 2 to 1.8.
Installing postmarketos-base currently changes the file permissions
of /etc/sudoers:
# apk add sudo
# stat /etc/sudoers
Access: (0440/-r--r-----) Uid: ( 0/ root) Gid: ( 0/ root)
# apk add postmarketos-base
# stat /etc/sudoers
Access: (0044/----r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
The file mode 0044 decodes to:
- User *cannot* read
- Group can read
- Other can read
which does not make any sense. The "sudoers" man page makes it very
clear that this file should have a file mode of 0440 [1]
("readable by owner and group, writable by none").
This looks like a bad typo. However, given that only read permissions
were given out this shouldn't have major security implications
(except allowing all users to see who can use sudo).
Install the file with 0440 instead of 0044 to fix this:
# apk add postmarketos-base
# stat /etc/sudoers
Access: (0440/-r--r-----) Uid: ( 0/ root) Gid: ( 0/ root)
[1]: https://www.sudo.ws/man/1.9.8/sudoers.man.html#Error_log_entries
Due to the fact that wifi variants have different modem configuration
(modem on non-lte deviecs is ignored for now but that may change)
the lte kernel name should be called "modem-lte" and not just "modem".
The deviceinfo proerty was overlooked when converting gt58lte to generic
gt58 port. This makes it impossible to install LTE enabled kernel.
Fix the property name.
This used to be in Alpine but they don't want what is basically a giant
unknown blob, and for good reasons. However we do want to provide these
images for ease of install and quality-control, so let's ship it in pmOS
instead
When building from tarball git tag is not available.
We need to pass version number manually.
This chnage is cosmetic, but will allow users to easily
identify version and source of their bootloader.
Package secondary LK bootloader for some Qualcomm devices
(for now: msm8916, msm8974, msm8226).
Bootloader binary is built from source in x86_64 chroot.
Two targets are built in a sequence. Then package is split
into 2 subpackages, each of them installs `/boot/lk2nd.img`.
So the end result is - lk2nd-msm8916 and lk2nd-msm8974 can't
be installed at the same time.
Device- packages then can depend on specific subpackage of this
package and have proxy-bootloader image ready to use in /boot.
This can improve user experience with installing postmarketOS on
several devices using only pmbootstrap tool.
At the very least, pmbootstrap can suggest user to flash lk2nd
immediately after `pmbootstrap install` or even offer some kind
of `pmbootstrap flasher` integration.
This will also open possibilities to automatically update and flash
lk2nd using package manager, it we ever want this.
Fixed compatible and added interrups for touchscreen,
added Bluetooth support, made kconfig happy for waydroid,
use correct mount matrix for accelerometer,
changes in panel.
[ci:skip-build] Already built fine on CI in MR
The following commits will reintroduce it with its appropriate codename
and split it into a separet package for downstream, and separate ones
for the 3G version and the LTE version.
Improvements from xfce4-phone source:
- Add screenshot to README.md
- Enable screen locking
- Disable Desktop icons "Home", "File System", "Trash"
- Enable single-click on Desktop
- Enable single-click in Thunar
- Change clock format
- Set postmarketos wallpaper
Additional changes in postmarketos-ui-xfce4:
- Installing greybird-themes (which is already set as default theme in
/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml).
- Changing /etc/skel/.config/autostart/onboard-autostart.desktop to
slightly speed up keysboard startup (overriding startup-delay of
/etc/xdg/autostart/onboard-autostart.desktop).
- Enabling scrollbars by /etc/profile.d/enable-scrollbars.sh, this is
helpful where touch-scrolling doesn't work like e.g. in whiskermenu.
(And re-ordered network-manager-applet in APKBUILD _pmb_recommends
section.)
Also removing xfce4 subpackages of device-qemu-amd64,
device-qemu-aarch64 and device-nokia-n900. The device specific monitor
to set the wallpaper will now be automatically derived from "monitor0"
in file xfce4-desktop.xml.
Additionally taking maintainership as discussed in merge request
(!2506).
Update deviceinfo to set deviceinfo_bootimg_qcdt to false. This is causing the pmbootstrap install to fail with
==> initramfs: creating boot.img
ERROR: File not found: /boot/dt.img, but
'deviceinfo_bootimg_qcdt' is set. Please verify that your
device is a QCDT device by analyzing the boot.img file
(e.g. 'pmbootstrap bootimg_analyze path/to/twrp.img')
and based on that, set the deviceinfo variable to false or
adjust your linux APKBUILD to properly generate the dt.img
I downloaded the TWRP image for sirius from https://forum.xda-developers.com/t/recovery-unofficial-twrp-3-2-3-0-for-sirius-01-09-2018.3836837/
Then ran "pmbootstrap bootimg_analyze recovery.img". The output had ' deviceinfo_bootimg_qcdt="false" '. This is my justification for the fork
Since the wiki applies to all branches, renaming devices is really
difficult without breaking the wiki check. To simplify this, download
the Renamed Devices page additionally, and just print a WARNING if
a device is missing in the wiki, but is listed there.
Newly generated binutils package has file conflicsts with
non-cross binutils.
ERROR: binutils-2.37-r3: trying to overwrite usr/lib/bfd-plugins/libdep.so
owned by binutils-aarch64-2.37-r3.
Attmpt to fix this quickly to unblock bpo and users
msm-firmware-loader is pretty similar to klte's modem-firmware-mount
except that it sets up the symlinks dynamically. The nice thing about
it is that it seems to just work. :)
[ci:ignore-count]
Right now we have multiple variants of A5 that are only different in
secure-boot keys and as such different firmware blobs.
Use msm-firmware-loader to support all A5 variants with a single device
port. Because of that, drop lte suffix as there are 3g variants as well.
Right now we have multiple variants of A3 that are only different in
secure-boot keys and as such different firmware blobs.
Use msm-firmware-loader to support all A3 variants with a single device
port. Because of that, drop lte suffix as there are 3g variants as well.
With the new msm8916-mainline kernel DT for gt510wifi is reworked to be
reused with gt58 devices. While at it, the DT was generalized to be used
with the LTE variants of the device as well as the wifi variant.
Change base dtb name to the new common dt and add an LTE-specific dt
that enavles the modem. Since variants have different secure-boot keys,
use msm-firmware-loader for that.
Also make various updates to support gpu-accelerated UI's and FDE.
Many devices need proprietary firmware blobs. So far those blobs were
packaged and installed from the repository but this approach has many
drawbacks:
- The rootfs can only be used on a single device model.
- If a model has multiple variants that have diferent secire-boot key,
each must have it's own firmware blobs.
This makes maintaining packaged firmware very hard and outweights the
benefits of having a repeatable installation in most cases.
Instead we can load blobs dynamically from preexisting firmware
partitions that usually have same structure and contain the blobs we are
interested in.
The proposed scripts place symlinks to the blobs in a special dir that
then given to the kernel. Blobs from firmware/postmarketos (or another
dir that was set as extra path prior the script execution) will take
priority which allows to override some blobs (e.g. for deviecs with no
secure-boot)
Currently we see this error in our dmesg:
udevd[764]: invalid key/value pair in file /etc/udev/rules.d/90-android-touch-dev.rules on line 6, starting at character 102 ('\\')
[ci:skip-build] Already built successfully on CI
The best (only) theory so far is that issues occur if the battery is
deeply discharged. The latest kernel upgrade fixed both charging and
reported state-of-charge, so hopefully no one will have similar issues
from now on.
Also add patches from the Replicant project to fix so that charging
works, and patches from the linux-pm list to fix the SOC INTR message
that has been spamming our dmesg (issue
https://gitlab.com/postmarketOS/pmaports/-/issues/1214).
Add kernel flags needed for Anbox and Waydroid to work
[ci:skip-build] Already built successfully on CI
Signed-off-by: Raffaele Tranquillini <raffaele.tranquillini@gmail.com>
Add pmb:cross-native/!tracedeps to applicable firmware packages and
secure both with a test.
This sets the pmb:cross-native and !tracedeps options on all firmware-*
packages that are compatible with the native compilation method. A unit
test ensures the presence of both options while maintaining a list of
exempted packages.
Fixes: #718
[ci:ignore-count] [ci:skip-vercheck] [ci:skip-build]
Also add patches that should fix backlight control, add reboot modes,
and work around a nasty eMMC corruption issue.
[ci:skip-build]: already built successfully in CI
This is no longer used by anyone and also should not be used anymore.
The new WWAN RPMSG CTRL for the WWAN subsystem is now the preferred
way to talk to the modem on MSM8916/MSM8939/MSM8974 and other similar SoCs.
[ci:skip-build]: already built successfully in CI
Starting with Linux 5.14, the modem can be controlled through the new
WWAN subsystem in Linux with the WWAN RPMSG CTRL driver. This is also
supported in ModemManager 1.18 and the pmOS fork of oFono.
Drop the udev rules for the previous approach through the RPMSG chardev
since this causes the modem to be detected twice by ModemManager and oFono.
- Update to Linux 5.14
- Enable new RPMSG WWAN CTRL driver that is now used to communicate
with the modem through the new WWAN subsystem in Linux
- Minor fixes for ARM32
- Enable some additional options in kernel config (F2FS, UHID, LED triggers)
- Add TravMurav as second maintainer
- mesa-dri-freedreno => mesa-dri-gallium
- msm-modem-rpmsg => msm-modem
- add swclock-offset
- sort deps list
- remove ofono from deps, should be pulled in by UI
package that needs it, not by device- package
The text color in mate-terminal is currently dark brown on black
background. Therefore hardly readable.
Changing text color to light gray on black background.
* Idol3 panel have been renamed, so update the defconfig to
reflect that.
* add finduitls to makedepends (MR 2519)
Gets rid of "find: unrecognized: -printf" in build log.
Fixes 80a70aab92
[ci:skip-build] Already built on CI in MR
This fixes some parameters needed for Xiaomi Mi 5 to boot on newer kernels, and adds some extra flags for GPU acceleration and USB labels.
Signed-off-by: Raffaele Tranquillini <raffaele.tranquillini@gmail.com>
[ci:skip-build]
For some reason it was disabled for this device, and only for this
device. Enable it again so we have it for all devices. It passes fine
anyway.
[ci:skip-build] [ci:skip-vercheck]
This is needed for devices such as Xiaomi Mi 5 (gemini), having backlight embedded in the panel controller
Signed-off-by: Raffaele Tranquillini <raffaele.tranquillini@gmail.com>
Fixes an issue where /dev/video2 can't be used by Megapixels (and thus
Megapixels crashing) when having PipeWire installed. The problem was
that the node could only be used by a single application, which was
PipeWire in that case.
[ci:skip-build]: just built successfully in CI
Use -f, so rm
* does not complain if the file does not exist
* does not exit with 1 if the file does not exist
Remove the stdout/stderr redirect (not needed with -f).
Add exit 0 at the end of the file, even though it clearly should not
exit with anything other than 0 anymore, as it's common practice in
these pre-upgrade etc. scripts.
With the old script, the problem was that it would exit 1 as soon as the
files did not exist at the time the script runs. Exit 1 in this
pre-upgrade script causes apk to show an error, and it would not go away
with 'apk fix' since it ran into the same problem.
Fixes: 7c511d ("pine64-pinephone: remove old u-boot...")
CI is currently failing at the "apk upgrade" line with the following
error. It must be related to the openssl3 transition that is going on in
Alpine:
485B6261A57F0000:error:0A000086:SSL routines:tls_post_process_server_certificate:certificate verify failed:ssl/statem/statem_clnt.c:1882:
ERROR: musl-1.2.2-r6: Permission denied
485B6261A57F0000:error:0A000086:SSL routines:tls_post_process_server_certificate:certificate verify failed:ssl/statem/statem_clnt.c:1882:
ERROR: busybox-1.34.0-r3: Permission denied
485B6261A57F0000:error:0A000086:SSL routines:tls_post_process_server_certificate:certificate verify failed:ssl/statem/statem_clnt.c:1882:
ERROR: musl-utils-1.2.2-r6: Permission denied
So let's get rid of it. It shouldn't be needed to install shellcheck
anyway.
This replaces the current loop calling pmbootstrap lint once for each
package with a single invocation for increased performance.
Here are some measurements for linting all packages under main/.
Before this change:
$ time .gitlab-ci/apkbuild-linting.py > /dev/null
real 3m55,840s
user 3m48,592s
sys 0m16,913s
After this change but without postmarketOS/pmbootstrap!2100:
$ time .gitlab-ci/apkbuild-linting.py > /dev/null
real 0m14,359s
user 0m17,994s
sys 0m6,488s
After this change with postmarketOS/pmbootstrap!2100:
$ time .gitlab-ci/apkbuild-linting.py > /dev/null
real 0m6,411s
user 0m13,334s
sys 0m2,417s
Note that postmarketOS/pmbootstrap!2100 is not required for that little
bit of extra performance but rather because it allows to differentiate
between linting errors for different packages in the output.
Depends: postmarketOS/pmbootstrap!2100
Closes: #564
Console UI can be used now instead of None UI.
Console UI is necessary to have access to the device over SSH
as no display can be used.
[ci:skip-build] already built successfully in CI
This devices runs a close-to mainline kernel as linux-odroid-hc2.
I have 2 of these devices which power my selfhosted infrastructure
for some time now and they work really well! Running my selfhosted
infrastructure on Alpine stable releases would be great.
Adjust post-upgrade script to not remove vmlinuz-*. This causes problems
with devices using kernels from Alpine, where the kernel is not
installed to /boot/vmlinuz, as it is now the case in postmarketOS, but
e.g. in /boot/vmlinuz-rpi. The intention was to clean up files when
migrating from the old postmarketos-mkinitfs to the new one (>= 1.0.0).
However, the /boot/vmlinuz* files are managed by apk, so they should
already get removed.
Add -v, so it prints a message when removing a file from /boot.
kernel filename must now be /boot/vmlinuz
[ci:skip-build]: ollie is pretty sure that this will work. it's a
critical fix, so let's not delay it by waiting for two kernels to build.
On the pinephone, callaudiod handles the switching of default outputs,
so wys is unnecessary and may be causing issues when running in parallel
with callaudiod.
fixes#1217
with 5.14, there's some change to the path that alsa searches for ucm2
for this device. the install path for PineTab.conf is changed, and it
references "full" path to HiFi and VoiceCall profiles (which I kept in
`PineTab` dir, so that there could be several configs for the same
driver later on, if necessary/desired)
[ci:skip-build] already built successfully in CI
with 5.14, there's some change to the path that alsa searches for ucm2
for this device. the install path for PinePhone.conf is changed, and it
references "full" path to HiFi and VoiceCall profiles (which I kept in
`PinePhone` dir, so that there could be several configs for the same
driver later on, if necessary/desired)
This pmbootstrap version includes the necessary support for the new
mkinitfs
[ci:ignore-count]
[ci:skip-build] too many changed kernels/packages, won't complete in CI
Kernel file names will be generic (/boot/vmlinuz).
Release path still has the 'flavor' in it so that pmbootstrap can still
get a reference to which kernel package is installed
This replaces the mkinitfs script with a re-write (in Go). The
re-written mkinitfs will atomically replace the initfs in /boot, check
for free space before doing so, and try to do whatever it can to not
leave the system in an unbootable state by botching the initfs
creation/installation.
pmb:cross-native with go cross compiling doesn't work exactly, it makes
the correct binary, but on Alpine go uses -buildmode=pie which creates a
dynamic thing, and the interpreter is wrong (e.g. it it set to use the
host arch's interpreter, like /lib/ld-musl-x86_64 even though
GOARCH=arm64)
The init.sh script is no longer a template, "initramfs-extra" is used.
Fixes https://gitlab.com/postmarketOS/pmaports/-/issues/1019
fixes https://gitlab.com/postmarketOS/pmaports/-/issues/660
This tool is used by the new mkinitfs to finalize/install boot files.
It's based on the old mkinitfs_functions.sh, but includes some
improvements like verifying free space in target directory, and trying
to atomically mv files.
This fix was pending since before charging-sdl was deprecated and still
provides value should anyone wish to pickup and improve charging-sdl
again.
charging-sdl currently does not check for devices using mesa, even
though it supports it in the same way as osk-sdl. Check for msa support
and set SDL_VIDEODRIVER in that case.
Also fix the font path, as it was reading both keyboard-font and
keyboard-font-size from osk.conf.
Installing "onboard" onscreen keyboard and enabling autostart.
Option "Don't auto-show while external keyboards are connected" is
activated.
[ci:skip-build] already built successfully in CI
The delay to wait for the SIM card to show up appears to be unneeded on
our modems, remove it so that we don't delay boot by 10 seconds if your
device doesn't have a SIM card installed.
[ci:skip-build] already built successfully in CI
The Alpine LTS kernel builds evdev as a module which means it's not automatically
available in the initfs. Including evdev allows osk-sdl to properly recognise
physical keyboards, just like on a real device.
Fixes: #1204
[ci:skip-build] already built successfully in CI
`$DEV` was an undefined variable so the atinout commands were printing their
helptext instead of actually running. This was noticeable because
the "Failed to enable VoLTE profile auto selecting" log was being printed
along with said helptext to syslog.
The block that defined `$DEV` had been accidentally deleted in
bb41f53879 . This change restores it.
Contains venus firmware for hw accelerated video encoding and decoding.
Also, ipa firmware is moved to beryllium folder as mbn format instead of
mdt+bXX files.
The list of files in firmware.files is now file type-wise alphabetically
sorted. Just for better readability.
Fix the feedbackd rule as the haptics modules has been renamed.
Although SDM845 doesn't really suspend well, MM needs suspend
and resume support when the device attempts to suspend. Without
which MM will crash and wont resume properly when a suspend
action is triggered.
Depend on msm-modem-uim-selection to configure to modem for modemmanager
Changes:
- Kernel side support for ModemManager
- Picked upcoming patch series for 5.15 + fixes, theoretically
improving GPU perf
- Updated patch series from lists
- Enabled options needed to support WayDroid (network stuff maybe still
missing???)
- Fixes venus fw paths, firmware packages need to updated to support it
but this will enable HW video decoding!
- Cleanup the defconfigs
- Rebase on v5.14-rc7
- Upstreamed more patches
- Enable Jack detection kctls for msm8916 devices
- Probably many other things I forgot :)
Device changes:
- gt5 family:
- Added fuel-gauge support
- Added sensors (Accelerometer, Light)
- gt510 - wifi variant reworked to use multiple common layers
- gt510lte - Added support for LTE variant
- gt58 - New device
- gt58lte - Support for LTE variant
- Feature parity with gt510
- wingtech-wt88047 (Xioami Redmi 2):
- Add additional boe-nt35521s panel driver
- longcheer-l8150: Fix Jack detection
Disable the hostname management feature of NetworkManager. This isn't
useful for the postmarketOS use case, where we set one hostname in
/etc/hostname via pmbootstrap and want it to be used. (It makes more
sense for normal PCs, which may just have the hostname 'localhost' at
the end of the installation and then not be unique in the network.)
NetworkManager is supposed to only change the hostname if it is set to
localhost, however this detection does not work properly in
postmarketOS. I've skimmed through sources of elogind, NetworkManager
and OpenRC a bit and found that in OpenRC the definitive location to put
the hostname is /etc/hostname. The other path, /etc/conf.d/hostname, is
just a fallback. Experiments show that setting something in
/etc/conf.d/hostname does prevent NM from setting a hostname offered by
the DHCP server, but it's not clear to my why this happens. I suspect
elogind + dbus. Disabling this feature we don't need anyway seems like a
good approach to me without wasting too much time here.
Previously it was assumed that with the counter and the sleep 0.1 the
process would take about 10 seconds to complete. On newer devices with
tens or even hundreds of partitions going through all partitions already
takes a significant amount of time, so change the logic to measure the
time elapsed instead.
This fixes DNS when a system is connected to a pmOS device as a hotspot.
The rule is in the default set of firewall rules, instead of a
subpackage.. I think this is OK. I don't believe anything should be
listening on port 53 except when the hotspot is running...
This directory is specified by the XDG Base Directory specification
(https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html).
Quoting:
> User-specific executable files may be stored in $HOME/.local/bin.
> Distributions should ensure this directory shows up in the UNIX $PATH environment variable, at an appropriate place.
So let's actually do this. This way also binaries installed by e.g. Pip
or Cargo will be usable out-of-the-box rather than that the user has to
figure out why it's not appearing in their PATH.
With Phosh 0.13.0, Logind is used without patches for the torch
as UPower doesn't want to handle this. Therefore, we can drop
the torch patches to UPower.
[ci:skip-build] already built successfully in CI
I believe everything here has been merged in master, so let's build that
for now (since it includes at least 1 additional fix not in the patches
that were dropped here)
Disable debug options and SMP, and remove support for other platforms.
Unixbench reports a speedup for process creation and syscalls, from
Process Creation 126.0 1043.8 82.8
System Call Overhead 15000.0 235497.3 157.0
to
Process Creation 126.0 1826.7 145.0
System Call Overhead 15000.0 421030.2 280.7
Updated the kernel to the latest version from LineageOS [1] (branch
`cm-14.1`), copied their configuration file and updated it according
to `pmbootstrap kconfig check`. Previous kernel was from `cm-12.1`
branch.
Fixed firmware package. Switched firmware source to
LineageOS/TheMuppets and install only the Wi-Fi firmware, but into the
correct directory. Previously all available firmware was simply copied
into wrong directories.
[1] https://github.com/LineageOS/android_kernel_htc_msm8960
[ci:skip-build] already built successfully in CI
plasma-nm-mobile is already a dep of plasma-phone-components
ofono is already a dep of plasma-phone-components
ofono-openrc already gets pulled in automatically through openrc and
ofono
networkmanager is already pulled in by plasma-nm-mobile
qt5-qtvirtualkeyboard has been replaced by maliit ages ago
[ci:skip-build] already built successfully in CI
- switch sources to official repo https://source.denx.de/u-boot
- use tag v2021.07
- extract patches from pine64-org
- enable DMA transfers from eMMC and mSD (u-boot from Megi)
[ci:skip-build] already built successfully in CI
The flavor string was naively parsed using sed by removing everything
before the first hyphen, this breaks for -rc kernels. Instead lets glob
/usr/share/kernel for the installed kernel flavor. This will also
prevent the kernel being flashed if the running kernel has a different
localversion than the updated one.
[ci:skip-build] already built successfully in CI
Allow users in group "input" to control the tm2-touchkey leds.
Additionally correcting the udev rule for disabling the tm2-touchkey leds by default.
[ci:skip-build] already built successfully in CI
Add ttyescape, a script and triggerhappy configuration to allow mobile device
users to access and use a shell without having to plug in to a computer.
One of the largest limitations with a mobile device is the lack of keyboard, for
mainstream OSs like Android and iOS, this is a non-issue as the whole OS stack
is built to automatically recover in case of a crash / hang, hiding the internal
state of affairs from users and making use of careful design to minimise the
impact. When bringing Linux to mobile, we carry not only the benefits of the
Linux desktop but also it's limitations. In the event that your desktop manager
goes haywire or hangs completely, or your graphics drivers get unhappy, the
ability to quickly jump to a tty and start killing bad behaving programs or
reset your display manager is one that most of us take for granted. But when
hit by similar errors on a mobile device there is no such recourse available,
users either have to reboot and hope that the issue doesn't occur again, or pull
out a laptop and pull up a shell (assuming ssh is enabled and the rndis
interface comes up).
ttyescape proposes to solve this issues by pieceing together several already
available tools, notably:
- triggerhappy, a tool used to perform actions when
certain buttons or key combinations are pressed with no dependencies on the
display manager in use.
- fbkeyboard, a framebuffer keyboard for tty's, it
renders on top of the current tty and uses the device touchscreen as input.
This device runs on linux-postmarketos-rockchip which at the moment of
writing is 5.13.0 with (only) 6 patches applied, so close-to mainline.
I personally use 2 of these devices with postmarketOS installed daily as
my homeserver setup and it has worked really well. It's also a good
target to run Plasma Bigscreen on as a TV setupbox
gzip results in a boot.img that's too big (over 8 MB) for e.g.
samsung-i9300, so let's replace it with something that produces
smaller kernels. With this, the entire boot.img is 6,3 MB (down
from 8MiB, or 8.5458944 MB) which leaves plenty of space on the
8 MB partition and prevents the recovery from being overwritten
when this kernel is flashed.
Tested and works on samsung-i9300.
[ci:skip-build] already built successfully in CI
This provides a mobile-friendly music player in the default
installation which is something that's currently lacking.
[ci:skip-vercheck]: _pmb_recommends change doesn't need pkgrel bump
The networkmanager hotspot needs to have DHCP input enabled on the wifi
interfaces so the temporary dnsmasq instance can work. The
networkmanager backend is also switched to the nftables one so it can
create the ad-hoc hotspot forwarding/masquerade table.
Proper fix for the monospace fonts seen when postmarketos-ondev is
installed without also installing osk-sdl. This doesn't happen anymore
with pmbootstrap install --ondev, because it will always pull in osk-sdl
again for other reasons. However, since postmarketos-ondev is using this
font, let's directly depend on it instead of having it pulled in as side
effect of also having osk-sdl installed.
And extend bootloader CMDLINE per default, giving us the option to
change the CMDLINE both via the kernel config and from samsung's
S-BOOT shell.
Note: the default console in exynos_defconfig (which this config is
based on) is ttySAC1, but all midas devices uses ttySAC2, so set it to
ttySAC2 instead. Also remove all other variables. They are not needed,
and (at least) root=/dev/ram0 seem to prevent us from booting pmos.
[ci:skip-build] already built successfully in CI
uim-selection has "after *" in it's dependencies to make sure the
theoretical up to ~1min delay can't be observed. Unfortunaely this
causes incorrect dependencies ordering if one of other services depends
on ofono or modemmanager. Drop "after *" so modem can always be started
properly.
NymphCast is a FOSS Chromecast replacement (not a drop-in one though)
and allows you to "cast" audio and video to your device running the
nymphcast server. Plasma Bigscreen seems like an ideal use-case for this
so let's install and launch it by default. People can always uninstall
it anyways
Merged in mainline since 5.9-rc2-next-grate:
- all previously applied patches specific for Tegra and Nexus 7
New features, not merged yet in mainline (only in -next-grate):
- improved power management
- implemented USB OTG
New configuration options
- enable F2FS support (incl. compression), which leads to prolonging
eMMC life
Tested on E1565.
Signed-off-by: David Heidelberg <david@ixit.cz>
This allows using lm_sensors to read temperature data on the pinebook
pro (and probably other devices too)
❯ sensors
gpu_thermal-virtual-0
Adapter: Virtual device
temp1: +41.1°C (crit = +95.0°C)
tcpm_source_psy_4_0022-i2c-4-22
Adapter: rk3x-i2c
in0: 5.00 V (min = +5.00 V, max = +5.00 V)
curr1: 2.50 A (max = +2.50 A)
cw2015_battery-i2c-4-62
Adapter: rk3x-i2c
in0: 4.24 V
curr1: 0.00 A
cpu_thermal-virtual-0
Adapter: Virtual device
temp1: +47.5°C (crit = +95.0°C)
nvme-pci-0100
Adapter: PCI adapter
Composite: +31.9°C (low = -273.1°C, high = +80.8°C)
(crit = +80.8°C)
Sensor 1: +31.9°C (low = -273.1°C, high = +65261.8°C)
Sensor 2: +37.9°C (low = -273.1°C, high = +65261.8°C)
[ci:skip-build] Already built on CI
5.13.5 had some rockchip-related fixes in the changelog, so I figured
why not upgrade to it.
These patches from Manjaro seem to be the bare minimum required to get
usb-c charging and device peripherial support working again (external
display still doesn't work)
[ci:skip-build] already built successfully in CI
There's a generic udev rule to set group ownership of backlights to
'video', but it only runs on the ADD action, which seems to be too
late(?) since the backlight device is never owned by 'video' on boot.
This rule will run on CHANGE too, which might be overkill but seems to
get the job done. It's now possible to set the backlight brightness on
the PBP as a normal user.
llvm was left over from Martijn's efforts to reduce the kernel size
The drivers for external DP are enabled here, but all patches from
manjaro that deal with DP/typec alt mode, etc are dropped since they do
not solve anything on their own and may cause display instability
issues...
[ci:skip-build]: already built successfully in CI
prevent the creation of a fake NUMA node
saving a few CPU cycles each DRAM access:
[ 0.000000] NUMA: No NUMA configuration found
[ 0.000000] NUMA: Faking a node at ...
[ 0.000000] NUMA: NODE_DATA [mem 0xff9c2100-0xff9c3fff]
if you boot on QEMU make sure to review vCPU topology:
set socket to 1
This is needed to get ethernet working on most 64-bit sunxi boards.
Basically just synced with armv7 config a bit.
[ci:skip-build] already built successfully in CI
Now that CPU scaling is enabled, there is no need to disable the big cluster,
which was hurting performance before by staying at 19.2 MHz. Remove maxcpus=2
from the command line arguments.
[ci:skip-build] Already built successfully on CI
Upgrade to 5.13.0 mainline and disable staging drivers.
Staging drivers are not used by this device and cause
build failures [1].
[1] https://github.com/tobetter/linux/issues/29
[ci:skip-build]: already built successfully in CI
Install obex-capabilities and a modified DBus Service
for BlueZ's obexd when BlueZ OBEX support is installed.
UIs depending on BlueZ are now also depending on
bluez-obexd for OBEX support through various MRs at Alpine.
Support the downstream kernel and a close-to-mainline fork. Waveform
data for the eInk display and the Wi-Fi driver are not included yet.
Everything else should work.
Anbox, nftables, and containers aren't set up for now because I'm not
sure how useful Anbox would be on devices using this SoC given that most
(all?) of them have around 1 GB of RAM, aren't very fast, and I have
heard that Anbox isn't very well-Asupported on ARMv7. As for nftables,
I don't want debug it at this time in case breaks something. Setting up
container support made the phone hang while booting, however that might
have been due to that I only booted the new kernel without getting the
new modules in the rootfs.
[ci:skip-build] already built successfully in CI
Pulseaudio is used by other graphical UIs to manage audio, so having it
installed for sway is useful for having audio working "out of the box"
[ci:skip-build] already built successfully in CI
The update to Linux v5.13.1 also includes updating the haptics driver
to the latest one posted to the mailing lists, which was renamed to
qcom-spmi-haptics. Rename the udev rule for this driver and update the
driver name in it.
[ci:skip-build] already built successfully in CI
This package used to be installed through osk-sdl, but now osk-sdl is only
installed when FDE is enabled, and so when it is not enabled the system has no
fonts to use, which means UIs like Sway and Weston have broken fonts. This
commit fixes the issue.
[ci:skip-build] already built successfully in CI
This adds a new 'UI' that includes networking support (network manager), firewall (by way
of postmarketos-base-ui), and anything else that will give a basic,
working image without any graphical UI.
The intention is for bpo to build this instead of the 'none' UI. 'none'
UI will continue to be around for mainlining and testing purposes.
* Add the fusb302 module in initfs for the keyboard and touchpad
* Add cmdline params for improving stability
fw_devlink was switched on by default in kernel 5.13, and is rumored to
have issues.
The others might improve nvme stability.
* Disable wifi powersave
* Clean up modules in the deviceinfo
This switches the config over to one based on Alpine's linux-gru which
is for an rk3399 chromebook. It produces way smaller kernels and has
more general purpose hardware support.
The udev file "20-tm2-touchkey-leds.rules" disables the leds of
tm2-touchkey by default because they are in an unconfigured state.
The udev file "95-rt5033-battery-refresh.rules" triggers a refresh
of the rt5033-battery information within UPower 5 secs after
initialization. This avoids a wrong battery icon after boot.
The udev file "50-firmware.rules" was moved from /etc/udev/rules.d
to /lib/udev/rules.d.
Related: https://wiki.postmarketos.org/wiki/Packaging#Device_specific_quirks
The ODROID HC2 device must have its boot partition
on a microSD card while the rootfs can be on an external HDD.
Provide a script to transfer the rootfs and update the U-boot script.
[ci:skip-build] already built successfully in CI
- Use common firmware package for Samsung zero devices also for zerofltexx
- Fix Wifi firmware paths
- Fix display colors (in sxmo; weston seemed OK before)
- Fix "alignment fault" error on ALSA sound output by compiler flag.
[ci:skip-build] already built successfully in CI
Now that there is a "unmaintained" category, readd huawei-kiwi
downstream (which got replaced in !1826 (merged)).
[ci:skip-build] already built successfully in CI
Start NetworkManager on boot to autoconfigure network devices plugged
into the USB port as well.
Drop /etc/network/interfaces to allow NetworkManager manage all
interfaces.
[ci:skip-build] already built successfully in CI
Based on Minecrell work at:
https://gitlab.com/Minecrell/pmaports/-/tree/alcatel-idol347-downstream
adapted smb1360 shared patches for idol347 downstream tree,
and added his idol347-like-mainline.patch gist which changes downstream DT
to mimic sane mainline settings for easy battery driver dump comparison.
This branch includes a patch to resolve a deadlock when Phosh is
starting up. This patch was merged in aports edge.
The rest of the patches in this branch are minor fixes, so I don't
expect any regressions.
fixes#1142
[ci:skip-build] already built successfully in CI
[ci:ignore-count]
[ci:skip-vercheck] needed for the postmarketos-ui-* packages in this
series
[ci:skip-build] already built ui-* packages in CI, and device pacakges
are just trivial deviceinfo change (manually built some just to verify)
Adds pmb:gpu-accel option to Phosh, Plasma Mobile/Bigscreen, Sway,
Glacier and Kodi APKBUILDs to hide the UIs at `pmbootstrap init`
for devices without GPU acceleration support.
Related: pmbootstrap!2043
[ci:skip-build]: already built successfully in CI
[ci:skip-vercheck]
Should work same as before.
Slightly tweaked kernel config options:
* default cpufreq governor is now "conservative" instead of "performance", which should be better for devices running on battery. Not that it matters, MSM8974 does not have cpufreq support anyway.
* enabled CONFIG_ARM_QCOM_SPM_CPUIDLE, which was missing! At least some cpuide is better than none at all.
* 2 missing options for nftables: CONFIG_IP6_NF_FILTER, CONFIG_IP6_NF_TARGET_REJECT
* few missing options for wg-quick: CONFIG_IPV6_MULTIPLE_TABLES, CONFIG_IP_MULTIPLE_TABLES, CONFIG_IP6_NF_RAW, CONFIG_IP_NF_RAW
WWAN subsystem is not enabled.
BAM-DMUX upgraded to version "v3" (subnode of modem remoteproc)
Mark kernel package as supporting anbox, containers (in addition to nftables)
[ci:skip-build] Already built successfully twice on CI
Phosh 0.12.0 introduces filtering when the device is of a mobile type
and the app is not explicitly 'adaptive'. This means a lot of apps that
might otherwise work ok-ish are gone from the list.
This change disables the filtering for now.
Currently, shut down and reboot as a user does not work (sudo shutdown
from terminal required). polkit-elogind needs to be installed. lxpolkit
is not needed.
Some msm8916 devices, primarily with two sim slots, require slot
to be selected. Install uim-selection script for all msm8916 devices
with modem enabled.
[ci:skip-build] already built successfully in CI
On some devices, primarily with two sim slots, modem doesn't choose
the sim automatically. Add an init script that would detect in which
slot the sim is present and configure the modem to use it.
This adds a very basic openrc runscript that sets the power state on
/dev/nvme0 to level 2, which seems(?) to be the lowest operational power
state based on some cursory internet searching (and querying the nvme
drives I have, Samsung EVO and Pro)
The drive path is hard coded, but could be made configurable later on. I
basically wanted to get something in pmaports quickly, since this power
stuff is a major source of instability for me and probably others too
who add nvme drives to this device.
This:
1. fixes the UI not showing up on boot by installing polkit-elogind
2. makes for fancy password popups when root rights are needed rather
than just fail silently
Move the package back from aports to pmaports and fix fall out from
postmarketos-base-ui related breakage:
* add the subset of depends from postmarketos-base-ui that are used in
postmarketos-ondev
* upgrade to postmarketos-ondev 0.7.1, where I made it compatible with
using the default tinydm config (not just the one overridden in
postmarketos-base-ui-tinydm)
Reasoning for moving it from alpine to pmaports, in line with our new
guidelines (that were written after the package was moved to aports):
* has postmarketOS branding
* enables services in post-install (similar to postmarketos-ui-* packages)
Related: https://wiki.postmarketos.org/wiki/Packaging#Should_my_package_be_in_postmarketOS_or_Alpine.3F
* use tinydm instead of lightdm
* set default term to foot, as alacritty needs a recent opengl version
(issue 984)
* override sway config to actually use foot (there is no
sway-sensible-terminal and upstream isn't interested in adding it)
* set the pmOS wallpaper in the overridden sway config
* add a subpackage that allows changing $mod to Alt, so it's easier to
test this in QEMU while running i3/sway on the host with $mod set to
Mod4
* re-enable previously disabled architectures
* set myself as maintainer
1 does fit the lock screen better, but 1.2 works better overall.
Some things are tiny with 1. 1.2 fits the lock screen decently and
still provides decently sized user interface elements.
Downstream kernel made by Corellium which enables the iPhone 7 to boot.
This is the continuation of my work for a PostmarketOS port based on
@MartijnBraam kernel and devices packages.
PogoOS by the Checkra1n team is used to boot the Linux kernel. Further
instructions will be available in the PostmarketOS Wiki page.
[ci:skip-build] already built successfully in CI
I sometimes test DB410c via mainline U-Boot, which wants to have the
DTB in the "second" part of the Android boot image. Otherwise it works
fine. Include it there additionally to simplify this.
[ci:skip-build] already built successfully in CI
On top of the firmware we already have, we also need device-specific
modem firmware. Use script from firmware-motorola-potter(credit goes to
Sireesh Kodali). Also imitate the logic in firmware-motorola-potter.
Currently, this only sets Firefox to run in Wayland mode, but in the
future it might be used to make e.g. SDL applications run in Wayland
mode.
SDL applications are not set to run in Wayland mode right no as
SDL 1.2 uses the same environment variable as SDL 2.0 for
controlling video driver (SDL_VIDEODRIVER) and SDL 1.2 does not
support Wayland and crashes if an invalid value is provided for
SDL_VIDEODRIVER, and as such setting SDL_VIDEODRIVER=wayland
globally would break all SDL 1.2 applications. This will however be
fixed once SDL 1.2 is replaced by sdl12-compat in Alpine, as
sdl12-compat implements the SDL 1.2 API and ABI via SDL 2.0 and as
such supports Wayland. As such, once this happens we can start
setting SDL_VIDEODRIVER=wayland.
[ci:skip-build] already built successfully in CI
This causes issues with some programs, chiefly that gsd-xsetttings
does not start properly. GDK_BACKEND=wayland is only really
necessary to make Firefox run in Wayland mode anyway - other GTK 3/4
apps use it automatically. Firefox will be set to use Wayland via a
following commit.
Having RMTFS at runlevel boot makes it start the modem too fast and causes
crashes. Move it to runlevel default with a post-install.
[ci:skip-build] already built successfully in CI
The Huawei Ascend G7 is based on Qualcomm MSM8916 and therefore makes
use of linux-postmarketos-qcom-msm8916 as a close-to-mainline kernel.
Initially supported features:
- USB
- Storage (eMMC, SD card)
- Display
- Touchscreen, Buttons, Vibrator
- Notification LED
- WiFi/Bluetooth
- Accelerometer, Magnetometer, Proximity
- Audio
- NFC
The modem needs more work to work around strange Huawei firmware mess.
Note that the Huawei shipped an outdated firmware version that does
not support booting aarch64 kernels (like used in this device port).
However, the device does not verify firmware signatures so it is
possible to flash firmware from other devices. This is mostly
described in the wiki, but unfortunately it's quite complex.
However, the aarch64 version of linux-postmarketos-qcom-msm8916
receives much more testing so I would like to avoid adding more
armv7 MSM8916 devices unless absolutely necessary.
For pointercal:
Screen dimension 720x1280
Touchscreen dimension (reported by evtest) 1100x1900
720/1100*65536 = ~42896
1280/1900*65536 = ~44151
Offset doesn't seem to be needed.
[ci:skip-build] already built successfully in CI
- Update to Linux 5.13
- Upstreamed many more patches
- Various cleanup to BAM-DMUX driver to prepare for upstreaming
- Enable support for virtualization/KVM via https://github.com/msm8916-mainline/qhypstub
- Probably many other things I forgot :)
- Add tons of kernel config options for containers and nftables
- Add WireGuard to kernel config
Device changes:
- huawei-g7: Initial support for Huawei Ascend G7
- USB
- Storage (eMMC, SD card)
- Display
- Touchscreen, Buttons, Vibrator
- Notification LED
- WiFi/Bluetooth
- Accelerometer, Magnetometer, Proximity
- Audio
- NFC
- lg-c50: Initial support for LG Leon LTE
- USB
- Storage (eMMC, SD card)
- Buttons
- WiFi/Bluetooth
- Vibrator
- Display
- longcheer-l8150 (wileyfox-crackling): Fix proximity sensor
- motorola-surnia: Add audio and modem
- samsung-j5nlte: Add buttons
- samsung-j5xlte: Initial support for Samsung Galaxy J5 (2016)
- USB
- Storage (eMMC, SD card)
- Buttons
- samsung-serranovelte: Add USB-OTG detection
[ci:skip-build] already built successfully in CI
My engineering prototype 1 Gb pinetab is close to unusable,
so I can't use it to test pmOS. Also, PINE64 is no longer
selling these devices, and the ones that were sent previously
to some developers use different display panel anyway.
Martijn Braam and Dylan Van Assche agreed to maintain it.
[skip ci]
This replaces the dependency on osk-sdl with a dependency on a
postmarketos-fde-unlocker virt. package
osk-sdl and its dependencies are also added contitionally to the initfs,
based on whether the osk-sdl exe is installed in the rootfs
Also see:
https://gitlab.com/postmarketOS/pmbootstrap/-/merge_requests/2066
Commits cfb5d41b and ead17254 updated the default battery levels for
warnings and actions in the pinephone and the pinetab. Since then,
the chances of the phone dying for lack of battery power have completely
dissapeared. However, the battery icon in phosh was never updated to show
a "caution" battery level. The value was hardcoded and ignored the setting
in the config file. This commit fixes that issue
This rule is installed by default, since users that need usb inet won't
have an easy way to install a subpackage.
This is meant to facilitate:
https://wiki.postmarketos.org/wiki/USB_Internet
The old rule would result in nftables failing to load if the iface
doesn't exist. Using `iifname` will match on any future ifaces if they
don't exist when the firewall starts.
1. Fixes touchscreen input not working in Poco F1 (Tianma variant) in osk-sdl
2. Basic dts support for Xiaomi Mi 8 Pro(Equuleus)
3. Basic dts support for LG G7 and LG V35
Missing '/' in aports path will make glob below invalid.
It will find 0 files and thus effectively skip all tests.
Construct full path using f-strings.
Double '/' in path that can be there if args.aports ends
with slash is harmless.
Anbox needs a specific set of nftables rules to allow incoming and
outgoing traffic. Anbox makes it easy to allow the specific traffic due
to the established `anbox0` bridge network interface.
UIs that depend on networkmanager also have an added dependency on
dnsmasq since this was removed from postmarketos-base
[ci:ignore-count] lots of packages, but no code compilation..
This makes venus load the right firmware on xiaomi-scorpio. It also has
re-enabled cpuidle in kconfig after it was mistakenly disabled in the last
update.
[ci:skip-build] already built successfully in CI
Based on downstream Android 7.0 kernel source from Huawei.
02_fix_undeclared_AUD_INET.patch is from huawei-alice
USB Networking, Touchscreen, USB OTG and Display work in xfce4.
Wifi just needs firmware, audio is broken.
Other parts haven't been tested yet.
The close-to-mainline kernel removed the generic-dsi driver in favor of
normal panel drivers. Also the panel drivers are now built in. Reflect that.
Also reflect the changes of firmware-motorola-ocean in
device-motorola-ocean_nonfree-firmware.
[ci:skip-build] Already built on CI in MR
Workaround for https://source.puri.sm/Librem5/linux-next/-/issues/303.
It seems worth sacrificing some power savings for a modem that won't
disappear, at least until the above issue is fixed.
[ci:skip-build]: already built successfully in CI
Shellcheck 0.7.2 has a change that gives many error conditions their own
SC30** codes, instead of including them in SC2039. This updates the
scripts in this package that "disable SC2039" to disable the new code.
New codes added in shellcheck: cfd68ee0c2ebfd0ab08a1d4bf628162b454dc207
At the moment, oFono/MM are usually stopped after rmtfs on shutdown.
This does not make sense, since the modem managed by oFono/MM will
disappear once rmtfs is stopped. Add a "before ofono modemmanager"
to make sure that OpenRC will stop oFono/MM before rmtfs on shutdown.
This may or may not fix some occasional hangs during shutdown,
but it definitely makes it possible for oFono/MM to shutdown cleanly.
From 85baea39858509dacfc235396f6fbd79ac23d50d Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:50:33 +0000
Subject: [PATCH] Ensure that msgfmt doesn't encounter problems during gcc
bootstrapping.
Solves error messages like the following:
msgfmt: /var/tmp/portage/sys-devel/gcc-4.1.2/work/build/./gcc/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/libstdc++.so.6)
The libgcc_s.so used during build doesn't satisfy the needs of the
libstdc++.so that msgfmt is linked against. On the other hand, msgfmt
is used as a stand-alone application here, and what library it uses
behind the scenes is of no concern to the gcc build process.
Therefore, simply invoking it "as usual", i.e. without any special
Loaded 100 of 3379 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.