trailblazer is a bleeding edge, unstable target for EFI capable ARM64
devices. It runs linux-next and should otherwise be adjusted to support
as many devices as possible.
The goal of trailblazer is to motivate more upstream kernel development by
providing a tighter feedback loop (patches land in -next weeks before they
make it into mainline or stable), as well as encouraging more generic
solutions to the device specific hacks we have in userspace.
On supported devices, trailblazer should reflect the current state of
upstream. It allows users to easily appreciate what feature are
unavailable, and more importantly appreciate when a new feature does get
added upstream.
Due to the instability of linux-next, the plan is to have BPO build
trailblazer images nightly, so if next breaks then the images should
only be broken for a day.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Introduce a linux-next kernel with postmarketOS configs and some
additional device specific configs enabled.
This kernel package will be updated daily to the latest -next tag.
breakages expected. It is designed to be used in tandem with a generic
ARM64 device package to provide a bleeding edge option for those with
EFI capable bootloaders.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
I'm not able to give this device the attention it deserves.
This also removes me from maintaining fw and kernel packages used by the
L5, and adds the current L5 maintainers to those packages.
[ci:skip-vercheck]
[ci:skip-build]: already built successfully in CI
Depend on msm-firmware-loader, firmware- and soc- packages.
Sort deps alphabetically.
Tidy up deviceinfo:
* add flash_kernel_on_update
* remove unneded things from kernel cmdline
[ci:skip-build]: already built successfully in CI
Currently it requries the check_code result check in the
vendor uboot to be disabled as explained in the wiki.
Booting directly via reconfigured boot order still
does not work. It hangs somewhere in the kernel.
Firmware for Wifi/BT is not included yet.
It could use the linux-postmarketos-omap kernel in the future,
but there are still some dirty things in there e.g. for sound
which are not suitable for a multi-device kernel.
[ci:skip-build]: already built successfully in CI
Bump to the 6.6.32 release, including updating the config with the
latest changes from Purism.
Signed-off-by: Alistair Francis <alistair@alistair23.me>
[ci:skip-build]: already built successfully in CI
PineTab 2 is a successor to the original PineTab from PINE64 released
in mid-2023.
The tablet came with DanctNIX's fork of Arch Linux ARM, comes with
K Desktop Environment as the UI and available with 64GB eMMC/4GB RAM
or 128GB eMMC/8GB RAM.
Changelog since 6.7:
General:
* Adreno 5xx preemtion is now disabled due to hangs it causes.
This makes GPU a lot more cooperative on these platforms.
* Fixed absence of zap-shader region which caused devices with
GPU enabled to freeze the whole system.
* Fixed ath10k Wi-Fi not connecting to 5Ghz networks.
* Incorporated in-kernel pd-mapper patchset, therefore userspace
pd-mapper daemon is not required.
* Kernel cmdline from bootloader is no longer ignored completely,
in other words, not hardcoded. You can now modify cmdline in
deviceinfo file and changes in that file will not be ignored.
Devices:
* Xiaomi Redmi Note 7 (lavender):
* split device trees into 2 variants by panel type (Tianma & BOE)
* GPU + panel support for 2 variants
* Vibrator support
* Connectivity: modem, Wi-Fi and bluetooth support.
* Other/all devices:
* update device trees according to upstream USB stack changes
(related to USB 3 phy support)
Install script into /etc/profile.d with workaround for mesa bugs.
This makes most SDM660 devices usable for general people out of the box.
Signed-off-by: Alexey Minnekhanov <alexeymin@postmarketos.org>
Add msm-firmware-loader, soc-qcom-sdm660-rproc, firmware-xiaomi-lavender
and firmware-qcom-adreno-a530 as dependency. This is necessary to make
Wi-Fi and modem work.
Add support for panel drivers.
commit 933f2b5703 ("device-nokia-n900: improve sxmo-dwm support [MR 5227]")
accidentally removed sxmo lock state initialization. Restore the lock state
initialization
Phoc now defaults to 1,25 as scale on skomer, which while not perfect,
is good enough and lets the device be unlocked. As such, let's remove
this configuration file and encourage improvements upstream instead.
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/4541
170189393b (device-nokia-n900: add upower support and config (MR 4397) added
an upower config, but did not provide a subpackage to actually install it on
device. Add the needed subpackage.
[ci:skip-build]: already built successfully in CI
(1) the deviceprofile differs from upstream 1.16.3 in the following respects:
(a) -export SXMO_NO_KEYBOARD=1 - allow use of the virtual keyboard
(b) +export SXMO_DMENU_LANDSCAPE_LINES="10"
+export SXMO_DMENU_PORTRAIT_LINES="6" - these two adjust the size of the
displayed dmenu menu.
* NB: All foregoing changes are already merged in sxmo-utils master.
(c) +export SXMO_TOUCHSCREEN_ID="TSC2005 touchscreen" - allows sxmo to
reliably toggle touch screen's enabled status
* The foregoing change is awaiting acceptance by upstream.
(2) The start hook differs from upstream 1.16.3 by the removal of the line that
starts conky. That program pegs N900 CPU usage at 100% all the time. This
change is not upstreamable, at least not for the time being
At some point the driver started using symlinks w/ machine IDs for
finding/loading fw, and for some reason I thought it was a good idea to
not install those symlinks.
Fixes this failure when loading the brcmfmac driver:
brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43752-sdio.purism,librem5r4.bin failed with error -2
[ci:skip-build]: already built successfully in CI
With the current kernel, ds2482 w1<>i2c module is not automatically
loaded at boot, which prevents loading the ds2784 battery module.
Signed-off-by: Alexandre Marquet <tb@a-marquet.fr>
[ci:skip-build]: already built successfully in CI
This fixes op6 display panel support, drm error spam in dmesg, and
various other minor things.
It also enabled dynamic debugging and ftrace.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
For now, limited support without graphics. Graphics
support would need messing and detecting board variants.
especially since Rev B seems to need a vcom setting per batch.
[ci:skip-build]: already built successfully in CI
Add support for the Xiaomi Miatoll phones. There are currently two
device trees in the upstream kernel.
Signed-off-by: David Wronek <david@mainlining.org>
The original maintainer unfortunately has bricked their phone. Drop the
device package in preparation for the SM7125 kernel upgrade.
Signed-off-by: David Wronek <david@mainlining.org>
The device trees for this phone have never been upstreamed
unfortunately. Drop the device package in preparation for the SM7125
kernel upgrade.
Signed-off-by: David Wronek <david@mainlining.org>
These modules are required in the initramfs when booting a kernel that
builds them as modules (i.e. not builtin)
[ci:skip-build] already built successfully in CI
Since 6.10-rc1 python3 is now a hard requirement to compile the kernel,
it's used to generates headers for drm/msm. Add it now so our CI can
keep working.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
He did an awesome job adding an initial port for this device but hasn't
helped to maintain it, so I'm removing him from the list of active maintainers.
And remove the compatibility symlinks again, all kernels running now
should use the .mbn files already.
[ci:skip-build]: already built successfully in CI
Copied from qemu-amd64. Enabling support for EFI boot allows me/others
to easily test pmOS EFI boot loader and config changes. Legacy BIOS boot
will still work, see 22c602096 for details.
[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.
- 0016-Define-orientation-and-rotation-for-PinePhone-camera.patch
The patch is now present in upstream so it has been removed.
---
The issues found with the previous upgrade to 6.8.4
( 646e0b50df ), ie reliably receiving calls
in suspend ( #2734 ) and the headset / headphones detection being broken
because of the jack detection changes ( #2738 ) have been fixed.
[ci:skip-build]: already built successfully in CI
Adjust the sensor firmware paths for hexagonrpcd 0.3.1.
Also drop board-2.bin file which is now upstream and use upstream mba.mbn
and wlanmdsp.mbn.
[ci:skip-build]: already built successfully in CI
This causes a lot of spam in dmesg about "failed to allocate compressor transform", making it nearly impossible to search anything in the system logs.
This option has nothing to do with zram.
[ci:skip-build]: already built successfully in CI
Contains fix for Poco F1 display issue when booting and enables sensor
support for Poco F1.
[ci:ignore-count]
[ci:skip-build]: already built successfully in CI
- Enable KVM support (for using with slbounce!)
- Disable RT_GROUP_SCHED, community device kernel requirement
[ci:skip-build]: already built successfully in CI
These kernels must have NLS_ASCII set after bb6d7a05b, or else they
cannot mount the ESP as /boot and boot fails. This kconfig option will
be added to the pmb efi kconfig check so that this is caught in the
future pre-merge.
fixes 3909b1dbf and bb6d7a05b
[ci:skip-build] already built successfully in CI
Unmaintained is a name which on multiple occasions have seen lead to
confusion with people having the impression that unmaintained is for all
unmaintained devices, which is not how we're really using it. Many
devices in testing do not actually have a maintainer, yet there has been
no push to move these out of there and into unmaintained.
I think this is a result of that unmaintained was introduced not to keep
unmaintained ports but rather a place to store ports that have a better
replacement but where the inferior one still holds some sort of value,
such as for debugging purposes. These ports also are not necessarily
entirely unmaintained and see more fixes than many ports in testing.
While one approach to solving this problem could be to simply moving all
unmaintained ports to unmaintained, I think this comes with some
problems: It would require an initial effort to figure out which ports
are indeed unmaintained and which just don't have a maintained noted in
the package, and given how many ports there are in testing this would be
a big endeavour. It would also require continuous work on moving ports
into unmaintained as the maintainers go silent if we are to keep testing
and unmaintained's state consistent with reality. Additionally, just
because a port doesn't have a maintainer on paper doens't mean that
there aren't people who aren't willing to fix it up if there are issues
that arise.
As such, I think the way to go is renaming unmaintained to better
reflect the original intent. Thanks to Luca Weiss for suggesting
"archive", and to Arnav Singh for suggesting that "archived" would match
the other category names better.
Default answers to `pmbootstrap kconfig migrate` with 'y' to any
seemingly relevant Mediatek entries.
[ci:skip-build]: already built successfully in CI
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