Commit graph

215 commits

Author SHA1 Message Date
Minecrell
3a9898689d
<msm8916>: drop variant suffixes from dtb names (MR 2632)
The new kernel version now has the variant suffixes dropped from the
DTB file names as well.
2021-11-21 19:10:58 +01:00
Minecrell
46a7f0ae08
community/arrow-db410c: add _pmb_select="soc-qcom-msm8916-rproc" (MR 2632)
This allows disabling the modem explicitly to get a bit more RAM.
It's also not _particularly_ useful on DB410c because it only provides GPS.
2021-11-21 19:10:58 +01:00
Minecrell
dd935c0d58
community/<msm8916>: use _pmb_select="..." instead of kernel variants (MR 2632) 2021-11-21 19:10:58 +01:00
Minecrell
a9412824ea
community/soc-qcom-msm8916: introduce more flexible rproc selection (MR 2632)
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]: ...
2021-11-21 19:10:58 +01:00
Minecrell
04f2850483
community/linux-asus-me176c: upgrade to 5.4.159 (MR 2685)
[ci:skip-build]: already built successfully in CI
2021-11-18 18:06:47 +01:00
Minecrell
eff90a2071
<msm8916+secure boot-venus>: use separate firmware packages (MR 2619)
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
2021-10-23 14:41:30 -07:00
Minecrell
f84cb52a7f
<msm8916+secure boot+venus>: use separate firmware packages (MR 2619)
Rule C: Devices with secure boot but without venus on the firmware
        partition need:

  1. GPU firmware (firmware-qcom-adreno-a300)
  2. msm-firmware-loader (for wcnss, modem)
  4. device-specific -wcnss-nv firmware
  5. device-specific -venus firmware
2021-10-23 14:41:29 -07:00
Minecrell
c72ed66a27
<msm8916-secure boot+modem>: use separate firmware packages (MR 2619)
Rule A: Devices without secure boot need:
  1. GPU firmware (firmware-qcom-adreno-a300)
  2. msm-firmware-loader (for modem)
  3. firmware-qcom-msm8916-wcnss: more recent wcnss firmware
  4. device-specific -wcnss-nv firmware
  5. firmware-qcom-msm8916-venus: some packaged venus firmware
2021-10-23 14:41:29 -07:00
Minecrell
67176df2f6
arrow-db410c: use separate firmware packages (MR 2619)
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.
2021-10-23 14:41:29 -07:00
Minecrell
0b269a5601
firmware-<msm8916>: squash firmware blobs (MR 2619)
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.
2021-10-23 14:41:29 -07:00
Minecrell
3193027687
community/firmware-bq-picmt: squash firmware blobs (MR 2619)
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.
2021-10-23 14:41:29 -07:00
Minecrell
1d923c2aeb
community/firmware-qcom-db410c: package all firmware, squash, new paths (MR 2619)
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
2021-10-23 14:41:28 -07:00
Minecrell
d90dc7d4b3
community/firmware-qcom-adreno: new aport (MR 2625)
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
2021-10-23 14:32:53 -07:00
Minecrell
038186fd71
firmware-<msm8916>: drop unused firmware subpackages (MR 2613)
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]
2021-10-21 13:53:45 +02:00
Minecrell
0163ac2624
xiaomi-wt88047: fix replaces/provides of subpackages (MR 2613)
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.
2021-10-21 13:53:45 +02:00
Nikita Travkin
ac582ac2f4
samsung-gt510: Move to community (MR 2604)
[ci:skip-vercheck][ci:skip-build] Already successfully built on CI
2021-10-21 13:41:33 +02:00
Nikita Travkin
b5d3515422
samsung-gt58: Move to community (MR 2604) 2021-10-21 13:40:59 +02:00
jenneron
15dd2115cf
lenovo-a6010: move to community (MR 2577)
[ci:skip-build]: already built successfully in CI
2021-10-17 13:36:18 +02:00
jenneron
4af1db6e9e
lenovo-a6000: move to community (MR 2577) 2021-10-17 13:35:17 +02:00
Alexey Minnekhanov
d343bb49c6
linux-asus-me176c: switch to installkernel-pmos (MR 2586)
[ci:skip-build] Will never finish in time
2021-10-14 12:28:25 +03:00
Alexey Minnekhanov
f4510ded35
linux-nokia-n900: switch to installkernel-pmos (MR 2586) 2021-10-14 12:28:21 +03:00
Jakob Hauser
b0cdf66653
main/postmarketos-ui-xfce4: further improvements (MR 2506)
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).
2021-09-29 18:29:54 +03:00
Joel Selvaraj
6aea56cd98
firmware-xiaomi-beryllium: upgrade to V12.0.3.0.QEJMIXM (MR 2558) 2021-09-28 14:21:43 +02:00
Nikita Travkin
74b45d4afc
samsung-serranovelte: drop lte suffix, use msm-firmware-loader (MR 2431) 2021-09-27 15:54:04 +03:00
Minecrell
4662042bfa
wileyfox-crackling: use msm-firmware-loader (MR 2431) 2021-09-27 15:23:51 +03:00
Minecrell
e7364b1f21
bq-paella: use msm-firmware-loader (MR 2431) 2021-09-27 15:23:50 +03:00
Minecrell
74239f039e
motorola-harpia: use msm-firmware-loader (MR 2431) 2021-09-27 15:23:50 +03:00
Nikita Travkin
e24dc38ce5
xiaomi-wt88047: use msm-firmware-loader (MR 2431)
Switch to automatic firmware loading to handle regional variants of the
device automatically.
2021-09-27 15:23:50 +03:00
Nikita Travkin
a1688878a2
samsung-a5*: squash to a5, use msm-firmware-loader (MR 2431)
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.
2021-09-27 15:23:50 +03:00
Nikita Travkin
7c7f5c7300
samsung-a3*: squash to a3, use msm-firmware-loader (MR 2431)
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.
2021-09-27 15:23:50 +03:00
Johannes Marbach
95d375879c
treewide: firmware: use pmb:cross-native/!tracdeps (MR 2468)
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]
2021-09-19 18:57:36 +02:00
Dave Young
b7cc62d0c4
n900 kernel cmdline: s/tty02/ttyO2 (MR 2531)
Signed-off-by: Dave Young <dyoung@redhat.com>
2021-09-19 17:30:25 +02:00
Minecrell
26b44a94f7
device/soc-qcom-msm8916: replace msm-modem-rpmsg with msm-modem (MR 2535)
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.
2021-09-19 17:03:31 +02:00
bo41
79061c94ce
device/*: remove empty variables (MR 2534)
[ci:ignore-count] [ci:skip-vercheck]
[ci:skip-build]: built all the device packages successfully in CI
                 already
2021-09-19 16:56:34 +02:00
Dylan Van Assche
093488b82f
device-odroid-hc2: drop NetworkManager (MR 2455)
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
2021-09-10 19:32:46 -07:00
Dylan Van Assche
c3b1eeda66
odroid-hc2: move to community (MR 2455)
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.
2021-09-10 19:32:45 -07:00
Clayton Craft
1bbc4a2f9d
pine64-pinebookpro: fix audio after 5.14 kernel upgrade (MR 2473)
ucm2 paths changed after the kernel upgrade

[ci:skip-build] already built successfully in CI
2021-09-07 15:51:18 -07:00
Clayton Craft
307c46d943
device-pine64-pinetab: change ucm2 install path to support 5.14 kernel (MR 2471)
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
2021-09-05 13:43:09 -07:00
Clayton Craft
65bae8615b
device-*: don't use 'flavor' in kernel/initramfs names (MR 2426)
[ci:ignore-count]
[ci:skip-build] too many changed kernels/packages, won't complete in CI
2021-09-03 10:29:07 -07:00
Joel Selvaraj
a8cb30512f
device-xiaomi-beryllium: adjust phosh scaling (MR 2416)
The phosh scaling is made an integer to avoid scaling issues
in some apps and wallpaper.

[ci:skip-build] Already built on CI in MR
2021-08-26 02:14:48 +01:00
Joel Selvaraj
10f2001eb0
firmware-xiaomi-beryllium: upgrade to latest commit (MR 2416)
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.
2021-08-26 02:14:47 +01:00
Caleb Connolly
ac8d589210
device-oneplus-fajita: 5.14 and phosh changes (MR 2416)
Fix deviceinfo to reference the new names for fg and haptics modules.

Bump phosh scaling to 3.0
2021-08-26 02:14:47 +01:00
Caleb Connolly
8d534e86cb
device-oneplus-enchilada: 5.14 and phosh changes (MR 2416)
Fix deviceinfo to reference the new names for fg and haptics modules.

Bump phosh scaling to 3.0
2021-08-26 02:14:47 +01:00
Joel Selvaraj
487333981f
soc-qcom-sdm845: 5.14 feedbackd fix and modemmanager suspend/resume support (MR 2416)
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
2021-08-26 02:14:15 +01:00
Nikita Travkin
1e7c23fb92
community/device-xiaomi-wt88047: Add new panel module (MR 2458)
[ci:skip-build] Already successfully built on CI
2021-08-24 14:45:03 +02:00
Nikita Travkin
f8c8a96389
community/soc-qcom-msm8916: Update ucm to use JackControl (MR 2458) 2021-08-24 14:43:35 +02:00
Bobby The Builder
16d91a3514
community/device-pine64-pinetab: disable sysrq config (MR 2447)
it's already disabled in kernel config:

      sysctl: cannot stat /proc/sys/kernel/sysrq: error code 2
       *   Unable to configure kernel parameters from /etc/sysctl.d/sysrq.conf
2021-08-22 19:24:17 +02:00
Bart Ribbers
2a185f64d5
pine64-rockpro64: add myself as co-maintainer (MR 2362)
[ci:skip-vercheck]
[ci:skip-build] already built successfully in CI]
2021-08-09 20:16:28 -07:00
Bart Ribbers
80d5c34ac7
pine64-rockpro64: move to community (MR 2362)
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
2021-08-09 20:06:37 -07:00
Caleb Connolly
9e2a6201d4
firmware-oneplus-sdm845: add venus firmware (MR 2418)
I forgot to include this firmware in the list, lets deal with that now
>.<

[ci:skip-build] already built successfully in CI
2021-08-09 20:04:03 -07:00