Now the user can choose to install the proprietary firmware along with
the downstream or a (close to) mainline kernel.
[ci:skip-build]: already built successfully in CI
Add proprietary firmware required by OnePlus 5/5T's WLAN, Bluetooth, GPU
and other SoC subsystems such as ADSP. These are extracted directly from
OnePlus' OxygenOS 10.0.1 stock firmware with oos_fw_extract in the repo.
Now the user can choose to install the proprietary firmware along with
the downstream kernel (linux-huawei-angler) or a mainline kernel
(linux-postmarketos-qcom-msm8994).
Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
[ci:skip-build] Already built on CI in MR
While it doesn't make sense to package a mainline kernel for FP1 (only
UART and basic SoC components supported), it's good to include the dtb
name in deviceinfo so external tools can use it.
Enable flashing kernel on update + small cleanups for deviceinfo:
* re-sort lines in deviceinfo
* remove console=tty0 from kernel cmdline, so it does not spit out
all kernel logs on the screen. Now during boot you see just
blinking cursor and pmOS logo.
Rule D: Devices with secure boot and venus present in the firmware
partition need:
1. GPU firmware (firmware-qcom-adreno-a300)
2. msm-firmware-loader (for wcnss, modem, venus)
4. device-specific -wcnss-nv firmware
[ci:ignore-count]
[ci:skip-build] already built successfully in CI
Squash the packaged venus firmware blobs using pil-squasher so only
one file needs to be loaded rather than many small ones. Linux detects
squashed (.mbn) vs non-squashed (.mdt + .b*) based on file contents
(not file name) so it is fine to install venus.mbn to venus.mdt.
Make the package consistent with firmware-qcom-adreno packaged from
linux-firmware, but keep them separate for legal reasons. The firmware
packaged in firmware-qcom-adreno-extra does not have a proper license.
[ci:ignore-count]
[ci:skip-build] already built successfully in CI
The firmware provided by these subpackages is now covered by the
msm-firmware-loader, so there is no need to build packages for them
anymore.
[ci:ignore-count]
The files packaged in firmware-motorola-osprey-wcnss-nv and
firmware-motorola-osprey-venus seem completely identical to those
of harpia, so there is no need to package them twice. There are some
differences in modem/wcnss firmware but those are now covered by the
msm-firmware-loader.
Add sony-fusion3 firmware subpackage to enable wifi.
Enable Qoalcomm Prima WLAN driver and fix wrong path in kernel.
[ci:skip-build] Already built on CI in MR
Touchscreen and usb networking works. Much of the hardware is the
same as on gts210velte (but that one has a qcom soc and not
exynos5433). Exactly the same touchscreen calibrarion as for
gts210velte works for this device as well.
Also include firmware package with wifi files. Unlike on many other
Samsung devices wifi does not work out of the box after these
firmware files has been added.
[ci:skip-build] Already built on CI in MR
I'm not sure it is possible to connect a second display to this phone
through P2P WiFi, so mapping cursor to DSI-1 just in case. It is needed
for screen rotation when a second display is connected.
Reduce scaling factor from default 2 to 1.8.
I'm not sure it is possible to connect a second display to this phone
through P2P WiFi, so mapping cursor to DSI-1 just in case. It is needed
for screen rotation when a second display is connected.
Reduce scaling factor from default 2 to 1.8.
Due to the fact that wifi variants have different modem configuration
(modem on non-lte deviecs is ignored for now but that may change)
the lte kernel name should be called "modem-lte" and not just "modem".
The deviceinfo proerty was overlooked when converting gt58lte to generic
gt58 port. This makes it impossible to install LTE enabled kernel.
Fix the property name.
Fixed compatible and added interrups for touchscreen,
added Bluetooth support, made kconfig happy for waydroid,
use correct mount matrix for accelerometer,
changes in panel.
[ci:skip-build] Already built fine on CI in MR
The following commits will reintroduce it with its appropriate codename
and split it into a separet package for downstream, and separate ones
for the 3G version and the LTE version.
Update deviceinfo to set deviceinfo_bootimg_qcdt to false. This is causing the pmbootstrap install to fail with
==> initramfs: creating boot.img
ERROR: File not found: /boot/dt.img, but
'deviceinfo_bootimg_qcdt' is set. Please verify that your
device is a QCDT device by analyzing the boot.img file
(e.g. 'pmbootstrap bootimg_analyze path/to/twrp.img')
and based on that, set the deviceinfo variable to false or
adjust your linux APKBUILD to properly generate the dt.img
I downloaded the TWRP image for sirius from https://forum.xda-developers.com/t/recovery-unofficial-twrp-3-2-3-0-for-sirius-01-09-2018.3836837/
Then ran "pmbootstrap bootimg_analyze recovery.img". The output had ' deviceinfo_bootimg_qcdt="false" '. This is my justification for the fork
msm-firmware-loader is pretty similar to klte's modem-firmware-mount
except that it sets up the symlinks dynamically. The nice thing about
it is that it seems to just work. :)
[ci:ignore-count]
With the new msm8916-mainline kernel DT for gt510wifi is reworked to be
reused with gt58 devices. While at it, the DT was generalized to be used
with the LTE variants of the device as well as the wifi variant.
Change base dtb name to the new common dt and add an LTE-specific dt
that enavles the modem. Since variants have different secure-boot keys,
use msm-firmware-loader for that.
Also make various updates to support gpu-accelerated UI's and FDE.
Currently we see this error in our dmesg:
udevd[764]: invalid key/value pair in file /etc/udev/rules.d/90-android-touch-dev.rules on line 6, starting at character 102 ('\\')
[ci:skip-build] Already built successfully on CI
The best (only) theory so far is that issues occur if the battery is
deeply discharged. The latest kernel upgrade fixed both charging and
reported state-of-charge, so hopefully no one will have similar issues
from now on.
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]
- 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]
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.
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.
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.
* 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
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
[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)
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
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.