This is required by systemd-vconsole-setup, which is currently
configured to run on boot (without kbd/loadkeys, the service crashes.)
[ci:skip-build]: already built successfully in CI
Add hacks that are currently needed to build packages with the
temporary systemd staging repository.
Related: https://postmarketos.org/systemd
[ci:ignore-count] [ci:skip-vercheck]
Set it to master_staging_systemd, and bypass the usual logic of looking
into pmaports.cfg and channels.cfg (of master branch!). This avoids
adding it to channels.cfg of the master branch.
Fix for:
In systemd-services.trigger line 14:
systemctl $cmd $service
^--^ SC2086 (info): Double quote to prevent globbing and word splitting.
^------^ SC2086 (info): Double quote to prevent globbing and word splitting.
Should be =$pkgver-r$pkgrel instead of =$_pkgver-r$pkgrel. Otherwise CI
fails, and it is right, we do want to provide the very high version so
we don't install the regular package by accident if the regular package
gets upgraded before this forked version.
Let's put everything systemd related in an extra-repos directory, so it
is clear that the packages from here will end up in a separate, optional
binary package repository.
Sxmo maintainers have decided to stay with OpenRC on postmarketOS. Set
this option, so pmbootstrap doesn't even ask the user if they want to
install Sxmo with systemd. The idea is that users don't end up
reporting issues about this unsupported use case.
Add the dependency, so the systemd-services package gets built as part
of the bootstrap. Otherwise no service files will be installed, as the
individual service files get pulled in via install_if, and that only
works if a binary package is available.
This package is meant to encompass what an average developer would want
from a postmarketOS image. We plan to provide -dev variants of some
postmarketOS images for some devices for use by the Linux mobile
developer community. These should include useful tools out of the box
and provide a familiar shell and coreutils.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
There's some patches we didn't get upstreamed to mkinitfs yet, we need
them for /usr merge compatibility.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Apparently nftables-openrc doesn't get pulled in automatically? But we
can't just depend on it now. Add our own -openrc subpackage with the
correct install_if property to pull in nftables-openrc.
The upstream nftables-openrc subpackage should be fixed (if it's
broken).
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Install a kill-pbsplash systemd service which is configured to be
started as part of the graphical-session user target. Additionally
install an override so that if the display-manager service (aliases to
gdm, sddm, etc) fails to start it will still kill pbsplash.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Not sure if dropping the networkmanager-openrc dependency causes issues.
Otherwise, make the elogind subpackage conflict with systemd-logind.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
This is a hack to configure utilisation clamping for gnome-shell. It
works by telling the scheduler that the gnome-shell process should run
with a much higher performance level. This improve animation performance
and general UI smoothness. A proper solution to have gnome-shell manage
this itself is in the works upstream.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
For systemd (and our own sanity) we need to do the /usr merge. This fork
of apk-tools includes the logic to support alpine packages like tar
which install the main tar binary to /bin and then a symlink to
/usr/bin/...
We should find a way to implement this in upstream apk-tools, and
continue pushing Alpine to also adopt the merged /usr model.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
alpine-base hard depends on openrc... Fork it to drop this.
We should eventually upstream this by having alpine-base depend on a
virtual pid1 or init-system subpackage which openrc and systemd can both
provide.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Allow this package to be used on systemd installs without pulling in a
bunch of openrc services.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Device uses heimdall flash method by default, with uppercase
partition name in it's PIT file. This conflicts with flash on update,
because in Linux partitions named in lowercase. To resolve this conflict,
default flash method changed to fastboot. Heimdall still can be used with
`--method` flag: `pmbootstrap flasher --method heimdall-bootimg flash_kernel`
- enable flash on update flag.
- change default flash method to 'fastboot'
U-boot doesn't output bootscript logs, which makes it hard to debug.
Put bootscript to prebootscript section. Preboot is executed before
boot, and u-boot displays it's logs.
Enabled WiFi OOTB on some intel-based macbooks
[ci:skip-vercheck] moved devpkg fails devpkg version checks
[ci:skip-build]: already built successfully in CI
- Drop -mesa subpackage, this is handled by postmarketos-base now
- Add 'quiet' kernel cmdline param to hide kernel messages on boot by
default
- set chassis type to 'desktop'
- re-add firmware-ath6kl, this used to be included in the old
tablet-x86uefi but was accidentally dropped when that was merged into
this generic device package
- adds kconfigcheck-containers
- adds missing kconfigcheck-community options
- adds some missing dynamic debug stuff
- also adds kconfig options required by libcamera, because why not.
[ci:skip-build]: already built successfully in CI
When running locally, sometimes pmbootstrap in PATH is not a symlink and
the auto-detection stuff fails. This can be resolved by setting
PMBOOTSTRAP_CMD=/path/to/pmbootstrap.py, so the error has been improved
to suggest doing this.
[ci:skip-build]: already built successfully in CI
Reserve 256MB for CMA, and of those use 192MB as VRAM.
The default value from the kernel side causes graphical issues with e.g.
phosh, so increase it so we have some more VRAM to work with.
[ci:skip-build]: already built successfully in CI
This prefers gitlab CI's target branch from the env, and falls back to
the old target branch detection mechanism (using pmaports.cfg, etc) if
it's not set. This fixes CI in gitlab where the target branch is
something different than expected, e.g. if using stacked branches.
[ci:skip-build]: already built successfully in CI
Upstream has switched to meson buildsystem and Luca's patches
were merged, so we can drop them.
Update package URL to linux-msm project.
Signed-off-by: Alexey Minnekhanov <alexeymin@postmarketos.org>
Upstream has moved to meson buildsystem and tagged new release.
Update package URL to linux-msm project.
Drop qrtr-ns subpackage, service and executable building, as it
was moved into kernel long time ago and separate userspace daemon
is no longer required.
Signed-off-by: Alexey Minnekhanov <alexeymin@postmarketos.org>
Due to Alpine packaging changes, linux-firmware-qcom is not pulled in
anymore so the GPU firmware a630_sqe.fw is missing on the device now.
Fix this by explicitly pulling in firmware-qcom-adreno-a630 which also
provides this file - based on linux-firmware.
These are useful on desktops/laptops/tablets.
This was only added to the gnome (desktop) UI because:
1) The system monitor could be useful on mobile devices however the UI
is not adaptive.
2) Disk utility isn't that useful on mobile devices since it tends to
show dozens of partitions on android phones, and so it's kinda
confusing and it would be easy for users to mess things up.
[ci:skip-build]: already built successfully in CI
Apparently some callers of `get_package_version` expect it to return
None if a package wasn't found... e.g. when CI is testing a branch that
introduces a new aport and it's trying to get the upstream version for
it, which doesn't exist.
This leads to a spectacular crash in CI:
upstream = get_package_version(args, package, commit, False)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/clayton/src/pmaports/./.ci/lib/check_changed_aports_versions.py", line 47, in get_package_version
return parsed["pkgver"] + "-r" + parsed["pkgrel"]
~~~~~~^^^^^^^^^^
TypeError: 'NoneType' object is not subscriptable
When I refactored this method in 07812a918 I goofed up and changed this
behavior, so let's restore it to fix the crash.
The apkbuild parser returns `pkgrel` key as a `str`, not an `int`,
so the `!= 0` check would always succeed even if the file set it to `0`.
[ci:skip-build]: already built successfully in CI
I don't like how CI requires pmbootstrap in PATH to be a symlink, I use
a wrapper script to handle running pmbootstrap how I want and the
current pmbootstrap path detection is kinda annoying since it depends on
it being a symlink.
This allows using an environment variable, PMBOOTSTRAP_PATH, to set the
pmbootstrap path and skip all of the symlink resolving stuff.
This reverts commit 1e3d484a64
"device-pine64-pinephone: update UCM config for new headphone jack name (MR 5022)"
[ci:skip-vercheck]
[ci:skip-build]: already built successfully in CI
Kernel 6.8.4 has multiple issues on the pine64-pinephone:
- Incoming calls don't work reliably when the phone is suspended. ( #2734 )
- Audio routing has changed such that it's seemingly not possible to use
headphones with the builtin mic. ( #2738 )
Kernel 6.7.9 does not have these problems. This commit reverts to that for now
until they're figured out on the new kernel.
Add deviceinfo_flash_kernel_on_update="true" to the deviceinfo file.
This makes sure that the updated kernel is flashed to the device every
time the linux-postmarketos-exynos4 package is updated.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
[ci:skip-build]: already built successfully in CI
90b0205a ("postmarketos-ui-i3wm: configure wallpaper globally") directly copies
the default i3 config into the user's config directory. Change to using the
wizard instead
Reading the wl1251 data on each boot can be useful when using the same SD card
on different devices, allowing each to fetch its correct calibration data.
Additionally, this opens up the possibility to simplify the packaging (in
follow-up commit)
After removing the following files, $pkgdir/usr/share/deviceinfo is empty:
- $pkgdir/usr/share/deviceinfo/$pkgname
- $pkgdir/usr/share/deviceinfo/deviceinfo
Remove it when it's empty.
[ci:skip-build]: already built successfully in CI
Package was removed and is now included in boot-deploy.
[ci:ignore-count]: Lots of packages intentionally changed.
[ci:skip-build]: already built successfully in CI
Features:
- Include "sort-key" in bootloader spec config (MR 58)
- Integrate pmos-update-depthcharge-kernel and pmos-update kernel
logic (MR 55)
[ci:skip-build] already built successfully in CI
Move goodix calibration rules to an subpackage because only the
replacement controllers are need this.
[ci:skip-build]: already built successfully in CI
Apparently f2fs has a soft dependency on this driver, so if it's =m in
the kernel then let's make sure it's always in the initramfs since f2fs
is a supported filesystem.
Fixes https://gitlab.com/postmarketOS/pmaports/-/issues/2711
[ci:skip-build]: already built successfully in CI
Near-mainline kernel is feature-complete since quite some time, so lets
use that as a default also to simplify boot process, since downstream kernel
depends on various blobs loaded into memory by the bootloader.
Get rid of quirks required in boot process for mainline kernels
also by using a near-mainline u-boot.
Prepare for handling rev b devices.
Keep Downstream kernel to be able to optimize/compare EPD operation
The previous name stopped being valid with the kernel 6.8 upgrade. This caused
ALSA to think a headset was connected, which in turn caused callaudiod to
select the Headphones port in the PA sink instead of Earpiece / Speaker.
I missed this in my own kernel upgrade testing because I use
a custom callaudiod that doesn't care about the headphones port.
I now confirmed the issue with regular callaudiod and that this change
fixes it.
Co-authored-by: Fiona Klute <fiona.klute@gmx.de>
- usbguard config: these are builtin USB devices that should be allowed
by default
- removed nonfree-fw package, I decided that everything from that should
be required since some fairly major features are broken without these
firmwares and relevant userspace apps
- re-enabled EFI runtime services, so efifb is used (and probably other
benefits?)
- Laptops need the "Linux Boot" option enabled
- "With recent UEFI firmware efi=noruntime can be left out when
the Linux Boot option is enabled."
- https://github.com/jhovold/linux/wiki/X13s#kernel-command-line
[ci:skip-build]: already built successfully in CI
This subpackage now installs a file that was previously in the other
subpackage it is meant to replace, leading to upgrade conflicts that
have to be manually resolved (i.e. with apk fix)
Fixes: 126f43220 and 1712a2d03
It seems that wireplumber is now installed by default, instead of pipewire-media-session. Thus we need to set api.alsa.headroom in wireplumber configuration too to get working audio.
This basically copies /usr/share/wireplumber/wireplumber.conf.d/alsa-vm.conf and relaxes the filters.
[ci:skip-build]: already built successfully in CI
exkc has stated that he cannot maintain the ports anymore,
see #postmarketos-devel discussion:
<@f_[xmpp]> af2e02839bcfb0aae789a9ea66f63a: hiya, are you available?
<@f_[xmpp]> It's about 2 of your Amlogic device ports. You said
before that your beelink-gt1 and xiaomi-once were broken
<@f_[xmpp]> are you still able to maintain these ports?
<@f_[xmpp]> If not then they should probably be dropped.
<af2e02839bcfb0aae789a9ea66f63a> drop them
<@f_[xmpp]> af2e02839bcfb0aae789a9ea66f63a: sure
[ci:skip-vercheck]
Suggested-by: exkc <exxxxkc@getgoogleoff.me>
Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
* Bring back /usr/share/wallpapers/postmarketos.jpg, which is used in at
least as the default in sway, mate, lxqt, xfce4
* Move postmarketos-gnome.xml here (instead of taking the version from
artwork.git), because the paths mentioned in the xml file are also set
in this package in pmaports. This makes it easier to maintain.
* Fix the paths in postmarketos-gnome.xml (postmarketos vs
postmarketOS).
* Keep the postmarketos-gnome.xml name, as we had it before recent
wallpaper changes, and as it is the same name in v23.12 still. This
should make it backwards compatible for people upgrading from v23.12.
* Move 10_pmOS-wallpaper.gschema.override here for the same reason.
Fixes: 72357ecf ("main/postmarketos-artwork: upgrade to Meadow wallpaper and make Plasma-compatible (MR 4805)")
[ci:skip-build]: already built successfully in CI
Remove the postmarketos-base-ui-gnome-wallpapers subpackage that only
Phosh and GNOME desktop used to depend on, and instead add a hard
dependency on postmarketos-artwork-wallpapers.
The config that enables the wallpapers will be moved to
postmarketos-artwork-wallpapers in the next commit. This will make it
easier to maintain, the paths to the wallpapers will only be in one
package instead of being scattered across many.
Fix that no wallpaper was set for sway:
[ERROR] [sway/config/output.c:828] failed to execute 'swaybg' (background configuration probably not applied): No such file or directory
Add support for Sony Xperia Z3 Compact and HTC One (M8).
Also take the opportunity to align the LOCALVERSION/KBUILD_BUILD_VERSION
fields with e.g. SC7280 kernel.
[ci:skip-build]: already built successfully in CI
I just noticed that the virt kernel doesn't have mouse and network
working anymore in QEMU and Alpine edge. It did work with v23.12.
Everything seems to work with the LTS kernel though, and it doesn't
change often, so recommend that for now.
[ci:skip-build]: already built successfully in CI
- 0003-dts-pinetab-add-missing-bma223-ohci1.patch
The original patch added a node for BMA223 and a node for ohci1.
The former is already present in upstream, so the new patch
0003-dts-pinetab-add-missing-ohci1.patch only adds the latter.
- 0004-arm64-dts-allwinner-Add-bluetooth-node-to-the-PineTa.patch
The patch is now present in upstream so it has been removed.
However it's worth noting that upstream's node has the wake GPIOs
reversed from the original patch. The original patch added:
device-wake-gpios = <&r_pio 0 6 GPIO_ACTIVE_LOW>; /* PL6 */
host-wake-gpios = <&r_pio 0 5 GPIO_ACTIVE_HIGH>; /* PL5 */
... while upstream has:
device-wake-gpios = <&r_pio 0 5 GPIO_ACTIVE_LOW>; /* PL5 */
host-wake-gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */
This has not been tested on a PineTab.
- 0005-dts-pinetab-make-audio-routing-consistent-with-pinep.patch
The first hunk of the patch is in upstream and has been removed.
- 0013-Revert-usb-quirks-Add-USB_QUIRK_RESET-for-Quectel-EG25G-Modem.patch
This patch reverted upstream commit that was present until v6.7
( https://codeberg.org/megi/linux/commit/f9e3e7ea4ea5452e2c149acbe2a958751046ca29 )
but is not present in v6.8, so the patch has been removed.
- 0014-usb-serial-option-add-reset-resume-callback-for-WWAN.patch
The patch is now present in upstream so it has been removed.
The handling for the lock key is currently unreliable (racy?). In many cases,
you have to toggle it twice to turn display off. Fix this by handling it via
acpid. Since the scripts currently depend on X11 tools, move them to the x11
subpackage. They can be moved back to the main device package in future when
Wayland support has been implemented.
Block i3 from handling the lock key to avoid additional races.
6c30cb42a4 ("linux-postmarketos-omap: enable new community kconfig options")
set CONFIG_LEDS_TRIGGER_DEFAULT_ON builtin. The consequence is that the debug
LEDs are now always turned on, which interferes with the keyboard backlight.
Since pmOS requires it to be builtin now, let us workaround the issue by not
loading leds_gpio at boot.
[ci:skip-build]: already built successfully in CI
Add deviceinfo variables so that QCDT generation is carried out by
boot-deploy. The mainline kernel no longer generates the QCDT image
for the device.
[ci:skip-build]: already built successfully in CI
Upgrade the kernel to version 6.8.1.
Move the devicetrees to be built in-tree. This enables better
integration of the devicetree sources with the kernel, such as being
able to access macros available in include/dt-bindings.
Additionally, remove QCDT generation from the kernel. This is required
for supporting multiple devices, having different QCDTs. It can instead
be done in a per-device basis using boot-deploy.
[ci:skip-build]: already built successfully in CI
Rules are the new and much more configurable way to handle conditionally
enabling jobs. Replace the old "only" keyword usage with equivalent
rules.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
The China LTE versions of Samsung Galaxy S5 (G9006[VW]/G9008[VW]/G9009W) have
some little hardware difference with the G900F variant.
Add kernel variants, with klte variant for G900F (which is currently
supported) and kltechn variant for G9006/G9008/G9009W (newly added).
Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
This workaround is basically identical to the one recently
applied to soc-qcom-msm8916 (MR 4958).
Tested on xiaomi-tissot and xiaomi-daisy, where performance for
GTK4 applications goes from barely usable to fairly decent.
Closes: https://gitlab.com/postmarketOS/pmaports/-/issues/2220
Thanks: Nikita Travkin <nikita@trvn.ru>
Signed-off-by: Andrea Bolognani <eof@kiyuko.org>
[ci:skip-build]: already built successfully in CI
The modem requires firmware to be loaded from an on-device RADIO partition, samsungipcd does that. Not installing it prevents that firmware from being used.
[ci:skip-build]: already built successfully in CI
This package is dropped from Alpine and I don't think we need it..?
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
[ci:skip-build]: already built successfully in CI
With the new changes in lk2nd that allow us to support extlinux.conf and
with the U-Boot support with EFI, we can now generate image that would
be generic to these devices.
[ci:skip-build]: already built successfully in CI
Instead of just disabling it on armv7, we can only build it on aarch64
given that the patches applied only are relevant on that architecture
anyway.
[ci:skip-vercheck]: No need to increment pkgrel when only changing
architectures.
[ci:skip-build]: already built successfully in CI
This one has stalled a bit due to some upstream shenanigans,
but is now confirmed to be fine; since it hasn't been merged
yet, add it here manually.
[ci:skip-build]: already built successfully in CI
This new package covers all three variants of the tablet: the WiFi
version (SM-T310), the 3G version (SM-T311) and the LTE version
(SM-T315). It uses the linux-postmarketos-exynos4 kernel, like other
mainlined Exynos 4 devices.
- The 3 different variants of the lt01 will be merged into a single
main device package, so the old package is deprecated.
- We will now be using the mainline kernel, so the downstream kernel is
no longer necessary.
- Add a patch to fix a new build error.
The binaries are the same as for the other devices, we just need to add three
new NVRAM TXTs, so add them here since they don't make the package that much
larger.
eg25-manager is supposed to watch for the modem going away and recover it
automatically, but it doesn't seem to actually do anything.
Manually restarting eg25-manager in this situation does recover the modem.
This upstream issue https://gitlab.com/mobian1/eg25-manager/-/issues/47
is probably the same, and as that issue says, manually restarting eg25-manager
in this situation does recover the modem.
So this change adds a udev rule to automatically restart eg25-manager when
the modem dies. Common triggers for the modem dying are:
1. When the phone wakes up from suspend.
2. When an incoming call is disconnected, especially if the disconnect happens
very quickly after the call started, such as what happens when
phosh-antispam identified the call as spam.
3. When plugging or unplugging the phone from USB power, and when plugging
or unplugging other USB devices like keyboard from a connected dock.
udev shouldn't be used for spawning long-lasting processes,
but `rc-service start` will parent the process to the service manager and exit,
so that's fine. It does take a few seconds during which udev is blocked and
can't process other events, which udev also recommends against,
but in this case it's not a big deal IMO.
Fixes#2641
[ci:skip-build]: already built successfully in CI
The current invocation doesn't work:
$ busybox dc "100" "5" / p
dc: can't open '100': No such file or directory
Fix it so that it does:
$ busybox dc -e "100 5 / p"
20
One of the messages that is printed on failure was missing
the "WARNING:" prefix. Address that too.
Signed-off-by: Andrea Bolognani <eof@kiyuko.org>
GTK4 has switched to a new renderer. Unfortunately adreno a306 is
effectively abandoned in mesa and has many bugs which the new GTK
renderer now hits.
To allow us to still use GTK4 apps on the msm8916 based devices, force
the old renderer on them for now.
Fixes: #2681
[ci:skip-build]: already built successfully in CI
How to boot from USB drives:
1. Make sure the extcon has OTG support and included in initramfs
2. Make sure the PMIC supports the power to OTG devices, and included in initramfs. Otherwise, a hub with external power supply is required.
3. Make sure module `usb-storage` is enabled in initramfs
4. `pmbootstrap install --sdcard=/dev/<usb_drive>`
- postmarketOS/pmbootstrap@942ee20789 is required to ignore sdcard check. Thanks @ollieparanoid for the patch.
5. `pmbootstrap flasher flash_kernel`
6. Insert the USB drive to OTG and boot
[ci:skip-build]: already built successfully in CI
I contribute to this package from time to time, so let's add myself to
maintainers to represent it here.
[ci:skip-build]: already built successfully in CI
This upgrades kernel to 6.6.22 backporting fixes for major performance
issues of Microsoft Surface RT.
This also re-generates config with "make grate_defconfig pmos.config"
and adds pmb:kconfigcheck-uefi for surface rt.
Now as boot-deploy allows us to generate both boot.img and extlinux.conf
at the same time, enable generating the config for all msm8226 since it
will be used in the future lk2nd release. boot.img is still kept to keep
compatibility with current lk2nd releases and to allow system recovery
with fastboot when required.
[ci:skip-build]: already built successfully in CI
* Parse the file in python and ensure it is ordered alphabetically
* Ensure that we have at least as many gitlab nicknames in CODEOWNERS,
as there are listed maintainers in main and community devices. This
should help with enforcing that every maintainer is also listed in
CODEOWNERS, so they can be easily pinged via their gitlab nickname if
something for the device they maintain is happening.
[ci:skip-build]: already built successfully in CI
Sometimes we need to figure out the gitlab nicknames of maintainers and
co-maintainers as listed in the APKBUILDs, e.g. when a specific issue
appears that only happens with a given device. Or if we want to ping
all device maintainers in the testing phase for the new release.
So far it has been a very tiresome, manual process to figure out gitlab
nicknames from the maintainers in the APKBUILDs (involving git log
--follow and opening merge requests in browsers...). After some
discussion we figured it would be good to store it in the CODEOWNERS
file.
This also has the nice side-effect that maintainers get notifications if
the APKBUILDs they maintain get changed.
We configure editors via editorconfig file. Remove the modeline, it was
wrong anyway by setting "et" to expand tabs to spaces, where in reality
this file uses tabs.
pmOS does not support charge mode anyway, and boots to a full UI, but this vendor kernel disables touchscreen when booting in charge mode. Remove that check, so that the phone can be used as usual.
[ci:skip-build]: already built successfully in CI
The postmarketos-artwork-wallpapers-gnome package no longer exists. Now
we just depend on the postmarketos-artwork-wallpapers package.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Current 6.6 kernel has some features broken for xiaomi-polaris including
LCD and Wi-Fi.
Add two patches that fix these problems.
Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
[ci:skip-build]: already built successfully in CI
- kconfig changes from `pmb kconfig migrate`
- also enabled some USB serial drivers I wanted
- Reverts 7dcd3e014aa7, fixing bluetooth connections. This commit was
added after 6.8-rc6 and causes a regression. A revert was sent
upstream: https://lore.kernel.org/all/ZfMStHjwtCT1SW3z@hovoldconsulting.com/
[ci:skip-build] already built successfully in CI
Only temporarilly. This is in pmb_recommends, so does not need pkgver
bump. We can swap them back once it's built for armv7 in alpine, but
it's now blocking all MRs from merging.
[ci:skip-vercheck]
Reading the `ifname` of a gadget that has not been configured with a UDC
succeeds with the content `(unnamed net_device)` instead of failing.
So we need to explicitly check that a UDC was configured before we read
the interface name.
Ref: #2648
[ci:skip-build]: already built successfully in CI
Reading the `ifname` of a gadget that has not been configured with a UDC
succeeds with the content `(unnamed net_device)` instead of failing.
So we need to explicitly check that a UDC was configured before we read
the interface name.
Ref: #2648
A number of fixes:
- oem-amd-nonfree-fw no longer exists from c6306cb9b, and the fw here is
pretty much required for the device to be useful so it's added to
"depends=".
- drops the -vulkan subpackage since oem-amd-vulkan is doing the same
thing.
- force rootfs partition resize on boot, else the rootfs is too small
- disable unudhcpd, usb networking isn't working, and we don't need to
run it on any dedicated eth device
- use kernel with Valve's out of tree patches, to improve stability /
usefulness of device
fixes#2630
[ci:skip-build] already built successfully in CI
There are some important platform drivers that Valve has not upstreamed,
that are basically required for this device to operate well. I picked
those patches from the kernel tree they released for 6.5, and rebased
them onto 6.8.
Our config.txt is replaced (mv'ed to config.txt.old, maybe by alpine's
initramfs-generator?) and so our configuration does not have an
effect. Put our config stuff in usercfg.txt instead, which is included
by config.txt.
Fixes: https://gitlab.com/postmarketOS/pmaports/-/issues/2471
[ci:skip-build]: already built successfully in CI
Our config.txt is replaced (mv'ed to config.txt.old, maybe by alpine's
initramfs-generator?) and so our configuration does not have an
effect. Put our config stuff in usercfg.txt instead, which is included
by config.txt.
Also update vmlinuz name, should be vmlinuz-rpi and not vmlinuz-rpi4.
Name of package in aports is linux-rpi these days. linux-rpi provides
linux-rpi4 for backward compatibility, so depending on linux-rpi4
still works, but lets use real package name so that it is easier to
find.
Sometimes, there can be more than 10M of stuff collected for logging,
which breaks things.. bump the size to 32M which should still be small
enough for low end / old devices.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
These are now provided by linux-firmware-brcm, which subsequently causes
a conflict between these packages. Fix it by removing the symlinks from
the device package.
Closes https://gitlab.com/postmarketOS/pmaports/-/issues/2616
[ci:skip-build]: already built successfully in CI
Changes:
- use msm-firmware-loader
- use soc-qcom-msm8953
- cleanup firmware package
- add tqftpserv as a dependency for modem
- add modules-initfs with panel and touchscreen modules
[ci:skip-build]: already built successfully in CI
Since kernel 6.5 (I believe) the ucm config
need to be adjusted because the mic way too
sensitive. The other party hears a freight
train riding rails that are almost
perpendicular ...
This is an attempt to get the mic to work nicely.
[ci:skip-build]: already built successfully in CI
Makes modem work on fairphone-fp4 (sm6350/sm7225) and fairphone-fp5
(sc7280/qcm6490)
Patches are submitted upstream:
https://github.com/andersson/tqftpserv/pull/13
[ci:skip-build]: already built successfully in CI
A bunch of override files in postmarketos-base-ui-plasma seem to have come from the plasma-mobile ui package, which probably shouldn't be on desktop and bigscreen.
With Plasma 6, a lot of the overrides are now no longer necessary for Plasma Mobile.
Situation with each file:
- 000-gschema.override - This likely was for changing maliit themes and GTK title bar layout for Plasma Mobile, maliit theming was dropped (https://github.com/maliit/keyboard/pull/108), and title bar layout is now handled within Plasma Mobile
- kdeglobals - This was for setting the look-and-feel on Plasma Mobile and default browser, it's now handled within Plasma Mobile envmanager
- kwinrc - These were settings for disabling window decorations and setting the vkbd to maliit, which is now handled in Plasma Mobile envmanager
- kscreenlockerrc - This is to autolock the screen after login (tinydm autologs in), the file was for Plasma Mobile, I don't think we want it for Desktop since SDDM is used there
Drop duplicated dependencies, which have been already included
in postmarketos-base-ui-plasma:
- dnsmasq
- elogind
- elogind-openrc
- polkit-kde-agent-1
[ci:skip-build]: already built successfully in CI
Unfortunately we cannot get to a getty shell unless we also run:
setenv SWITCH_SEL 3
from the SBL shell. Furthermore, actually getting kernel output
requires setting console=ttySAC2,115200.
SWITCH_SEL might be related to the "MUIC" of the device, but the
variable also controls whether or not it is possible to get serial
output from pads on main board, and seems weird that those pads are
affected by MUIC (unless pads are also behind MUIC, but seems like
that would be very annoying when developing the device)
See also initial MR where mainline support for i9100 was added, where
serial output is also discussed:
https://gitlab.com/postmarketOS/pmaports/-/merge_requests/1598#how-to-get-serial-output
[ci:skip-build]: already built successfully in CI
Added postmarketos-base-downstream and msm-fb-refresher to jxelte
dependencies.
The modules_install and firmware_install targets install binary
files as the zram files among others.
Added the 'mfc_fw.bin' binary to be installed from the firmware
package.
The '0002-fix-usb-gadget-random-mac.patch' patch make it possible
to get ethernet over usb, and the 'disable-charging-bootmode.patch'
avoid error messages on dmesg about 'sec_battery_probe'.
[ci:skip-build]: already built successfully in CI
Most things in temp come from Alpine's aports repository, which has
different rules and does not for example mandate that files are not
marked as executable. As such, let's not require packages in there
to conform to our rules.
[ci:skip-build]: already built successfully in CI
Most things in temp come from Alpine's aports repository, which has
different rules and does not for example mandate that all files use tabs
instead of spaces. As such, let's not require packages in there to
conform to our rules.
Fix incomplete commit ecc91098a9 that
was missing the dependency on
"postmarketos-base-downstream-disable-udev-v4l".
Fix MR !4768
[ci:skip-build]: already built successfully in CI
This fixes building for linux-lg-vee7e, and adds a shared patch.
The shared patch replaces the "Solaris style flags" in piggy.gzip.S
[ci:skip-build]: already built successfully in CI
Commit fe54a7be4 ("device/msm8916*: Generate extlinux.conf (MR 4826)")
updated most users of msm8916 kernel to generate extlinux.conf.
Unfortunately the commands used to bulk-make changes only affected
aarch64 users of the kernel package and armv7 users were missed.
Apply the same changes to all armv7 users of msm8916 kernel too.
[ci:ignore-count]
This p4412_s_f2bl1.bin is signed by Samsung and allegedly originates
from a vendor bsp package for one of the early odroid devices based on
exynos 4412. Unlike most bl1 blobs this one does not check the
signature of bl2, allowing us to use open bootloaders like u-boot
instead of Samsung's proprietary sboot.
This installs all linux-firmware by default (using pmb_recommends) in a
way that allows for users to remove extraneous fw if they want.
The old `nonfree-firmware` packages have been dropped since pmbootstrap
no longer conditionally installs these.
[ci:skip-build]: already built successfully in CI
We have decided to not use the non-free firmware subpackages anymore,
read the details in the blog post. Allow direct dependencies from the
device packages to the firmware packages.
Related: https://postmarketos.org/edge/2024/02/15/default-nonfree-fw/
[ci:skip-build]: already built successfully in CI
This switches from 6.1 LTS to 6.6 LTS.
Unfortunately, this version has regressions related to SPI (breaks keyboard)
and DRM (breaks display). Thus adding patches to revert these regressions.
Hopefully, these will be properly fixed until the next LTS release.
This also makes it pass community kconfig check again.
[ci:skip-build]: already built successfully in CI
- Fixes FDE unlocking on devices with usb keyboards
- Also drops the i915 module from the initfs, this is specified by the
oem-intel package now
[ci:skip-build] already built successfully in CI
/dev/pmsg0 may be created by pstore driver. When it is available,
write logs into it so logs can be recovered through pstore after
a failed boot. This is useful for devices without console or hard
to get console.
On HTC devices with S-On still active, the 'userdata' partition
is not writable. Change the default rootfs partition to the
'system' partition, which is writable.
Now as boot-deploy allows us to generate both boot.img and extlinux.conf
at the same time, enable generating the config for all msm8916 since it
will be used in the future lk2nd release. boot.img is still kept to keep
compatibility with current lk2nd releases and to allow system recovery
with fastboot when required.
[ci:skip-build] already built successfully in CI
[ci:ignore-count]
Crappy workaround, it's better than having DNS broken...
See: https://gitlab.com/postmarketOS/pmaports/-/issues/2601
Also removed it from shellcheck, because SC doesn't like all of the
unused/unreachable things after the `exit 0`. This commit should be
reverted when the issue is actually fixed later...
[ci:skip-build] already built successfully in CI
* Depend on the common soc-qcom-sm7150 package
* Set console=null in cmdline
* Add touchscreen firmware to initramfs
* Add required modules for touchscreen to modules-initfs
* Panel output works, drop phoc.ini
* Switch maintainer and co-maintainer
* Bump pkgrel to 1.2
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
this allows to opt-out of usb-tethering on pmOS devices with
`apk add !postmarketos-base-ui-networkmanager-usb-tethering`
this is useful for developers with laptops on pmOS / dailydriving
those laptops on pmOS.
[ci:skip-build]: Already built successfully in CI.
hwclock default configuration is to use the S3C RTC, which is mapped to
/dev/rtc0. However, reading from this clock fails with the following
kernel message:
"s3c-rtc 101e0000.rtc: hctosys: unable to read the hardware clock"
and the time as boot is then always set to 1/1/1970.
This commit change the default RTC to the MAX77686 one (mapped to
/dev/rtc1), that does not suffer from this issue.
Signed-off-by: Alexandre Marquet <tb@a-marquet.fr>
The adjustments made by this script are unnecessary now that the device
runs a mainline kernel, and more importantly the brcmfmac driver (as
opposed to the bcmdhd driver used in the vendor kernel).
Signed-off-by: Alexandre Marquet <tb@a-marquet.fr>
With the pmbootstrap change let's change the deviceinfo variable names
to the non-deprecated version.
[ci:ignore-count]
[ci:skip-build]: already built successfully in CI
These apps are useful to have on the full GNOME desktop too, and this
removes the need to duplicate package lists across UI meta packages that
depend on the base gnome UI package.
Some devices take time to initialize storage, e.g. Qualcomm laptops
using ADSP need to load firmware firstly, and initramfs script does
not always manage to mount boot partition in time.
Unfortunately, there is no reliable way to reproduce the issue, but
this patch should fix cases like this.
This commit also removes librecomputer-solitude/alta device tree patches
as they're now upstream.
Signed-off-by: Ferass El Hafidi <vitali64pmemail@protonmail.com>
[ci:skip-build]: already built successfully in CI
aports' community/crust package generates a crust-pinephone subpackage
that is equivalent to pmaports' current main/crust package, that is,
the crust-pinephone subpackage contains the SCP firmware binary needed for
the PinePhone. The aports crust package itself only contains a LICENSE file.
Furthermore, aports' package updated to v0.6 recently, so apk would pick it
over pmaports' v0.5 package, which would cause the build to fail because of
the missing SCP firmware binary.
This change fixes the build of u-boot-pinephone by switching the dependency to
the aports crust-pinephone package.
Move the files to initramfs-extra, so the initramfs is not too big for
ChromeOS devices. I had initially added this to initramfs, because
otherwise the graphics on my Thinkpad L14 would not come up. But I
verified that it also works with having it in initramfs-extra.
Fixes: #2578
This device has no maintainers specified, and, though I did not port this
device, I have one and I maintain linux-postmarketos-exynos5, so it is
probably okay for me to take maintainership of it.
As for several other exynos devices we need to disable the
video4linux's udev rule OR disable FIMC IS and patch kernel to fix
build error without FIMC IS.
Add dependency on postmarketos-base-downstream-disable-udev-v4l to
override the v4l rule with symlink to /dev/null. We can then drop
FIMC IS patch and keep kernel config more similar to original one.
As for several other exynos devices we need to disable the
video4linux's udev rule OR disable FIMC IS and patch kernel to fix
build error without FIMC IS.
Add dependency on postmarketos-base-downstream-disable-udev-v4l to
override the v4l rule with symlink to /dev/null. We can then drop
FIMC IS patch and keep kernel config more similar to original one.
We want both klimtwifi and klimtlte to be able to depend on
firmware-samsung-klimt, for both their downstream and mainline kernel
variants.
Previously we used install_if like:
install_if="device-samsung-klimtlte-kernel-mainline" which will only
work for klimtlte and not klimtwifi. Instead we add two nonfree
subpackages to the device packages that install_if's depending on
kernel choice.
We want both chagallwifi and chagalllte to be able to depend on
firmware-samsung-chagall, for both their downstream and mainline
kernel variants.
Previously we used install_if like:
install_if="device-samsung-chagallwifi-kernel-mainline"
which will only work for chagallwifi and not chagalllte. Instead we
add two nonfree subpackages to the device packages that install_if's
depending on kernel choice.
Provides firmware files that are common for all Samsung devices based
on Exynos 5420 when using Samsung's vendor kernel.
For now the package contains mfc, sound and bluetooth firmware. Sound
and bluetooth do not work at the moment, but lets package the required
files anyways.
Postmarketos-base-downstream-disable-udev-v4l symlinks
/lib/udev/rules.d/60-persistent-v4l.rules to /dev/null, so depend on
this package instead. The dependency is added to downstream kernel
subpackage, as issue *should* only affect downstream kernel.
[ci:ignore-count]: many device packages updated at the same time
[ci:skip-build]: already built successfully in CI
Postmarketos-base-downstream-disable-udev-v4l symlinks
/lib/udev/rules.d/60-persistent-v4l.rules to /dev/null, so depend on
this package instead. The dependency is added to downstream kernel
subpackage, as issue *should* only affect downstream kernel.
Postmarketos-base-downstream-disable-udev-v4l symlinks
/lib/udev/rules.d/60-persistent-v4l.rules to /dev/null, so depend on
this package instead. The dependency is added to downstream kernel
subpackage, as issue *should* only affect downstream kernel.
Which replaces /lib/udev/rules.d/60-persistent-v4l.rules (from the
eudev package) with a symlink to /dev/null. Around 20 devices need
this to fix a kernel panic with downstream kernel when starting udev.
Issue happens due to that camera firmware is missing and/or not loaded
properly.
Since audio over DisplayPort (over USB-C) is supported in the kernel,
add a UCM config to complete support.
To be clear, this might not work out of the box yet, I hope it'll start
working better when another audio route (speaker or microphone) is
working from kernel side.
[ci:skip-build]: Already built successfully in CI.
Since the GPU is supported since a while enable
deviceinfo_gpu_accelerated to let pmbootstrap show UIs like phosh.
Also with modem working with patched tqftpserv, we need the
msm-modem-uim-selection dependency, so add that as well.
In mainline Linux these paths will be used, move the firmware packaging
there. By doing this we drop downstream support. Support could be
restored by adding some symlinks in a downstream-specific package if
required.
We also start squashing the firmware into .mbn format with pil-squasher.
For now we keep the files in _wififiles in their old location, I'm not
sure yet where they need to go since I didn't have wcnss working on
mainline yet.
The configfs gadget can provide the actual interface name, which may not be
the default "usb0" since another gadget driver might have claimed "usb0".
This code is based on the `start_unudhcpd` function in `init_functions.sh`
[ci:skip-build] already built successfully in CI
Before this change the script assumed that the device has only one UDC.
However it is possible for a device to have multiple UDCs, in which case
the deviceinfo is the appropriate place to specify which one should be used.
This change adds an optional deviceinfo variable `deviceinfo_usb_network_udc`
to specify the UDC that should be used.
Also, before this change the script assumed the USB network interface name is
"usb0". But other gadget drivers like `g_cdc` can claim USB interfaces
before the initramfs script gets around to creating one for USB networking,
so the interface might be "usb1" or something else. The configfs gadget itself
can provide the actual interface name, so this change makes the script
use that.
Required for getting mobile data up, otherwise ModemManager fails to
connect with:
Status | connected: no
| connection error name: org.freedesktop.ModemManager1.Error.MobileEquipment.Unknown
| connection error message: failed to create net link for device: failed to add link for device: Could not allocate link: Failed to add link with mux id 1: Netlink message with transaction 27 failed
[ci:skip-build]: already built successfully in CI
Required for getting mobile data up, otherwise ModemManager fails to
connect with:
Status | connected: no
| connection error name: org.freedesktop.ModemManager1.Error.MobileEquipment.Unknown
| connection error message: failed to create net link for device: failed to add link for device: Could not allocate link: Failed to add link with mux id 1: Netlink message with transaction 27 failed
In many cases, when fw is installed in /lib/firmware, some of it ends up
in the initramfs. In those situations, mkinitfs should run so that the
initramfs gets the latest fw. This will result in mkinitfs possibly
running in cases where it doesn't matter (i.e. device has fw in
/lib/firmware but none is used in the initramfs), but I think the
trade-off is worth it.
This also breaks the triggers= line into multiple lines so that it's
easier to review/maintain. We can't prepend whitespace on these lines
since the apkbuild parser expects dirs to be separated by ":"
Previously, the modem firmware would be loaded from the modem partition
using this firmware loader. As of the 6.5.4 SDM670 kernel upgrade, the
firmware is installed and loaded from the firmware package. Drop the
dependency on the msm-firmware-loader, which is now unused.
We do not want this going forward as we will be changing the wallpaper
on a bi-yearly basis and we do not want to have perform shotgun surgery
every time we do so.
[ci:skip-build]: already built successfully in CI
Krane doesn't have a headphone jack, which caused audio server issues
for me. Add a check to only enable the headphone and headset mic device
on non-Krane boards. Also improve the formatting and remove
ChromeOS-specifc options.
[ci:skip-build]: already built successfully in CI
I was building a branch archive previously, which meant that rebuilding
would fail if someone pushed to the branch upstream (the archive
checksum would change)... so I've reverted back to building from a
specific commit for now.
pkgrel was increased because this commit includes a couple of
audio-related patches that weren't included in the previous packaging of
the 6.7 branch.
[ci:skip-build] Already build-tested on Gitlab CI
Similarly to how it was done for xiaomi-beyllium with varying
display panels, add kernel variant for clover-plus.
Mi Pad 4 Plus is very very similar to regular Mi Pad 4,
but it has different panel and different touchscreen.
Therefore it uses different device tree in kernel - and it
is the only changed line in deviceinfo file.
Signed-off-by: Alexey Minnekhanov <alexeymin@postmarketos.org>
[ci:skip-build]: Already built successfully in CI.
In order to make it work properly, the fcc unlock script from MM should
also be enabled... This info will be added to the device's wiki page for
now since upstream MM discourages distros from enabling these unlock
scripts by default...
fixes https://gitlab.com/postmarketOS/pmaports/-/issues/2489
[ci:skip-build]: Already built successfully in CI.
The fbdev backend was removed with Weston 10 which has been out for a
good while now. As such, it doesn't matter whether Xwayland works or not
since Weston won't work at all --- the DRM backend, which is what would
get used instead of fbdev with this removed, won't work on downstream
kernels like the one used by this device.
[ci:ignore-count]
[ci:skip-build]: Already built successfully in CI.
The fbdev backend was removed with Weston 10 which has been out for a
good while now. As such, it doesn't matter whether Xwayland works or not
since Weston won't work at all --- the DRM backend, which is what would
get used instead of fbdev with this removed, won't work on downstream
kernels like the one used by this device.
There is no dri-backend.so. I don't know if this ever existed. May have
been a typo where the author meant to type drm-backend.so. The DRM
backend should be the default anyway, so just remove it instead of
fixing what may have been a typo.
The fbdev backend was removed with Weston 10 which has been out for a
good while now. This device should be able to use the DRM backend
anyway given that it uses the A64 SoC which also e.g. the PinePhone
uses.
Additionally, the comment about Xwayland being broken contradicts the
actual configuration file where Xwayland actually is being enabled
(xwayland=true), so this shouldn't be causing any regressions even if it
actually is broken.
The fbdev backend was removed with Weston 10 which has been out for a
good while now. As such, Weston won't work with the downstream port
anyway which is likely where Xwayland supposedly was broken. As such,
remove this unnecessary configuration file.
We did set these variables, so it is possible to flash boot and root
partitions separately for booting with stock partition table. This
is useful for U-Boot as secondary bootloader. But it's not good for
U-Boot as primary bootloader because the resulting images have boot
and root partitions separated, so users have to create partitions
themselves and this is very confusing.
I'm suggesting to disable it in favor of doing U-Boot as primary
bootloader, this may be harder for users, but it needs to be done
only once, and this way is more fancy and is supported on more
devices than secondary bootloader.
If someone still wants to use this port with U-Boot as secondary
bootloader they can do "pmbootstrap install --split" and
"pmbootstrap export" to get 2 separate partitions to flash.
[ci:skip-build]: Already built successfully in CI.
bcm4330 has 2 wifi sdio firmwares, one with IEEE 802.11а support
and one without. One without was missing which caused some
devices to have wireless network issues.
Additionally Oyua specific bluetooth firmware was found and it
is included as well.
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
[ci:skip-build]: Already built successfully in CI.
Fixes#2349. Patches refreshed because some didn't apply when I built
directly from local repo and tried to import them with "git am".
Known issue: NetworkManager fails to assign IP to usb0, I had to
assign it manually to use USB networking.
In the mainline ds2482 onewire kernel driver, active_pullup defaults to
1 which is setting the APU register. This caused the connection to the
ds2784_battery slave to be unstable and flaky. In the AOSP manta project
this flag is set to 0 as well.
2024-01-11 07:57:08 +03:00
1602 changed files with 142976 additions and 12877 deletions
pkgdesc="Modem, WiFi and GPU Firmware, also needed for osk-sdl"
depends="
firmware-oneplus-sdm845>=9
firmware-oneplus-sdm845-initramfs
hexagonrpcd
soc-qcom-sdm845-nonfree-firmware
soc-qcom-sdm845-modem
Loaded 100 of 1602 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.