Configure NetworkManager to manage our USB gadget as an Ethernet device
to allow USB tethering through NetworkManager. Only tested with
nmcli since UIs such as GNOME Control Center do not properly resize yet.
This commit adds the following:
1. Add a NetworkManager configuration to manage usb0 because
NetworkManager marks USB gadgets by default unmanaged through one of
its provided udev rules in /lib/udev/rules/85-nm-unmanaged.rules
2. Forbid NetworkManager to create connection profiles for usb0 on boot
since we provide our own profile. If we do not set this option, we
get 2 profiles on boot for the same usb0 interface with the same name
but different UUID.
3. Enable dnsmasq as a service to provide DNS lookups to connected
devices over USB tethering. Normally, NetworkManager does that
automatically, but it cannot start dnsmasq as it enables DHCP in
dnsmasq as well which conflicts with unudphcd. Therefore, add
dnsmasq as a service in DNS-only mode (its default).
This only takes effect when the UI depends on NetworkManager.
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.
unclutter-xfixes version 1.6 introduced new options --hide-on-touch
and --start-hidden. That seems appropriate enough to cover the use
cases touchscreen usage (hide cursor) and mouse/touchpad usage (show
cursor).
In preparation to removal of linux-postmarketos repo, switch
source to different source mirror.
P.S: sourcehut can't serve bz2 archives, I had to switch to gz
P.P.S: I'm not sure I'll keep repo on sourcehut forever, but let's try
See also: https://gitlab.com/postmarketOS/postmarketos/-/issues/47
[ci:skip-vercheck]
[ci:skip-build] Already built fine on CI in MR
In preparation to removal of linux-postmarketos repo, switch
source to different source mirror.
I had to switch to gzip archive, because github doesn't serve bzip2.
I did a kconfig edit -> change nothing -> exit saving to regenerate config.
See also: postmarketos#47
[ci:skip-build] Already built fine on CI in MR
CONFIG_MSM_KGSL (Kernel Graphics Subsystem Layer) breaks the framebuffer
in mysterious ways even on this device. This MR disables KGSL to restore
framebuffer functionality.
The main change is to move the postmarketOS-specific Xfce4 configs
from /etc/skel to /etc/xdg. This improves the config handling because
the location in /etc/xdg can be defined as the default fallback
configs.
Moving the gtk-3.0 folder to /etc/xdg did not work. Therefore this
one remains in /etc/skel.
Beyond this, there are some minor changes from the xfce4-phone
repository:
- Change icon path of whiskermenu button to new location
- Apply pmOS wallpaper to more monitors
- Several clean-ups in the config files
- 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
Also temporarily switch to Linus Walleij's branch to enable charging.
Patches should be upstreamed to mainline by Linux 5.18.
emmc.patch: Linux no longer hangs without this
fix-boot-regression-skomer.patch: Upstreamed and included here
[ci:skip-build] Already built fine on CI in MR
- Project naming scheme is changed to "lk2nd-msmXXXX"
- lk1st-msm8916: Experimental support for running as the "first" lk
- Secondary core bringup on non-psci firmware is now done by lk2nd
- rproc selection is now handled by lk2nd
- Some display information improvements
- New devices and various improvements for existing ones
[ci:skip-build]: already built successfully in CI
- 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
The package `device-pine64-pinephone-vccq-mod` installs a u-boot user script.
The user script was loaded at address 0x50100000 partially overwriting
the initramfs (0x4FF00000-0x5015facd), and causing a boot loop.
The user script load address was increased to 0x50700000, leaving 8MB
of free space for the initramfs, the current initramfs size is 2.37MB.
AppStream data for postmarketOS has been removed until the new format
without a double "--" is deployed. Otherwise transition will be a pain
and we would have to take care of it downstream.
Relates #1384
This firmware is useful for other devices (m3, t0lte, p4note, ...), so
let's give it a more generic name and split up WiFi and Bluetooth into
separate packages as the WiFi firmware isn't useful for t0lte at the
moment. Also drop the downstream kernel firmware from here to simplify
the APKBUILD, and give it its own package in the following commit.
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
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
ondev-boot-mount.sh expects the 'real' losetup (it uses --show), instead
of the busybox version (which doesn't support that parameter).
Alpine broke this in 31372fab76 when they split out losetup from
util-linux
[ci:skip-build]: already built successfully in CI
Allow calling the script with:
SPLASH_CONFIG=$srcdir/splash.ini devicepkg_build $startdir $pkgname
In order to pass a custom splash config, as it will be used with the
PineNote (MR 2910).
The postmarketOS icon was moved to a new location (see issue
pmaports#1418). Therefore the button of whiskermenu in the panel
becomes empty. This commit creates a symlink at the old location
to restore the icon on existing Xfce4 installations.
[ci:skip-build] already built successfully in CI
This requires a kernel >=5.15, and uses a better focus implementation
that doesn't require "sudo i2ctransfer"
[ci:skip-build] already built successfully in CI
This copies rules from /etc/udev/rules.d as well which ensures that
device-specific udev rules (e.g. for Nokia N900) are available in the
initfs.
Relates to: #1411
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
Require a version of pmbootstrap that supports conflicting dependencies,
for the upcoming patch that adds !pipewire-pulse as dependency to
postmarketos-ui-phosh.
Related: pmbootstrap MRs 2146, 2157
Do not fiddle with a compiled .a file from the vendor, rather
ignore it and add functional equivalent sources.
[ci:skip-build] Already built successfuly on CI in MR
Depencency chain:
gnome-software -> gnome-softare-plugin-apk -> gnome-software-lib -> gnome-software
is broken.
Application should not depend on its own plugin,
instead plugin should probably be installed using
install_if="gnome-software apk-tools".
This is needed to unblock BPO:
master/x86_64/gnome-software-9999_git20211203-r0.apk (missing depends: gnome-software)
[ci:skip-build] already built successfully in CI
Uses upstream u-boot with (only) 4 downstream patches. The device also
boots way quicker now, no need to hold the power button for multiple
seconds anymore
[ci:skip-build] Already built well once on CI in MR
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
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
With this wifi seem to work reliably, and it is possibly to for
example connect to a bluetooth speaker and play music.
For wifi, issue seem to be with the nvram_net.txt file, changing only
that one to a newer one makes wifi work. Here, both the .txt and .bin
file are updated, as the old files are from 2012, while the new
ones have a datestamp from 2019.
The plugin now is linked dynamically against gnome-software
and pmos fork does not touch the library, only the ui,
so it should be save to drop this fork
This command was missed when bl1, bl2 and tzsw were renamed. Truncate
apparently creates a new file of the specified size if file doesn't
exist (instead of failing), so this was missed by CI.
Use the new linux-postmarketos-exynos5 package. A dtb for klimtwifi
is added as well, even though the device has not been ported yet.
[ci:skip-build]: Already built successfully in MR CI.
This allows to get wlan to work properly.
Change-Id: I52bab348f83b49a5b31cdeddd15e542049ac3089
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
Using uInitrd is no longer necessary. I'm not sure *why*, but it just
works using the non-u-boot-image initramfs. The post-upgrade script was
changed to clean up the old images from /boot/u{Image,Initrd}, restoring
a lot of free space in that partition (~25MB)
This also sneaks in a small 1 character change to silence removing the
gpsd service from the default runlevel
[ci:skip-build]: already built successfully in CI
This enables an auto-update mechanism on post-upgrade for the u-boot
firmware on the librem 5 and librem 5 devkit. This mechanism is largely
copied from the implementation in the pinephone u-boot package.
efidebug is useful for booting the kernel via EFI mode in u-boot.
Seems like the PinePhone keyboard needs KEYBOARD_MATRIX enabled to
function at all. Also works during OSK when using FDE.
Signed-off-by: Jean Lucas <jean@4ray.co>
[ci:skip-build] Trivial KCONFIG change
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.
This moves the kernel to the one on the pine64-org/linux Gitlab org.
This kernel is (will) be shared with other distributions and is a common
base we can all rely on. It enables Wi-Fi, Bluetooth, the battery
indicator and charging, rotation, modem and other things.
[ci:skip-build] Already built successfully on CI
Some patches from bam-dmux patchset (mobile internet on 8916/8974)
have landed upstream.
Other than that, no changes compared to 5.15.x kernel.
[ci:skip-build]: already built successfully in CI
* upgrade kernel to 5.15.13
* add patch for better nl80211 support in wl1251
* add config options to support iwd
[ci:skip-build] Already built on CI in MR
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
With this you can get the modem and wifi running nearly out of the box.
As the kernel currently doesn't support UFS (internal storage) you need
to dump the following partitions using dd in TWRP or similar:
fsc, fsg, modemst1, modemst2, tunning
Place those as files in the rootfs in /modem-partitions/ and add "-o
/modem-partitions" to the rmtfs arguments by modifying /etc/init.d/rmtfs
and changing command_args to "-P -r -o /modem-partitions".
[ci:skip-build] already built successfully in CI
Kodi UI is broken on Wayland with Cage, switch to GBM instead.
GBM is more suitable for running standalone and easier to maintain.
Also add udev rules to automount USB drives as you cannot access
them from Kodi otherwise.
[ci:skip-build] already built successfully in CI
unudhcpd is a lightweight dhcp server that effectively implements static
assignment of a single IP on an interface regardless of client MAC, with
no lease. The end result is that a system connected to a pmOS device via
usb networking should always get an IP, and always get one very quickly.
This adds a new dependency on this dhcp server, and starts it in initfs.
Fixes#1199
[ci:skip-build] already built successfully in CI
allows applications that use midi files that expect a synthesizer to work
via a new file that appears under /dev
[ci:skip-build]: already built successfully in CI
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.
Basic support for the Tolino Shine 2 HD ebook reader.
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.
About Wifi: Handling of the configuration file for boards with brcmfmac is not
supported yet.
[ci:skip-build] already built successfully in CI
linux-samsung-espresso3g: Add support for gp2a light and proximity sensor
linux-samsung-espresso3g: Display now runs at 45Hz
linux-samsung-espresso3g: Add pinmux for wlan host wake
linux-samsung-espresso3g: Add TWL 6030 power off support
linux-samsung-espresso3g: Add TWL 6030 power button support
linux-samsung-espresso3g: Data Enable is active high
linux-samsung-espresso3g: Fix patch
Fix current version of epiphany not being installable because of soname
bump in libportal:
/ # apk add epiphany
ERROR: unable to select packages:
so:libportal.so.0 (no such package):
required by: epiphany-9999_git20210916-r0[so:libportal.so.0]
Upgrade to 41.3 while at it, and drop the firefox sync dialog patch
since it doesn't apply cleanly anymore. Only the disable fullscreen
patch is really important, Pablo only included the firefox sync patch
because it applied cleanly.
This is done as devices that use Heimdall flash to KERNEL instead of boot
like in case of fastboot, plus devices with weird partitions can set the
var in deviceinfo
It makes more sense here as it's also signed by OnePlus (instead of
just Qualcomm) and is expected to be here since
linux-postmarketos-qcom-msm8998>=5.16.0_rc6.
This adds a firmware package firmware-shift-sdm845 containing
BT, GPU and WiFi firmware, which allows to enable hardware
acceleration to get phosh up and running.
Change-Id: Iaef46ccd51a756ad44642769e64202a7c534be9c
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
This MR removes the downstream kernel package linux-shift-axolotl
and uses linux-postmarketos-qcom-sdm845 instead, as it has
recently added support for the SHIFT6mq (axolotl).
Change-Id: I79427820686eb813cb21f57d6bddc0d2f7984b6a
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
Uses now DRM variant of EPDC driver. Updates will work automatically
without using special APIs.
Note:
/sys/class/graphics/fbcon/cursor_blink should probably be set to zero
to avoid battery draining if text console is displayed
[ci:skip-build] Already built on CI in MR
By setting the `install_if` to include postmarketos-ui-sway instead of
sway, apk doesn't seem to be confused if it is also trying to install
some other package with `provides=sway` in it.
fixes#1343
[ci:skip-build] already built successfully in CI
This configures bootmisc to clear /tmp on bootup. I think most folks
expect distros to do this, many even mount /tmp as tmpfs. I don't think
that's a great idea in pmOS since RAM is usually limited on many
devices. So this, clearing it on boot, seems like a reasonable compromise.
Fixes#1342
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
The downstream kernel provider does not exist any more (see
samsung-m0-downstream if you really want the vendor kernel), so remove
this as it is unused.
With selinux enabled, build fails with gcc-11 with multiple errors like this:
/home/pmos/build/src/android_kernel_oneplus_sm8250-0c1bed1067131a0bd3e56c1cbdd3473606c5a48a/out/../security/selinux/hooks.c:5553:(.text+0xb34): relocation truncated to fit: R_AARCH64_ADR_PREL_PG_HI21 against `.bss.rtic'
Selinux is not required for pmOS, so this change should be safe.
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
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
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
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.
[ci:skip-build] Already built on CI in MR
Changing source to freemangordon's branch as that is much more stable and does not crash, got firefox running, which with older mesa would crash the GPU
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...
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
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
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]
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
This cuts downloads in half as only the needed sources are downloaded.
It also makes the packages simpler and fixes a bug where the oneplus3t
subpackage was overwriting the 20-adreno-gpu-firmware.files of the
oneplus3 subpackage.
alsa-* 1.2.6 breaks audio switching and microphones on several devices,
with some outstanding issues still open upstream.
This 'fork' is meant to be very short-lived, to restore audio on devices
while we figure out how to fix it on 1.2.6.
see: https://gitlab.com/postmarketOS/pmaports/-/issues/1334
Based on !1158 by @nrdnandan (5 files)
new file: device/testing/device-xiaomi-rolex/APKBUILD
new file: device/testing/device-xiaomi-rolex/deviceinfo
new file: device/testing/linux-xiaomi-rolex/APKBUILD
new file: device/testing/linux-xiaomi-rolex/config-xiaomi-rolex.aarch64
new file: firmware/firmware-xiaomi-rolex/APKBUILD
Changed deviceinfo : Width x Height was 800x600 to correct dimension -> 720x1280
modified: device/testing/device-xiaomi-rolex/APKBUILD
modified: device/testing/device-xiaomi-rolex/deviceinfo
Added directfbrc and fb.modes file. Also added SWAP file support swap_size=1024
Added Audio files and rules removed uneccessary lines in deviceinfo.
device/xiaomi-rolex: Fix linting issues
xiaomi-rolex: Linting fixes; is a handset
xiaomi-rolex: Moved firmware/ to device/testing/
xiaomi-rolex: Enable pmb:cross-native for kernel compilation
because it is the default for recent apkbuilds
xiaomi-rolex: Apply YYLOC patch to build 3.18.140 with gcc-10 (-fno-common)
xiaomi-rolex: update patch checksums in kernel APKBUILD
xiaomi-rolex: update deviceinfo checksum; replace common patch with a symlink
xiaomi-rolex: use mdss patch
xiaomi-rolex: use BGRA mdss framebuffer patch
xiaomi-rolex: mark myself as maintainer, drop contributor from apkbuilds
Refer to git commit history instead to determine contributors
xiaomi-rolex: update kernel config for multiple devpts
xiaomi-rolex: allow firmware cross-native builds, disable tracedeps per linter
[ci:skip-build]: already built successfully in CI
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.
Changes:
- Replace "Battery Monitor" by "Power Manager Plugin" (#1317)
- Fix the lower panel
- Change clock format from "1:23" to "01:23"
- Make font DPI changable for device package post-install scripts (#293)
- Reset list of keyboard shortcuts to default
- Remove brightness-switch properties from configs
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.
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
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]
Waydroid works better than anbox, and this package keeps failing to
build as in theory the bundled f-droid version needs to be upgraded more
frequently than we do.
Prepare to drop anbox from pmaports in favor of waydroid. For waydroid,
there's an nftables rule packaged as waydroid-nftables subpackage of the
waydroid package in Alpine (see pmaports issue 1280).
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’
@@ -9231,6 +9231,12 @@ also turns on the following optimization flags:
@@ -10225,6 +10225,12 @@ also turns on the following optimization flags:
Please note the warning under @option{-fgcse} about
invoking @option{-O2} on programs that use computed gotos.
@@ -42,5 +42,5 @@ index 129dc5b11f3..1b7ef0c68c6 100644
@opindex O3
Optimize yet more. @option{-O3} turns on all optimizations specified
--
2.33.1
2.35.1
Loaded 100 of 1770 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.