Heavily based on z3ntu's work on FP5, thanks for all your work!
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
[ci:skip-build]: already built successfully in CI
pipewire-media-session was dropped in alpine in
4dc6a181bf590339f29a279fb7c4b9ae3c26c5fa, more than one year ago, so
this should be safe
While at it, also drop pipewire dependency, that is now a dependency
of postmarketos-base-ui
pipewire-media-session was dropped in alpine in
4dc6a181bf590339f29a279fb7c4b9ae3c26c5fa, more than one year ago, so
this should be safe
While at it, also drop the dep on pipewire, since it's taken care by
pmos-base-ui now
No longer builds, can't be bothered to investigate why as the error is
unusual and I don't understand it. See issue linked below for more
detailed information.
Clsoes https://gitlab.com/postmarketOS/pmaports/-/issues/2798
[ci:skip-build]: already built successfully in CI
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
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
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.
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
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)
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
Move goodix calibration rules to an subpackage because only the
replacement controllers are need this.
[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
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>
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
( f9e3e7ea4e )
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
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
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
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 data is not 100% accurate, but it's the best I've got
and it makes the device usable, which it currently isn't.
Closes: https://gitlab.com/postmarketOS/pmaports/-/issues/2647
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
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
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
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