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
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.
This is a device-specific package. The only device that depends on
this, device-nokia-n900, is in community, so let's move it there too.
[ci:skip-build]: already built successfully in CI
Also start squashing the .mdt files into .mbn and provide compatibility
symlinks so old kernels that look for .mdt still find it.
Also move the zap firmware into a device-specific subdirectory.
Symlinks for venus are skipped since that one's not used in any
production branch yet for sm7225.
[ci:skip-build]: Already built successfully in CI.
The panel driver has been renmaed in the kernel sources to be in line
with what's going to be upstreamed.
[ci:skip-build]: Already built successfully in CI.
Add the Portugese/Spanish keymap. Similarly to the Finnish/Swedish
keymap, it's compatible with both Portugese and Spanish keyboards.
Also, modify x11-keymap so that the Portugese/Spanish map will use
Alt+Shift to enter an underscore in the F key and a backslash in the C
key, which was done to avoid redundancy with the "Ñ" key.
Signed-off-by: Lux Aliaga <lux@nixgoat.me
[ci:skip-build] already built successfully in CI
Manual config changes:
* DRM_MSM=m (there's a race condition, genpd_power_off_unused needs to
turn off mdss_gdsc before the display driver inits, otherwise screen
stays black)
[ci:skip-build]: already built successfully in CI
hexagonrpcd is necessary to provide access to the filesystem for the SDSP.
Also, OP6T accelerometer is mounted differently than the screen, adjust
it with a mount matrix. This way, screen rotations follow the actual
screen rotation by the user.
hexagonrpcd is necessary to provide access to the filesystem for the SDSP.
Also, OP6 accelerometer is mounted differently than the screen, adjust
it with a mount matrix. This way, screen rotations follow the actual
screen rotation by the user.
SHIFT6mq accelerometer is mounted differently than the screen,
adjust it with a mount matrix. This way, screen rotations follow
the actual screen rotation by the user.
Remove the gtk tweaks, they break the UI now, presumably because I've
added proper notch config for FP4 to the gmobile project.
Also we can remove the phoc.ini since nowadays phosh can properly scale
itself based on the screen information and doesn't need this static
config anymore.
[ci:skip-build]: already built successfully in CI
In order to get stable WiFi and Bluetooth MAC addresses, install the
bootmac service by default.
Also as noted in other device package reviews, qbootctl-openrc should be
a dependency so the post-install/post-upgrade script will definitely
have the openrc service available.
[ci:skip-build]: already built successfully in CI
Drop all the non-sdm845 DTBs. This saves about 12MiB
of space in /boot
Signed-off-by: Caleb Connolly <caleb@connolly.tech>
[ci:skip-build]: already built successfully in CI
For some reason kernel does not print anything to ttySAC3 even with
console=/dev/ttySAC3. If earlycon is specified it prints the early
stuff though.
Add ttySAC3 in both places anyways since that should be the correct
uart.
EFI booting with systemd-boot requires building the kernel with ZBOOT -
the EFI decompressor stub. However, this breaks the old Android booting.
Detect when ZBOOT is enabled and install both vmlinuz.efi as well as the
old gzipped kernel image.
To help make this upgrade more seamless, continue to support building
the kernel with ZBOOT disabled and just print a warning.
Disable module stripping - we compress them anyway and a recent kernel
change seems to have caused some bug here.
This is a packaging change that doesn't require rebuilding the kernel.
[ci:skip-vercheck]
Linux 6.7-rc1 looks for the venus (video) firmware in
qcom/venus-1.8/venus.mbn instead of qcom/venus-1.8/venus.mdt.
Let's install it in both places with a symlink so that the firmware
packages work for both older and newer Linux versions.
[ci:ignore-count]: lots of packages
[ci:skip-build] already built successfully in CI
- Update to Linux v6.6
- Lots of cleanup and upstreaming, more than 40 commits upstreamed
for 6.7
Device changes:
- Add KTD2026 LED driver, used by bq-paella, bq-piccolo and
acer-a1-724
- bq-piccolo: Set proximity near level to fix detection in
iio-sensor-proxy
New devices:
- Vivo Y21L
- eMMC, SD card, USB, Buttons, WiFi/BT
- Sensors (Accelerometer, Magnetometer, Light)
- No display yet
[ci:skip-build]: already built successfully in CI
Some firmware packages has only a WCNSS config file, which is decoded
from base64 uploaded to Pastebin, and there is nothing to unpack.
[ci:ignore-count]
[ci:skip-build]: already built successfully in CI
Backported from our development branch:
- SPI flash for chromebooks;
- support for samsung-manta (see !4406 for status);
- fix performance of video decoder which drastically reduces lag when streaming games.
[ci:skip-build]: already built successfully in CI
Adjust to change in Alpine that moved rockchip to single image:
https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/51827
Fix for:
ERROR: The following firmware binary does not exist in the rootfs_pine64-rockpro64 chroot: /usr/share/u-boot/rockpro64-rk3399/idbloader.img
[ci:skip-build]: already built successfully in CI
Due to symlinks from linux-firmware-ath10k apk is now pulling in
linux-firmware-qcom which already provides a630_sqe.fw.
Since this file is not device/vendor-specific we can really use the file
from linux-firmware and not provide our own. For the record,
a619_gmu.bin also shouldn't be device-specific but currently
linux-firmware doesn't provide that one.
Also just pulling linux-firmware-qcom for this tiny file is pretty space
inefficient but due to the symlink dependency mentioned above, just
removing this file for now from the firmware package removes the file
conflict reported by apk:
ERROR: linux-firmware-qcom-20230919-r1: trying to overwrite lib/firmware/qcom/a630_sqe.fw owned by firmware-fairphone-fp4-adreno-20230215-r1.
[luca: update commit message to reflect dependency situation, update
packaging code a bit]
This release includes security fixes.
Changes:
- 161e7f1ed3
- ba16d92aa0
Change-Id: Ibf3c6871cbe044f23091ccfe8a03869d38fb3851
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
[ci:skip-build]: Already built successfully in CI
Fixes broken fde as reported in https://gitlab.com/postmarketOS/pmaports/-/issues/2314.
Both Tianma and EBBG variant use the upstream touchscreen drivers in 6.5.
Add them to the initramfs as it was missed when upgrading to 6.5 kernel release.
[ci:skip-build] already built successfully in CI
Provide common board-2.bin file, extended from linux-firmware.
This file will be temporarily provided and dropped once all devices
are added to upstream linux-firmware's board-2.bin file.
Provide common board-2.bin file, extended from linux-firmware.
This file will be temporarily provided and dropped once all devices
are added to upstream linux-firmware's board-2.bin file.
Provide common board-2.bin file, extended from linux-firmware.
This file will be temporarily provided and dropped once all devices
are added to upstream linux-firmware's board-2.bin file.
Add rt5033 modules to initfs for the following devices, to unlock FDE with
USB OTG keyboards:
- Samsung Galaxy Ace 4
- Samsung Galaxy Core Prime
- Samsung Galaxy Grand Prime
- Samsung Galaxy S4 Mini Value Edition
[ci:ignore-count]
[ci:skip-build]: already built successfully in CI
Add rt5033 modules to initfs for the following devices, to unlock FDE with
USB OTG keyboards:
- Samsung Galaxy A3/A5/A7
- Samsung Galaxy E7
- Samsung Galaxy Grand Max
- Add support for upower, in order to enable automatic shutdown when battery is
critically low
- Set UPower PercentageLow threshold to 10% so it triggers even when fuel gauge
is not calibrated (see estimations provided in 4b54fc7f83:
"linux-postmarketos-omap: add N900 battery capacity estimation")
The display panel for these devices was upstreamed and now uses a
different name. Update it so the display is loaded properly.
[ci:skip-build]: already built successfully in CI
Provide a rough battery capacity estimation for the bq27200 fuel gauge inside
Nokia N900. This is useful when the fuel gauge is out of calibration and a
learning cycle cannot take place due to broken USB/charging port on the device.
[ci:skip-build]: Already built successfully in CI
It seems like the driver name has changed *again* in 6.5.x kernels, so
let's just have both drivers in the initramfs to help with migrating
between newer/older kernels and any future flip/flopping of drivers.
This is a bit of a hack... it works because missing modules are not
fatal for mkinitfs. The reason why they aren't fatal is that whether or
not it's builtin is somewhat arbitrary... there's an open issue[1] for
mkinitfs to make this smarter, i.e. throw an error if the .ko doesn't
exist AND it's not builtin for the *installed* kernel.
When that's implemented then this patch would likely result in mkinitfs
failing on this device because one of those drivers may not be installed
or builtin. I don't have time to implement this in mkinitfs, so adding
this crude workaround of just including both seemed like a reasonable
thing to do since the 6.5 kernel will break fde on this device (this has
happened before).
[ci:skip-build]: already built successfully in CI
- add keyboard driver to initramfs (twl4030_keypad & matrix_keymap)
- order modules in alphabetical order
[ci:skip-build]: Already built successfully in CI
Fix shutdown regression introduced with 3e737241ba ("linux-postmarketos-omap:
N900: disable twl off idle features"). After that commit, shutdown never
completes.
[ci:skip-build]: Already built successfully in CI
Disable twl pmic off-idle configuration for Nokia N900. An ugly patch to do
this was lost during the migration from linux-nokia-n900 to the shared omap
kernel.
Fixes#2161
[ci:skip-build]: Already built successfully in CI
Switch to urxvt terminal in order to provide a scrollable terminal. Scrolling
is convoluted in st [1], especially when used on a mobile device.
Scrolling is a basic need, e.g. to page through `dmesg` output.
[1] https://git.suckless.org/st/file/FAQ.html#l21
Save a few CPU cycles by dropping conky. Additionally, the existing config has
not been working for a long time now, and no one missed it.
For completeness, it was no longer displaying on the desktop. Manually starting
it showed:
```
conky: X Error: type 0 Display b5e73620 XID 1302 serial 97 error_code 10 request_code 2 minor_code 0 other Display: b5e73620
```
There are instructions [1] to resolve/workaround it, but we clearly do not have
a pressing need for conky to begin with.
[1] https://github.com/brndnmtthws/conky/issues/1443#issuecomment-1557793718
[ci:skip-build]: already built successfully in CI
The OMAP 3430 in the Nokia N900 is a uniprocessor SoC, so disable SMP via
kernel command line. This appears to alleviate the ongoing kernel crashes
affecting the Nokia N900 in pmOS.
[ci:skip-build]: already built successfully in CI
Added CONFIG_GPIO_SYSFS, this is required for nokia-modem module
GPIO_SYSFS depends on EXPERT which in turn sets DEBUG*
[ci:skip-build]: already built successfully in CI
the 6.3 kernel for this device added edt-ft5x06, but it was dropped when
upgraded to 6.4, so this reverts back to the focaltech driver so that
the touchscreen will work again in the initramfs
[ci:skip-build] already built successfully in CI
I forgot to change this before merging. Commit remains the same, so
package itself shouldn't change. Thus:
[ci:skip-vercheck]
[ci:skip-build]: already built successfully in CI
Since linux 6.4.0 the SDM845 kernel uses compressed kernel modules, we
need to kmod version of modprobe to handle loading these, so depend on
it.
[ci:skip-build] already built
ODROID HC2 boards are out-of-use by the maintainer.
Move to testing and remove maintainer.
[ci:skip-build] already built successfully in CI
[ci:skip-vercheck]
* modem-related modules seem partly responsible for recent l3 firewall
timeouts and kernel crashes.
* rx51-battery can be used to get battery design capacity, but not required
for general running of the system blacklist other
* modules that can impact power consumption on the N900
Completely disabling the modules in kernel config is unnecessary, since they
are all useful for some users
[ci:skip-build]: already built successfully in CI
The N900 volume keys were configured to produce F7 and F8 in Maemo Fremantle.
Set them to normal volume keys to restore expected behavior
[ci:skip-build]: Already built successfully in CI
Move the elogind configuration and post-install call of "loginctl
reload" into an extra subpackage with install_if=elogind.
Fix for:
Executing device-pine64-pinebookpro-16-r0.post-install
* service nvme-powersave added to runlevel boot
* service sysfsconf added to runlevel default
lib/apk/exec/device-pine64-pinebookpro-16-r0.post-install: line 5: loginctl: not found
ERROR: device-pine64-pinebookpro-16-r0.post-install: script exited with error 127
Make the post-install scripts more robust while at it, by adding
"exit 0" at the end.
Update some alsa buffer params to solve sound quality issues
I got working values experimentally after trying
different buffer sizes and limits and watching to pw-top
to ensure there are no errors during playback from diffrent apps and
sinks.
Contributes to #1534
- make CONFIG_DRM_DISPLAY_CONNECTOR built-in. This resolves 'slow' tty
initialization that breaks pbsplash on N900
- use CONFIG_CMDLINE_FROM_BOOTLOADER instead of CONFIG_CMDLINE_FORCE, to allow
kernel to boot with u-boot provided parameters such as
PMOS_FORCE_PARTITION_RESIZE
- upgrade to 6.3.5
[ci:skip-build]: already built successfully in CI
- fix wifi signal quality display, since /proc/net/wireless is no longer
available in omap kernel
Suggested-by: DvaMishkiLapa <thesame.personal@gmail.com>
- add `polkit-elogind` so tools like `loginctl poweroff` and `nmtui` do not
require sudo under i3wm
[ci:skip-build]: already built successfully in CI
The call_audio_idle_suspend_workaround init service was moved to the
-pulseaudio subpackage, but the -modem subpackage still had a
.post-upgrade referring to it. This moves that to the (recently) new
-pulseaudio package
[ci:skip-build]: already built successfully in CI
Out of the box audio is really quiet and distorted on SDM845 devices when
using PipeWire. This can be worked around by forcing audio to 16 bits
(which PulseAudio uses by default and thus works). This seems to be a
kernel problem and should be fixed properly there but for now we can
apply this workaround to at least be able to switch to PipeWire anytime
soon. The actual workaround is applied by Wireplumber so the dependency
for the subpackage is set to that.
Upstream issue https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3193
[ci:skip-build]: already built successfully in CI
The `firmware-pine64-pinebookpro` predates the firmware for this device
being available upstream. It is now packaged in two separate packages:
linux-firmware-brcm and linux-firmware-rockchip.
Install those two linux-firmware packages and drop the custom one. This
drop a custom firmware package and also ensure that firmware is kept up to
date with the rest of linux-firmware-*.
The resulting installation includes all the previously included firmware
files and I've confirmed that both sound and wifi work fine (dmesg
indicates bluetooth is available too).
Previously, this extra rule was needed to grant regular users
permissions for the embedded display's backlight. It no longer seems to
be necessary; the presence of this rule is currently a no-op.
Someone else on IRC has tested removing the rule and also confirms this
new behaviour. I suspect this was fixed upstream in eudev.
Make sure the GPU can register its thermal device to avoid this error:
[ 9.303081] adreno 3d00000.gpu: [drm:msm_devfreq_init] *ERROR* Couldn't register GPU cooling device
[ci:skip-build]: already built successfully in CI
The upcoming db845c doesn't have cellular modem capabilities, but still
has wifi. Avoid installing modem related configs and services by default
and only install it for devices that need it.
- Add msm8916-1mic configuration for devices without SecondaryMic
- Fix audio volume after upstream msm8916-wcd-digital changes
[ci:skip-build]: already built successfully in CI
harpia's WCNSS firmware has problems with WiFi channels on some device
variants, using osprey's firmware seems to help as a workaround.
Install that by default so WiFi has better chances of working properly
out of the box.
[ci:skip-build]: already built successfully in CI
And use gitlab.com/exynos4-mainline/linux as source so that we no
longer have to carry all the patches in pmaports.
[ci:skip-build]: Already built successfully in CI
As stated in the MRs that added the patch, the ea8061 and s6evr02
panel drivers are originally from work by Simon Shields (fourkbomb).
Let's base our patches on the original commits to preserve authorship,
and note which modifications have been done, and by who. This is a
step towards making these patches ready for submission to upstream.
[ci:skip-build]: Already built successfully in CI
The UART console makes the boot process a whole lot slower due to printk
being synchronous. These devices are well enough supported that we can
disable UART logging by default to improve the boot speed. This
constitutes a ~30 second speedup on the SHIFT6mq at 115200 baud.
linux-postmarketos-omap now supports the Nokia N900 and its OMAP3430 SoC, so
drop this device-specific fork
[ci:skip-build] already built successfully in CI
Remove maintainers who could not be reached to test v22.12. Add exkc as
maintainer for firmware-pine64-rockpro64 as discussed in review of this
patch.
[ci:skip-build]: already built successfully in CI
- upgrade to 6.2.1
- drop musb patch (not needed since linux mainline commit
ffbe2feac59b37c8dc536727552b4f375e1b9aec)
- enable LRU_GEN
[ci:skip-build]: Already built successfully in CI
Kernel configuration addition:
Enabled the newly added Lazy RCU scheduler.
RCU_LAZY can help battery-powered systems like the PinePhone Pro in a few ways:
1. Reduced CPU usage: Because RCU_LAZY allows readers to access shared data structures without acquiring locks or other synchronization primitives,
it reduces the amount of CPU time that is required to manage synchronization. This can be particularly beneficial in battery-powered systems,
where reducing CPU usage can extend battery life.
2. Reduced memory usage: RCU_LAZY delays the creation of multiple versions of the shared data structure until they are actually needed.
This reduces the amount of memory that is required to store these versions.
In battery-powered systems, where memory usage can be a critical resource, this can help to conserve power.
3. Reduced synchronization overhead: RCU_LAZY reduces the overhead of synchronization by delaying the creation of multiple versions of the shared data structure.
This can reduce the amount of time that is spent acquiring and releasing locks or other synchronization primitives,
which can help to conserve power in battery-powered systems.
[ci:skip-build]: already built successfully in CI
Add a driver for the Magnachip EA8061 panel found on some Samsung
Galaxy Note II devices. Split the device trees into two (one for devices
with the already supported S6EVR02 panel and one for the new EA8061
panel).
Note: I didn't write this driver myself. Just like the old S6EVR02
driver, it has been ported from https://github.com/fourkbomb/linux
to the latest mainline Linux version.
The google-dru package provides the linux-postmarketos-rockchip as a
kernel and supports linux-firmware-ath10k linux-firmware-rockchip
packages as additional non-free firmware.
Enable the ATH10K kernel module in the kernel config
config-postmarketos-rockchip.aarch64 to enable wifi on devices such as
the Acer Chrometab 10.
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
[ci:skip-build]: already built successfully in CI
Add the missing kernel.release file to support packaging and fix builds
with:
`pmbootstrap build --envkernel linux-postmarketos-rockchip`
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Change-Id: Ia140302bb4d309740db85a36374673a6e66c2c2b
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
[ci:skip-build]: Already built successfully in CI