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
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.
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).
Right now we have multiple variants of A5 that are only different in
secure-boot keys and as such different firmware blobs.
Use msm-firmware-loader to support all A5 variants with a single device
port. Because of that, drop lte suffix as there are 3g variants as well.
Right now we have multiple variants of A3 that are only different in
secure-boot keys and as such different firmware blobs.
Use msm-firmware-loader to support all A3 variants with a single device
port. Because of that, drop lte suffix as there are 3g variants as well.
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.
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.
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
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
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
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
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