GPU has been supported for a while in the mainline-ish kernel, so let
pmbootstrap show UIs like Phosh.
And msm-modem-uim-selection will setup the modem well enough so at least
the primary SIM should work out of the box.
[ci:skip-build] already built successfully in CI
Note from merger (Newbyte):
While this device is aarch64, switching to aarch64 comes with issues
and would need more work than a vendor kernel like this is worth.
Use armv7 for now and hopefully mainline it in the future and switch
to aarch64 then.
[ci:skip-build] Already built successfuly on CI in MR
- Patch from Robert Nelson and Hansem Ro.
- Based on the work of Hansem Ro,
who owns another device, the First Generation Kindle Fire,
which has similar specifications as the Samsung Galaxy Tab 2 7.0.
Basic support for the Tolino Shine 3 ebook reader. It is the same board as
the Kobo Clara HD.
Waveform handling shares the same oddities as for the Kobo Clara HD
but the file epdc_E060SCM.fw from the IMX6SL BSP from NXP does also work.
The existing waveform from SD card is used.
Preferred way to install is to clone the internal SD, keeping the original
as a backup, install on that clone.
U-Boot is a more recent one than the factory u-boot, so devicetrees are nicely
supported. Kernel is the near mainline kernel also used by the Kobo Clara HD.
This commit adds a package for the sm6125-mainline kernel fork. As of
now it uses kernel version 5.18_rc4, pulled from torvalds/linux.
You can find the repository on https://gitlab.com/sm6125-mainline/linux
[ci:skip-build] Already built successfuly on CI in MR
A quirky device, the last Mi Ax phone in the line. - Powered by
Snapdragon 665 (SM6125, codenamed Trinket), 8 cores, 4 clocked a 2.0
GHz and 4 more clocked at 1.8 GHz. 4-6 GB of RAM, 64-128 GB of UFS
storage, 720p 6.09" AMOLED display, a 48 Mpx quad-bayer camera (plus two
more on the back and one on the front) and an under display fingerprint
sensor which may be impossible to ever implement... *sigh*
Mainline kernel as of now is pretty minimal (framebuffer display, USB
networking). No UFS support (yet!).
Disable options
-CONFIG_NET_VENDOR_ENGLEDER
-CONFIG_NET_VENDOR_VERTEXCOM
-CONFIG_SURFACE_PLATFORM
Enable options
+CONFIG_KEYBOARD_PINEPHONE
Note by ollieparanoid: this fixes the suspend to ram issue, pma 1478
[ci:skip-build]: already built successfully in CI
patches added are (not all, just some) fixes and feature enhancements
for msm8992 and msm8994 from qcom mainline maintainer tree [1] for v5.18
and v5.19.
Changes:
* update deviceinfo_dtb_mainline for device-huawei-angler and
device-lg-bullhead.
* add sdhc1 support for device-huawei-angler
[1] https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux.git
Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
[ci:skip-build] Already built successfully in CI in MR
Downgrade to avoid the suspend issues we've been seeing for the past three
weeks. This reverts commit 3d4d3558b7
("linux-postmarketos-allwinner: upgrade to 5.17.0_git20220313 (MR 3001)").
Related: pmaports issue 1478
- Enable Broadcom and Marvel wifi drivers (cards exist that can be
installed in the L5)
- Add workaround that helps with modem disappearing when modem PM is
enabled. Doesn't solve it completely, but it makes the problem much
less frequent.
This u-boot version doesn't support the devkit yet. Last I heard, Purism
plans to add the config back in after porting it from the old u-boot.
If anyone needs this (probably no one besides me?), the old u-boot can
be built locally from an earlier version of this package.
mesa-dri-swrast no longer exists and just installs,
mesa-dri-gallium. However, this might not always be the case, so
let's change it before it causes any issues.
[ci:ignore-count]
[ci:skip-build]
I'd say this is not appropriate to be in postmarketOS because
this is just a bog standard x86 computer, it has UEFI BIOS and
everything, and you can just boot a Linux distro on a USB
stick.
It also has a 64-bit UEFI unlike some other tablet, so there
should be no issue installing a Linux distro with a fairly
modern kernel these days.
So, let's just drop it and forget this port even existed.
The charging script does nothing other than annoy a few people,
so get rid of it.
While at it, let's remove hybris reference from the APKBUILD as
hybrisOS is dead.
Closes#1487
Signed-off-by: Dang Huynh <danct12@disroot.org>
Powerful beast with Snapdragon 855 - 8 cores up to 2.8 GHz,
6 Gb RAM and fast UFS storage.
Mainline port is bare minimum (UART, framebuffer display, physical
keys, USB network). No storage support yet (UFS refuses to work)
https://wiki.postmarketos.org/wiki/Xiaomi_Mi_9_(xiaomi-cepheus)
Downstream kernel will not be maintained really, but useful for
exploring stuff. This kernel is at version 4.14 and can be
compiled with recent gcc versions though, so not that bad.
USB rndis works, touchscreen too, but no display (framebuffer,
/dev/fb0 is not present at all). Internal storage works, also
battery/charging.
Device uses mainline kernel. What works:
- boots
- pstore log
- simple framebuffer
- storage including sdcard
* payload mock device tree:
Payload mock device tree is needed to mock device tree,
when we're overriding linux with u-boot in android boot image.
Stock bootloader needs this dtb appended to gzipped u-boot.
Bootscript is a simple hush shell script, dedicated to boot OS.
It may be customized to implement dual boot or to change kernel
command line.
To make panel driver upstreamable to mainline linux, we need to use
proper panel selection in secondary bootloader (still TODO), and
therefore lk2nd will be strictly required to boot mainline port.
Switch flashing method to fastboot, enable sparse rootfs generation,
and depend on lk2nd package.
Depends on: postmarketOS/pmbootstrap!2174, to provide full
integration of lk2nd in pmbootstrap.
So, full flashing procedure for samsung-klte will look like:
$ pmbootstrap init
$ pmbootstrap install
$ pmbootstrap flasher --method=heimdall-bootimg flash_lk2nd
$ pmbootstrap flasher flash_kernel --no-install
$ pmbootstrap flasher flash_rootfs
$ fastboot reboot
This removes u-boot from our image and allows booting via an
UEFI-compatible platform firmware instead. So to flash pmOS on the PPP
now we will require the user to flash Tow-Boot to the SPI. See the edge
post for more information.
Related: https://postmarketos.org/edge/2022/03/28/ppp-tow-boot/
Co-Authored-By: Oliver Smith <ollieparanoid@postmarketos.org>
Add option for mainline kernel iso downstream kernel. Note that a lot is
not working yet due to incomplete devicetree, so this is for development
purposes only.
It seems like at least samsung-a5 needs the same "facility lock"
workaround as samsung-serranove, otherwise ModemManager can not detect
the SIM card correctly. Move it to a subpackage of soc-qcom-msm8916
and apply it to samsung-a3 as well just to be sure.
So far this issue seems limited to Samsung devices, at least bq-paella
is not affected (tested with the same SIM card), so it does not seem
right to apply it unconditionally to all devices.
[ci:skip-build] Already built successfuly on CI in MR
Now that internal storage is supported, we actually need a 4096 sector
size, otherwise kpartx won't work on internal partitions.
[ci:skip-build] Already built successfuly on CI in MR
Fixes/works around issue where some applications using the GPU
would crash with DRM_IOCTL_MODE_CREATE_DUMB failed.
See https://gitlab.com/postmarketOS/pmaports/-/issues/1246
[ci:skip-build] Already built successfuly on CI in MR
- Add support for sdm845-samsung-starqltechn
- Fix touch for axolotl
Change-Id: Ie7073f450f207e9242b821b4971ce2be89ba6a54
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
[ci:skip-build] Already built successfuly on CI in MR
- alcatel-idol347: add headphones
- Try to revert playback/capture priorities to maybe make automatic
switching to headphones based on jack detection work a bit better.
[ci:skip-build] Already built successfuly on CI in MR
Unfortunately, the oppo-a51f has been unmaintained for quite some time
now. The original author (harutora) has disappeared and no one else
seems to have this device. The device port has several open problems:
1. The device was never added properly to upstream lk2nd, because
of a special (OPPO-specific) boot image format. Users need to
compile and install some outdated version of lk2nd, which is no
longer (fully) compatible with newer kernel versions.
2. The authorship of the Linux changes are unclear: They were created
with a "no-reply" email address and without Signed-off-by line
that clarifies the licensing of the changes and permits upstreaming
the patches.
Since oppo-a51f is the last remaining device port in linux-postmarketos
-qcom-msm8916 with this problem, I decided to drop the patches from the
kernel, at least until harutora returns or can clarify the authorship
of the created patches.
Also, moving the modemmanager.conf file from the main package to the
nonfree-firmware subpackage as Modem Manager is going to work
only if the nonfree-firmwares are present.
The soc-qcom-sdm845-nonfree-firmware dependency is now moved from
firmware-xiaomi-beryllium package to the device package.
This will make the firmware package to only depend on firmware files.
The soc-qcom-sdm845-nonfree-firmware dependency is now moved from
firmware-oneplus-sdm845 package to the device package.
This will make the firmware package to only depend on firmware files.
The soc-qcom-sdm845-nonfree-firmware dependency is now moved from
firmware-oneplus-sdm845 package to the device package.
This will make the firmware package to only depend on firmware files.
The soc-qcom-sdm845-nonfree-firmware dependency is now moved from
firmware-shift-sdm845 package to the device package.
This will make the firmware package to only depend on firmware files.
The soc-qcom-sdm845-nonfree-firmware dependency is now moved from
firmware-shift-sdm845 package to the device package.
This will make the firmware package to only depend on firmware files.
Also, pmb:cross-native is added to the package options so CI testcases
doesn't fail.
The soc-qcom-sdm845-nonfree-firmware dependency is now moved from
firmware-oneplus-sdm845 package to the device package.
This will make the firmware package to only depend on firmware files.
Also, pmb:cross-native is added to the package options so CI testcases
doesn't fail.
The soc-qcom-sdm845-nonfree-firmware dependency is now moved from
firmware-xiaomi-beryllium package to the device package.
This will make the firmware package to only depend on firmware files.
Also, pmb:cross-native is added to the package options so CI testcases
doesn't fail.
I'm not deduplicating the UCM files between m3 and m0 as I may not
always be able to test changes to m3, and I'd rather have a an
outdated configuration for m3 than a broken one.
Apparently works significantly better on SHV-E210S and seems to
work about equally well on i9300. Besides, using upstream firmware
with a clear licence is nice. Also use different nvram file for m3.
In preparation to removal of linux-postmarketos repo, switch
source to different source mirror.
P.S: sourcehut can't serve bz2 archives, I had to switch to gz
P.P.S: I'm not sure I'll keep repo on sourcehut forever, but let's try
See also: https://gitlab.com/postmarketOS/postmarketos/-/issues/47
[ci:skip-vercheck]
[ci:skip-build] Already built fine on CI in MR
In preparation to removal of linux-postmarketos repo, switch
source to different source mirror.
I had to switch to gzip archive, because github doesn't serve bzip2.
I did a kconfig edit -> change nothing -> exit saving to regenerate config.
See also: postmarketos#47
[ci:skip-build] Already built fine on CI in MR
CONFIG_MSM_KGSL (Kernel Graphics Subsystem Layer) breaks the framebuffer
in mysterious ways even on this device. This MR disables KGSL to restore
framebuffer functionality.
- Add support for the rear camera on xiaomi-scorpio
- Improve charging from SDPs
- Add extcon support on oneplus-oneplus3(t)
- Add container and zram kconfig checks to APKBUILD
[ci:skip-build] Already built successfuly on CI in MR
Also temporarily switch to Linus Walleij's branch to enable charging.
Patches should be upstreamed to mainline by Linux 5.18.
emmc.patch: Linux no longer hangs without this
fix-boot-regression-skomer.patch: Upstreamed and included here
[ci:skip-build] Already built fine on CI in MR
https://wiki.postmarketos.org/wiki/Asus_Zenfone_Max_Pro_M1_(asus-x00td)
Initially ported by Alice Koul.
iAboothahir: set CONFIG_DEVPTS_MULTIPLE_INSTANCES and remove empty deviceinfo_*
Signed-off-by: Alice Koul <alice-koul@protonmail.com>
Signed-off-by: iAboothahir <aboothahirpkd@gmail.com>
[ci:skip-build] Already built once fine on CI in MR
- update to kernel 5.15.25 stable
- add TUN as module, fixes pma#1435
- drop fully-upstreamed patches (lp55xx)
- add iio support for lis302dl (will send upstream)
- update N900 dts for lis302dl over iio (will send upstream)
- assign higher priority to patches from kernel.org (resolves pmb#2107)
[ci:skip-build] already built successfully in CI
The package `device-pine64-pinephone-vccq-mod` installs a u-boot user script.
The user script was loaded at address 0x50100000 partially overwriting
the initramfs (0x4FF00000-0x5015facd), and causing a boot loop.
The user script load address was increased to 0x50700000, leaving 8MB
of free space for the initramfs, the current initramfs size is 2.37MB.
This firmware is useful for other devices (m3, t0lte, p4note, ...), so
let's give it a more generic name and split up WiFi and Bluetooth into
separate packages as the WiFi firmware isn't useful for t0lte at the
moment. Also drop the downstream kernel firmware from here to simplify
the APKBUILD, and give it its own package in the following commit.
For a merge list, please see the merge commits:
- 5.16.3 - (98fb3b4121)
- 5.16.4 - (2962c41f9d)
- 5.16.5 - (9ee391628f)
Change-Id: If5ba0303b6a9a636ec1f303739804a9fa9c37e2a
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
[ci:skip-build] Already built successfuly on CI in MR
Do not fiddle with a compiled .a file from the vendor, rather
ignore it and add functional equivalent sources.
[ci:skip-build] Already built successfuly on CI in MR
Uses upstream u-boot with (only) 4 downstream patches. The device also
boots way quicker now, no need to hold the power button for multiple
seconds anymore
[ci:skip-build] Already built well once on CI in MR
With this wifi seem to work reliably, and it is possibly to for
example connect to a bluetooth speaker and play music.
For wifi, issue seem to be with the nvram_net.txt file, changing only
that one to a newer one makes wifi work. Here, both the .txt and .bin
file are updated, as the old files are from 2012, while the new
ones have a datestamp from 2019.
This command was missed when bl1, bl2 and tzsw were renamed. Truncate
apparently creates a new file of the specified size if file doesn't
exist (instead of failing), so this was missed by CI.
Use the new linux-postmarketos-exynos5 package. A dtb for klimtwifi
is added as well, even though the device has not been ported yet.
[ci:skip-build]: Already built successfully in MR CI.
This allows to get wlan to work properly.
Change-Id: I52bab348f83b49a5b31cdeddd15e542049ac3089
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
Using uInitrd is no longer necessary. I'm not sure *why*, but it just
works using the non-u-boot-image initramfs. The post-upgrade script was
changed to clean up the old images from /boot/u{Image,Initrd}, restoring
a lot of free space in that partition (~25MB)
This also sneaks in a small 1 character change to silence removing the
gpsd service from the default runlevel
[ci:skip-build]: already built successfully in CI
This is a cherry pick of Leste commit 2c7e4a1ac8ec1f908927793e893566aac3dcb9df,
to revert mainline commit f959dcd6ddfd29235030e8026471ac1b022ad2b0, which breaks
N900 modem. This is a temporary workaround until a proper fix is found.
This moves the kernel to the one on the pine64-org/linux Gitlab org.
This kernel is (will) be shared with other distributions and is a common
base we can all rely on. It enables Wi-Fi, Bluetooth, the battery
indicator and charging, rotation, modem and other things.
[ci:skip-build] Already built successfully on CI
* upgrade kernel to 5.15.13
* add patch for better nl80211 support in wl1251
* add config options to support iwd
[ci:skip-build] Already built on CI in MR
With this you can get the modem and wifi running nearly out of the box.
As the kernel currently doesn't support UFS (internal storage) you need
to dump the following partitions using dd in TWRP or similar:
fsc, fsg, modemst1, modemst2, tunning
Place those as files in the rootfs in /modem-partitions/ and add "-o
/modem-partitions" to the rmtfs arguments by modifying /etc/init.d/rmtfs
and changing command_args to "-P -r -o /modem-partitions".
[ci:skip-build] already built successfully in CI
Due to a regression in ModemManager 1.18.2, a special case to reduce
facility lock query was implemented in ModemManager. Versions up to
1.18.6 need to be patched (separate merge request, possibly in Alpine
Linux). For more details, see pmaports issue #1274.
This udev rule makes use of this special case for device
samsung-serranove.
Basic support for the Tolino Shine 2 HD ebook reader.
Waveform handling shares the same oddities as for the Kobo Clara HD
but the file epdc_E060SCM.fw from the IMX6SL BSP from NXP does also work.
The existing waveform from SD card is used.
Preferred way to install is to clone the internal SD, keeping the original
as a backup, install on that clone.
U-Boot is a more recent one than the factory u-boot, so devicetrees are nicely
supported. Kernel is the near mainline kernel also used by the Kobo Clara HD.
About Wifi: Handling of the configuration file for boards with brcmfmac is not
supported yet.
[ci:skip-build] already built successfully in CI
linux-samsung-espresso3g: Add support for gp2a light and proximity sensor
linux-samsung-espresso3g: Display now runs at 45Hz
linux-samsung-espresso3g: Add pinmux for wlan host wake
linux-samsung-espresso3g: Add TWL 6030 power off support
linux-samsung-espresso3g: Add TWL 6030 power button support
linux-samsung-espresso3g: Data Enable is active high
linux-samsung-espresso3g: Fix patch
It makes more sense here as it's also signed by OnePlus (instead of
just Qualcomm) and is expected to be here since
linux-postmarketos-qcom-msm8998>=5.16.0_rc6.
This adds a firmware package firmware-shift-sdm845 containing
BT, GPU and WiFi firmware, which allows to enable hardware
acceleration to get phosh up and running.
Change-Id: Iaef46ccd51a756ad44642769e64202a7c534be9c
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
This MR removes the downstream kernel package linux-shift-axolotl
and uses linux-postmarketos-qcom-sdm845 instead, as it has
recently added support for the SHIFT6mq (axolotl).
Change-Id: I79427820686eb813cb21f57d6bddc0d2f7984b6a
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
Uses now DRM variant of EPDC driver. Updates will work automatically
without using special APIs.
Note:
/sys/class/graphics/fbcon/cursor_blink should probably be set to zero
to avoid battery draining if text console is displayed
[ci:skip-build] Already built on CI in MR
By setting the `install_if` to include postmarketos-ui-sway instead of
sway, apk doesn't seem to be confused if it is also trying to install
some other package with `provides=sway` in it.
fixes#1343
[ci:skip-build] already built successfully in CI
The downstream kernel provider does not exist any more (see
samsung-m0-downstream if you really want the vendor kernel), so remove
this as it is unused.
With selinux enabled, build fails with gcc-11 with multiple errors like this:
/home/pmos/build/src/android_kernel_oneplus_sm8250-0c1bed1067131a0bd3e56c1cbdd3473606c5a48a/out/../security/selinux/hooks.c:5553:(.text+0xb34): relocation truncated to fit: R_AARCH64_ADR_PREL_PG_HI21 against `.bss.rtic'
Selinux is not required for pmOS, so this change should be safe.
gnss-share is a location provider I wrote for the librem 5's GPS module,
and can be used directly from geoclue. It allows saving and loading
A-GPS data (manual steps, for now) to facilitate faster fixes.
I'm not completely happy with having to use sed to patch geoclue's conf,
but:
1) I really only need to change 1 line
2) there's a non-zero chance geoclue's conf will be changed in aports if
new permissions are required for things later
So carrying the config in the device package and using
"replaces=geoclue" (like the postmarketos-* stuff) didn't seem like a
maintainable solution long term since the geoclue conf might gain needed
fixes/features that might make a copy in the device package outdated...
This cuts downloads in half as only the needed sources are downloaded.
It also makes the packages simpler and fixes a bug where the oneplus3t
subpackage was overwriting the 20-adreno-gpu-firmware.files of the
oneplus3 subpackage.
Based on !1158 by @nrdnandan (5 files)
new file: device/testing/device-xiaomi-rolex/APKBUILD
new file: device/testing/device-xiaomi-rolex/deviceinfo
new file: device/testing/linux-xiaomi-rolex/APKBUILD
new file: device/testing/linux-xiaomi-rolex/config-xiaomi-rolex.aarch64
new file: firmware/firmware-xiaomi-rolex/APKBUILD
Changed deviceinfo : Width x Height was 800x600 to correct dimension -> 720x1280
modified: device/testing/device-xiaomi-rolex/APKBUILD
modified: device/testing/device-xiaomi-rolex/deviceinfo
Added directfbrc and fb.modes file. Also added SWAP file support swap_size=1024
Added Audio files and rules removed uneccessary lines in deviceinfo.
device/xiaomi-rolex: Fix linting issues
xiaomi-rolex: Linting fixes; is a handset
xiaomi-rolex: Moved firmware/ to device/testing/
xiaomi-rolex: Enable pmb:cross-native for kernel compilation
because it is the default for recent apkbuilds
xiaomi-rolex: Apply YYLOC patch to build 3.18.140 with gcc-10 (-fno-common)
xiaomi-rolex: update patch checksums in kernel APKBUILD
xiaomi-rolex: update deviceinfo checksum; replace common patch with a symlink
xiaomi-rolex: use mdss patch
xiaomi-rolex: use BGRA mdss framebuffer patch
xiaomi-rolex: mark myself as maintainer, drop contributor from apkbuilds
Refer to git commit history instead to determine contributors
xiaomi-rolex: update kernel config for multiple devpts
xiaomi-rolex: allow firmware cross-native builds, disable tracedeps per linter
[ci:skip-build]: already built successfully in CI
Remapping the left key of tm2-touchkey to KEY_MENU.
The KEY_APPSELECT, which is set by the device tree, is not available in
the postmarketOS UIs. In X11 UIs this is due to keycode limitation to
8 bit. In Wayland UIs the keycodes don't have this limitation but xkb
keycodes higher 255 are not processed correctly by several software
packages. It still makes sense to keep KEY_APPSELECT in the device tree
because this is the correct mapping intended by the manufacturers when
running the kernel on Android.
iio-sensor-proxy wants to know when to report "near" status. Add an udev
rule defining that value as a workaround untl it can be passed from
the DT.
[ci:skip-build] already built successfully in CI
Kernel defconfig is a copy of "axolotl_userdebug_defconfig".
Config changes (which differ from the copy above):
- ran `pmbootstrap kconfig check shift-axolotl`
- CONFIG_QCA_CLD_WLAN - m -> y
Change-Id: Ie250ba0d4f7cabf516e4c4fef84a3832321fb069
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
[ci:skip-build]
This adds the crc32c_generic module into the initfs. Without this,
mounting the boot partition will fail.
Relates to: #1294
[ci:skip-build] already built successfully in CI
The mainline-modem variant does not actually exist yet and this should
be preferably implemented using the new soc-qcom-msm8916-rproc selection
in the future.
Add a replacement for the current "mainline" and "mainline-modem"
kernel variants used for the MSM8916 devices. At the moment this is
implemented using separate DTBs that are all maintained in the kernel.
Unfortunately, this does not seem likely to be accepted upstream in
the mainline kernel. They will expect to have only a single DTB that
enables all available functionality. The "no-modem" variant is a minor
but still very useful use case because it changes the audio routing:
It allows audio to work without any firmware, with more control on
sample rates, latency etc for advanced audio use cases. However,
having a potentially enabled modem requires routing all audio through
the modem. There are two separate DTBs needed for these two setups.
To avoid burdening mainline with this use case, the idea is to apply
the necessary DTB transformations as part of the lk2nd boot process.
Mainline only contains the DTB with the full functionality (audio
routed through modem). The soc-qcom-msm8916-rproc packages place
a magic file at /boot/lk2nd_rproc_mode that is read by lk2nd. When
the file contains "no-modem" lk2nd will transform the DTB to disable
the modem and change the audio routing to bypass the modem.
That way, this feature does not need to be considered in mainline
at all but can still be offered as "nice to have" by lk2nd. It also
simplifies the device packages because the selection is now common
as part of the soc-qcom-msm8916 package.
Together with a related pmbootstrap change there is a nice prompt
for selecting one of these "rproc" providers:
$ pmbootstrap init
[...]
Available providers for soc-qcom-msm8916-rproc (3):
* all: Enable all remote processors (audio goes through modem) (**default**)
* no-modem: Disable only modem (audio bypasses modem, ~80 MiB more RAM)
* none: Disable all remote processors (no WiFi/BT/modem, ~90 MiB more RAM)
Provider [default]: ...
This installs some new udev rules added in purism's librem5-base
package, and adds the charger module to initfs to that PD is available
earlier on in the boot process.
[ci:skip-build] already built successfully in CI
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.
my patch to disable SS was merged in purism's tree, so it's dropped
here. This kernel also enables the hantro video decoding stuff.
[ci:skip-build] already built successfully in CI
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
Reduce rootfs size a bit by installing the separated firmware packages
instead of the large linux-firmware-qcom package. Also, install the
modem firmware by default to prepare for enabling GPS.
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.
Strictly speaking firmware-bq-picmt is not needed anymore because
the msm-firmware-loader can be used to load the picmt firmware from
the firmware partitions. However, this package contains quite recent,
largely unmodified firmware from Qualcomm so it still seems useful
to keep if someone wants to test more recent firmware on some other
device (provided that their device does not verify firmware signatures).
To make this firmware package consistent with firmware-qcom-db410c,
squash the firmware blobs using pil-squasher so only one file needs
to be loaded rather than many small ones.
Unfortunately, at the moment MSM8916 devices always have to install
all of linux-firmware-qcom (~ 60 MiB) when they actually just use
~ 0.008 MiB of GPU firmware in there. Everything else is just big
firmware blobs for other SoCs that are never going to be useful.
It's much more efficient to package the necessary firmware separately
to save rootfs space. The DB410c linux-board-support-package contains
all the firmware from linux-firmware as well, so we can easily package
it as part of the firmware-qcom-db410c package.
This commit makes the following changes to firmware-qcom-db410c:
1. Package venus() firmware that was previously installed from
linux-firmware-qcom. GPU firmware is packaged in firmware-qcom-adreno.
2. Use new firmware paths for DB410c that were applied upstream
3. "Squash" the firmware blobs to a single file using pil-squasher
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
Add a new firmware-qcom-adreno APKBUILD that packages the GPU firmware
from upstream linux-firmware as separate packages. It is basically
a minimal replacement for linux-firmware-qcom that allows saving rootfs
space by installing only the firmware that is really relevant for the
device.
[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 "replaces"/"provides" should have the full package name, not just
the part of the subpackage. Also, the nonfree-firmware subpackage does
not need it because the old "device-xiaomi-wt88047-nonfree-firmware-modem-wt88047"
packages were only install_if packages without any files installed.
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.
Improvements from xfce4-phone source:
- Add screenshot to README.md
- Enable screen locking
- Disable Desktop icons "Home", "File System", "Trash"
- Enable single-click on Desktop
- Enable single-click in Thunar
- Change clock format
- Set postmarketos wallpaper
Additional changes in postmarketos-ui-xfce4:
- Installing greybird-themes (which is already set as default theme in
/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml).
- Changing /etc/skel/.config/autostart/onboard-autostart.desktop to
slightly speed up keysboard startup (overriding startup-delay of
/etc/xdg/autostart/onboard-autostart.desktop).
- Enabling scrollbars by /etc/profile.d/enable-scrollbars.sh, this is
helpful where touch-scrolling doesn't work like e.g. in whiskermenu.
(And re-ordered network-manager-applet in APKBUILD _pmb_recommends
section.)
Also removing xfce4 subpackages of device-qemu-amd64,
device-qemu-aarch64 and device-nokia-n900. The device specific monitor
to set the wallpaper will now be automatically derived from "monitor0"
in file xfce4-desktop.xml.
Additionally taking maintainership as discussed in merge request
(!2506).
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]