Since audio over DisplayPort (over USB-C) is supported in the kernel,
add a UCM config to complete support.
To be clear, this might not work out of the box yet, I hope it'll start
working better when another audio route (speaker or microphone) is
working from kernel side.
[ci:skip-build]: Already built successfully in CI.
Since the GPU is supported since a while enable
deviceinfo_gpu_accelerated to let pmbootstrap show UIs like phosh.
Also with modem working with patched tqftpserv, we need the
msm-modem-uim-selection dependency, so add that as well.
In mainline Linux these paths will be used, move the firmware packaging
there. By doing this we drop downstream support. Support could be
restored by adding some symlinks in a downstream-specific package if
required.
We also start squashing the firmware into .mbn format with pil-squasher.
For now we keep the files in _wififiles in their old location, I'm not
sure yet where they need to go since I didn't have wcnss working on
mainline yet.
The configfs gadget can provide the actual interface name, which may not be
the default "usb0" since another gadget driver might have claimed "usb0".
This code is based on the `start_unudhcpd` function in `init_functions.sh`
[ci:skip-build] already built successfully in CI
Before this change the script assumed that the device has only one UDC.
However it is possible for a device to have multiple UDCs, in which case
the deviceinfo is the appropriate place to specify which one should be used.
This change adds an optional deviceinfo variable `deviceinfo_usb_network_udc`
to specify the UDC that should be used.
Also, before this change the script assumed the USB network interface name is
"usb0". But other gadget drivers like `g_cdc` can claim USB interfaces
before the initramfs script gets around to creating one for USB networking,
so the interface might be "usb1" or something else. The configfs gadget itself
can provide the actual interface name, so this change makes the script
use that.
Required for getting mobile data up, otherwise ModemManager fails to
connect with:
Status | connected: no
| connection error name: org.freedesktop.ModemManager1.Error.MobileEquipment.Unknown
| connection error message: failed to create net link for device: failed to add link for device: Could not allocate link: Failed to add link with mux id 1: Netlink message with transaction 27 failed
[ci:skip-build]: already built successfully in CI
Required for getting mobile data up, otherwise ModemManager fails to
connect with:
Status | connected: no
| connection error name: org.freedesktop.ModemManager1.Error.MobileEquipment.Unknown
| connection error message: failed to create net link for device: failed to add link for device: Could not allocate link: Failed to add link with mux id 1: Netlink message with transaction 27 failed
In many cases, when fw is installed in /lib/firmware, some of it ends up
in the initramfs. In those situations, mkinitfs should run so that the
initramfs gets the latest fw. This will result in mkinitfs possibly
running in cases where it doesn't matter (i.e. device has fw in
/lib/firmware but none is used in the initramfs), but I think the
trade-off is worth it.
This also breaks the triggers= line into multiple lines so that it's
easier to review/maintain. We can't prepend whitespace on these lines
since the apkbuild parser expects dirs to be separated by ":"
See similar patch in pmbootstrap for rationale:
27618d5ffd
W504 ignore is removed as the rule does not exist in Ruff. But, since it
was ignored anyway, this does not matter.
Previously, the modem firmware would be loaded from the modem partition
using this firmware loader. As of the 6.5.4 SDM670 kernel upgrade, the
firmware is installed and loaded from the firmware package. Drop the
dependency on the msm-firmware-loader, which is now unused.
We do not want this going forward as we will be changing the wallpaper
on a bi-yearly basis and we do not want to have perform shotgun surgery
every time we do so.
[ci:skip-build]: already built successfully in CI
Krane doesn't have a headphone jack, which caused audio server issues
for me. Add a check to only enable the headphone and headset mic device
on non-Krane boards. Also improve the formatting and remove
ChromeOS-specifc options.
[ci:skip-build]: already built successfully in CI
I was building a branch archive previously, which meant that rebuilding
would fail if someone pushed to the branch upstream (the archive
checksum would change)... so I've reverted back to building from a
specific commit for now.
pkgrel was increased because this commit includes a couple of
audio-related patches that weren't included in the previous packaging of
the 6.7 branch.
[ci:skip-build] Already build-tested on Gitlab CI
Similarly to how it was done for xiaomi-beyllium with varying
display panels, add kernel variant for clover-plus.
Mi Pad 4 Plus is very very similar to regular Mi Pad 4,
but it has different panel and different touchscreen.
Therefore it uses different device tree in kernel - and it
is the only changed line in deviceinfo file.
Signed-off-by: Alexey Minnekhanov <alexeymin@postmarketos.org>
[ci:skip-build]: Already built successfully in CI.
In order to make it work properly, the fcc unlock script from MM should
also be enabled... This info will be added to the device's wiki page for
now since upstream MM discourages distros from enabling these unlock
scripts by default...
fixes https://gitlab.com/postmarketOS/pmaports/-/issues/2489
[ci:skip-build]: Already built successfully in CI.
The fbdev backend was removed with Weston 10 which has been out for a
good while now. As such, it doesn't matter whether Xwayland works or not
since Weston won't work at all --- the DRM backend, which is what would
get used instead of fbdev with this removed, won't work on downstream
kernels like the one used by this device.
[ci:ignore-count]
[ci:skip-build]: Already built successfully in CI.
The fbdev backend was removed with Weston 10 which has been out for a
good while now. As such, it doesn't matter whether Xwayland works or not
since Weston won't work at all --- the DRM backend, which is what would
get used instead of fbdev with this removed, won't work on downstream
kernels like the one used by this device.