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
- 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
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.
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
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
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
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
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]
* 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>
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
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.