Add pmb:cross-native/!tracedeps to applicable firmware packages and
secure both with a test.
This sets the pmb:cross-native and !tracedeps options on all firmware-*
packages that are compatible with the native compilation method. A unit
test ensures the presence of both options while maintaining a list of
exempted packages.
Fixes: #718
[ci:ignore-count] [ci:skip-vercheck] [ci:skip-build]
Starting with Linux 5.14, the modem can be controlled through the new
WWAN subsystem in Linux with the WWAN RPMSG CTRL driver. This is also
supported in ModemManager 1.18 and the pmOS fork of oFono.
Drop the udev rules for the previous approach through the RPMSG chardev
since this causes the modem to be detected twice by ModemManager and oFono.
- mesa-dri-freedreno => mesa-dri-gallium
- msm-modem-rpmsg => msm-modem
- add swclock-offset
- sort deps list
- remove ofono from deps, should be pulled in by UI
package that needs it, not by device- package
This fixes some parameters needed for Xiaomi Mi 5 to boot on newer kernels, and adds some extra flags for GPU acceleration and USB labels.
Signed-off-by: Raffaele Tranquillini <raffaele.tranquillini@gmail.com>
[ci:skip-build]
For some reason it was disabled for this device, and only for this
device. Enable it again so we have it for all devices. It passes fine
anyway.
[ci:skip-build] [ci:skip-vercheck]
Use -f, so rm
* does not complain if the file does not exist
* does not exit with 1 if the file does not exist
Remove the stdout/stderr redirect (not needed with -f).
Add exit 0 at the end of the file, even though it clearly should not
exit with anything other than 0 anymore, as it's common practice in
these pre-upgrade etc. scripts.
With the old script, the problem was that it would exit 1 as soon as the
files did not exist at the time the script runs. Exit 1 in this
pre-upgrade script causes apk to show an error, and it would not go away
with 'apk fix' since it ran into the same problem.
Fixes: 7c511d ("pine64-pinephone: remove old u-boot...")
Console UI can be used now instead of None UI.
Console UI is necessary to have access to the device over SSH
as no display can be used.
[ci:skip-build] already built successfully in CI
This devices runs a close-to mainline kernel as linux-odroid-hc2.
I have 2 of these devices which power my selfhosted infrastructure
for some time now and they work really well! Running my selfhosted
infrastructure on Alpine stable releases would be great.
On the pinephone, callaudiod handles the switching of default outputs,
so wys is unnecessary and may be causing issues when running in parallel
with callaudiod.
fixes#1217
with 5.14, there's some change to the path that alsa searches for ucm2
for this device. the install path for PineTab.conf is changed, and it
references "full" path to HiFi and VoiceCall profiles (which I kept in
`PineTab` dir, so that there could be several configs for the same
driver later on, if necessary/desired)
[ci:skip-build] already built successfully in CI
with 5.14, there's some change to the path that alsa searches for ucm2
for this device. the install path for PinePhone.conf is changed, and it
references "full" path to HiFi and VoiceCall profiles (which I kept in
`PinePhone` dir, so that there could be several configs for the same
driver later on, if necessary/desired)
The Alpine LTS kernel builds evdev as a module which means it's not automatically
available in the initfs. Including evdev allows osk-sdl to properly recognise
physical keyboards, just like on a real device.
Fixes: #1204
[ci:skip-build] already built successfully in CI
`$DEV` was an undefined variable so the atinout commands were printing their
helptext instead of actually running. This was noticeable because
the "Failed to enable VoLTE profile auto selecting" log was being printed
along with said helptext to syslog.
The block that defined `$DEV` had been accidentally deleted in
bb41f53879 . This change restores it.
Contains venus firmware for hw accelerated video encoding and decoding.
Also, ipa firmware is moved to beryllium folder as mbn format instead of
mdt+bXX files.
The list of files in firmware.files is now file type-wise alphabetically
sorted. Just for better readability.
Fix the feedbackd rule as the haptics modules has been renamed.
Although SDM845 doesn't really suspend well, MM needs suspend
and resume support when the device attempts to suspend. Without
which MM will crash and wont resume properly when a suspend
action is triggered.
Depend on msm-modem-uim-selection to configure to modem for modemmanager
Disable debug options and SMP, and remove support for other platforms.
Unixbench reports a speedup for process creation and syscalls, from
Process Creation 126.0 1043.8 82.8
System Call Overhead 15000.0 235497.3 157.0
to
Process Creation 126.0 1826.7 145.0
System Call Overhead 15000.0 421030.2 280.7
Updated the kernel to the latest version from LineageOS [1] (branch
`cm-14.1`), copied their configuration file and updated it according
to `pmbootstrap kconfig check`. Previous kernel was from `cm-12.1`
branch.
Fixed firmware package. Switched firmware source to
LineageOS/TheMuppets and install only the Wi-Fi firmware, but into the
correct directory. Previously all available firmware was simply copied
into wrong directories.
[1] https://github.com/LineageOS/android_kernel_htc_msm8960
[ci:skip-build] already built successfully in CI
This device runs on linux-postmarketos-rockchip which at the moment of
writing is 5.13.0 with (only) 6 patches applied, so close-to mainline.
I personally use 2 of these devices with postmarketOS installed daily as
my homeserver setup and it has worked really well. It's also a good
target to run Plasma Bigscreen on as a TV setupbox
When kernel variants were renamed in
69cd6ff843
these dtb vars were forgotten, making it impossible to boot a kernel
build with `pmbootstrap build linux-postmarketos-exynos4`, no dtb is
appended to the zImage and we get stuck on samsungs boot logo.
Merged in mainline since 5.9-rc2-next-grate:
- all previously applied patches specific for Tegra and Nexus 7
New features, not merged yet in mainline (only in -next-grate):
- improved power management
- implemented USB OTG
New configuration options
- enable F2FS support (incl. compression), which leads to prolonging
eMMC life
Tested on E1565.
Signed-off-by: David Heidelberg <david@ixit.cz>
There's a generic udev rule to set group ownership of backlights to
'video', but it only runs on the ADD action, which seems to be too
late(?) since the backlight device is never owned by 'video' on boot.
This rule will run on CHANGE too, which might be overkill but seems to
get the job done. It's now possible to set the backlight brightness on
the PBP as a normal user.
Now that CPU scaling is enabled, there is no need to disable the big cluster,
which was hurting performance before by staying at 19.2 MHz. Remove maxcpus=2
from the command line arguments.
[ci:skip-build] Already built successfully on CI
Upgrade to 5.13.0 mainline and disable staging drivers.
Staging drivers are not used by this device and cause
build failures [1].
[1] https://github.com/tobetter/linux/issues/29
[ci:skip-build]: already built successfully in CI
Support the downstream kernel and a close-to-mainline fork. Waveform
data for the eInk display and the Wi-Fi driver are not included yet.
Everything else should work.
The update to Linux v5.13.1 also includes updating the haptics driver
to the latest one posted to the mailing lists, which was renamed to
qcom-spmi-haptics. Rename the udev rule for this driver and update the
driver name in it.
[ci:skip-build] already built successfully in CI
* Add the fusb302 module in initfs for the keyboard and touchpad
* Add cmdline params for improving stability
fw_devlink was switched on by default in kernel 5.13, and is rumored to
have issues.
The others might improve nvme stability.
* Disable wifi powersave
* Clean up modules in the deviceinfo
The ODROID HC2 device must have its boot partition
on a microSD card while the rootfs can be on an external HDD.
Provide a script to transfer the rootfs and update the U-boot script.
[ci:skip-build] already built successfully in CI
- Use common firmware package for Samsung zero devices also for zerofltexx
- Fix Wifi firmware paths
- Fix display colors (in sxmo; weston seemed OK before)
- Fix "alignment fault" error on ALSA sound output by compiler flag.
[ci:skip-build] already built successfully in CI
Now that there is a "unmaintained" category, readd huawei-kiwi
downstream (which got replaced in !1826 (merged)).
[ci:skip-build] already built successfully in CI
Start NetworkManager on boot to autoconfigure network devices plugged
into the USB port as well.
Drop /etc/network/interfaces to allow NetworkManager manage all
interfaces.
[ci:skip-build] already built successfully in CI
Based on Minecrell work at:
https://gitlab.com/Minecrell/pmaports/-/tree/alcatel-idol347-downstream
adapted smb1360 shared patches for idol347 downstream tree,
and added his idol347-like-mainline.patch gist which changes downstream DT
to mimic sane mainline settings for easy battery driver dump comparison.
[ci:ignore-count]
[ci:skip-vercheck] needed for the postmarketos-ui-* packages in this
series
[ci:skip-build] already built ui-* packages in CI, and device pacakges
are just trivial deviceinfo change (manually built some just to verify)
Some msm8916 devices, primarily with two sim slots, require slot
to be selected. Install uim-selection script for all msm8916 devices
with modem enabled.
[ci:skip-build] already built successfully in CI
This adds a very basic openrc runscript that sets the power state on
/dev/nvme0 to level 2, which seems(?) to be the lowest operational power
state based on some cursory internet searching (and querying the nvme
drives I have, Samsung EVO and Pro)
The drive path is hard coded, but could be made configurable later on. I
basically wanted to get something in pmaports quickly, since this power
stuff is a major source of instability for me and probably others too
who add nvme drives to this device.
1 does fit the lock screen better, but 1.2 works better overall.
Some things are tiny with 1. 1.2 fits the lock screen decently and
still provides decently sized user interface elements.
Downstream kernel made by Corellium which enables the iPhone 7 to boot.
This is the continuation of my work for a PostmarketOS port based on
@MartijnBraam kernel and devices packages.
PogoOS by the Checkra1n team is used to boot the Linux kernel. Further
instructions will be available in the PostmarketOS Wiki page.
[ci:skip-build] already built successfully in CI
I sometimes test DB410c via mainline U-Boot, which wants to have the
DTB in the "second" part of the Android boot image. Otherwise it works
fine. Include it there additionally to simplify this.
[ci:skip-build] already built successfully in CI
On top of the firmware we already have, we also need device-specific
modem firmware. Use script from firmware-motorola-potter(credit goes to
Sireesh Kodali). Also imitate the logic in firmware-motorola-potter.
Having RMTFS at runlevel boot makes it start the modem too fast and causes
crashes. Move it to runlevel default with a post-install.
[ci:skip-build] already built successfully in CI
The Huawei Ascend G7 is based on Qualcomm MSM8916 and therefore makes
use of linux-postmarketos-qcom-msm8916 as a close-to-mainline kernel.
Initially supported features:
- USB
- Storage (eMMC, SD card)
- Display
- Touchscreen, Buttons, Vibrator
- Notification LED
- WiFi/Bluetooth
- Accelerometer, Magnetometer, Proximity
- Audio
- NFC
The modem needs more work to work around strange Huawei firmware mess.
Note that the Huawei shipped an outdated firmware version that does
not support booting aarch64 kernels (like used in this device port).
However, the device does not verify firmware signatures so it is
possible to flash firmware from other devices. This is mostly
described in the wiki, but unfortunately it's quite complex.
However, the aarch64 version of linux-postmarketos-qcom-msm8916
receives much more testing so I would like to avoid adding more
armv7 MSM8916 devices unless absolutely necessary.
For pointercal:
Screen dimension 720x1280
Touchscreen dimension (reported by evtest) 1100x1900
720/1100*65536 = ~42896
1280/1900*65536 = ~44151
Offset doesn't seem to be needed.
[ci:skip-build] already built successfully in CI
My engineering prototype 1 Gb pinetab is close to unusable,
so I can't use it to test pmOS. Also, PINE64 is no longer
selling these devices, and the ones that were sent previously
to some developers use different display panel anyway.
Martijn Braam and Dylan Van Assche agreed to maintain it.
[skip ci]
Based on downstream Android 7.0 kernel source from Huawei.
02_fix_undeclared_AUD_INET.patch is from huawei-alice
USB Networking, Touchscreen, USB OTG and Display work in xfce4.
Wifi just needs firmware, audio is broken.
Other parts haven't been tested yet.
The close-to-mainline kernel removed the generic-dsi driver in favor of
normal panel drivers. Also the panel drivers are now built in. Reflect that.
Also reflect the changes of firmware-motorola-ocean in
device-motorola-ocean_nonfree-firmware.
[ci:skip-build] Already built on CI in MR
Workaround for https://source.puri.sm/Librem5/linux-next/-/issues/303.
It seems worth sacrificing some power savings for a modem that won't
disappear, at least until the above issue is fixed.
[ci:skip-build]: already built successfully in CI
Headset jack events emit 2 events: 'Headset Microphone Jack'
and 'Headphone Jack'. These were properly detected before,
but not headphone jack events only: 'Headphone Jack'.
This change allows to detect headphone jack events as well
and act on these events by setting the headphones as
default audio output while keeping the internal
microphone as audio input. For headsets,
the microphone is switched to the headset microphone as well.
- Add SLPI to nonfree_firmware description
- Add touchscreen and fuel gauge modules to the initramfs in preparation for
osk-sdl and charging-sdl (or any new alternative) support
- Add pointercal file for osk-sdl
[ci:skip-vercheck]
Set package dependency "swclock-offset" to "soc-qcom-msm8916" and
"soc-qcom-sdm845".
These SoC's have a read-only real-time clock (RTC). The package
"swclock-offset" keeps an offset between the RTC and the system time.
Port based on an unofficial LineageOS port
from https://www.los-legacy.de/17.1/zerofltexx, using kernel from
https://github.com/Exynos7420/android_kernel_samsung_exynos7420/
What works:
- Kernel boots
- Display and touch input (tested with Weston)
- USB networking
- Wifi
For now only including Wifi drivers, as I wasn't yet able to
successfully test audio and camera subsystems (but I intentionally left
these firmware files commented out in the APKBUILD file).
[ci:skip-build]: already built successfully in CI
Add the missing depends to add the GPU firmware to the initramfs
so that osk-sdl works properly, as well as the haptics driver.
Also make all logs go to UART, this will clean up the splash screen and
let developers with UART access debug the boot process.
[ci:skip-build] This MR was already built on CI
Add the missing depends for our soc package alsa ucm configs. Also add
the missing depends to add the GPU firmware to the initramfs so that
osk-sdl works properly!
Also enable logs and point them to UART, this will clean up the splash
screen and let any developers with UART attached to debug the boot
process.
AsteroidOS uses this config file to determine how the UI should look
(e.g. a round or a square screen), and if some things like Wi-Fi are
supported. Upstream auto generates this config file, but it seems so
simple and small that I think it's better for us to just ship the file
next to the APKBUILD
AsteroidOS uses this config file to determine how the UI should look
(e.g. a round or a square screen), and if some things like Wi-Fi are
supported. Upstream auto generates this config file, but it seems so
simple and small that I think it's better for us to just ship the file
next to the APKBUILD
The PMIC AXP803 sends an interrupt to the A64 CPU when the
battery is critical low. This wakes up the tablet at ~10%
battery level, but UPower wasn't configured to add upon
this interrupt as the action level was way lower.
Therefore, the PMIC performed a hard shutdown when the
battery level dropped further, which may cause data loss.
The PMIC AXP803 sends an interrupt to the A64 CPU when the
battery is critical low. This wakes up the phone at ~10%
battery level, but UPower wasn't configured to add upon
this interrupt as the action level was way lower.
Therefore, the PMIC performed a hard shutdown when the
battery level dropped further, which may cause data loss.
TF201 nvram was updated since previous did not work on some devices.
Added support for TF101, TF300TG and TF300TL.
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Gummiboot was dropped from Alpine. Switch to grub, which is what we use
for tablet-x86uefi too.
In contrary to tablet-x86uefi, run the grub-mkimage command directly
inside the device package:
* This avoids creating another confusing grub-x86 like package (looks
like the x86 version of alpine's grub package, as it's the case with
grub-efi-x86, but actually it is just the result of grub-mkimage).
* In contrary to grub-efi-x86, the resulting efi file is not shared
across several devices.
* It's consistent with uboot mkimage commands, which we also run in
device packages.
Related: 398b7aef0b
We used to have it at 40% and just bumped it to 100%. With 100%, I can
hear static noise in the headphones when using the PinePhone (pmOS CE)
in a silent room, even if I turn the volume down in Pulseaudio (e.g.
18%-30% in Phosh). This was not the case when we had it at 40%.
70% seems to be the sweet spot, where no static noise can be heard when
using headphones in a silent room, but where volume can still be turned
up to a very high level if necessary.
Ported succesfully to armv7. Everything that worked on armhf
works on armv7 as well: touch, wifi, usb networking etc.
SWRast (gallium) was not enabled but is needed because the device
does not support 3D acceleration yet.