The kernel couldn't be compiled. Additional patches were necessary to compile the linux kernel again.
[ci:skip-build]: already built successfully in CI
This does not yet switch to mainline wifi driver [^1]. I will do that later
so that if that needs to be reverted the kernel upgrade itself can stay.
[^1]: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/3420
[ci:skip-build]: already built successfully in CI
modules-initfs: Add touchscreen and panels, drop gpi and spi
1. Add the touchscreen (nt36xxx-spi), panels (panel-huaxing-nt36672c,
panel_tianma_nt36672c) and wled to modules-initfs, as these drivers
have been switched to modules.
2. Drop GPI and SPI from the module list as they have been configured
as built-in within the kernel.
Refine nonfree firmware dependencies:
1. Removed the common GPU firmware package from soc-qcom-sm7150 and
subsequently re-added it to firmware-xiaomi-surya in earlier commits.
We now ensure the GPU ZAP firmware is installed by adding
firmware-xiaomi-surya-gpu as a dependency to nonfree_firmware.
2. Incorporated firmware-xiaomi-surya-sensors into nonfree_firmware,
following its prior inclusion in firmware-xiaomi-surya.
3. Extended the integration of the soc-qcom-sm7150-libssc-180-degrees
udev rule into nonfree_firmware, building on its earlier addition to
soc-qcom-sm7150.
4. Install firmware unconditionally and provide a path for hexagonfs.
The Xiaomi POCO X3 NFC (xiaomi-surya) has two possible panel variants:
Huaxing and Tianma. The kernel dts file has been split to accommodate
these variants. Update the device package to enable panel selection
during the pmbootstrap init.
Co-authored-by: Jens Reidel <adrian@travitia.xyz>
Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
1. Added maintainers information.
2. Use a new method for firmware installation.
3. Add firmware for sensors.
Co-authored-by: Jens Reidel <adrian@travitia.xyz>
Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
Drop the signed A615 GPU ZAP firmware from soc-qcom-sm7150 due to
compatibility issues causing crashes on Xiaomi (sweet/courbet) devices.
This firmware will be re-added in device-specific firmware packages
without being added to initramfs modules. Removing this firmware from
initramfs modules will not impact FDE functionality, as it is not
necessary for basic image display on panels.
Removal from initramfs modules is due to a change in the path to the
A615 GPU ZAP firmware, now device-specific.
Depend on new alsa ucm config package.
Add hexagonrpcd as a dependency and enable the
hexagonrpcd-adsp-sensorspd service for SSC.
Implement accel libssc_180_degrees mount matrix:
Introduce new udev rules tailored for Xiaomi devices (surya/davinci)
and potentially applicable to a broader range of sm7150 devices.
These rules are added to the SoC package and will be set as dependencies
in device packages for nonfree_firmware in subsequent commits.
Drop userspace pd-mapper, we have switched to the in-kernel
pd-mapper.
Add bootmac to set bt mac address.
Install nonfree firmware unconditionally.
Co-developed-by: Danila Tikhonov <danila@jiaxyga.com>
Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
Co-developed-by: Jens Reidel <adrian@travitia.xyz>
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
GTK shipped the ngl (new GL) renderer last year and deprecated the
legacy gl renderer. In GTK 4.17 this renderer has been removed entirely,
which means the devices that were forcing the use of this legacy
renderer need to now fallback to software rendering instead.
Fixes: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/3533
Signed-off-by: Sam Day <me@samcday.com>
[ci:skip-build]: already built successfully in CI
This replaces the downstream kernel with a near-to-mainline kernel, and also adds a msm8930-specific mainline package. While this removes some functionality (screen, touchscreen), this makes the boot more stable (boots no matter if charging or not). To flash this, you first need to flash lk2nd, and then flash to the userdata partition with pmbootstrap flasher flash_rootfs --partition userdata. You might need to wipe the system partition. The boot finishes, but to get USB networking, you might need to dis- and re-connect the device ca. 10 seconds after (re-)booting. SSH and internet-over-USB works fully.
Suddenly apk wants to install other ucm pkgs that conflict with
soc-qcom-sdm845-ucm, like the soc-qcom-msm8996-ucm pkg. Later when the
sdm845-ucm is installed it conflicts with the previously installed (and
incorrect) ucm pkg.
This SOC pkg depends on alsa-utils from e95d28a6, but the
call_audio_idle_suspend_workaround.sh that was added in that commit
doesn't actually seem to be using apps from alsa-utils, so maybe it's
safe to remove that dependency and fix an issue where apk will sometimes
install the wrong alsa-ucm-conf pkg for a device...
[ci:skip-build]: already built successfully in CI
By sharing the config file and making the systemd unit files match the
openRC ones as close as possible.
Also fix the q6voiced.conf path while on it.
Co-authored-by: Clayton Craft <clayton@craftyguy.net>
By sharing the config file and making the systemd unit files match the
openRC ones as close as possible.
Co-authored-by: Clayton Craft <clayton@craftyguy.net>
Drop all uses of the /etc/skel feature for adding configuration files and
scripts to the user's $HOME. Files installed via /etc/skel are outside the
control of the package manager and may result in broken installations. At the
least, they are not updateable from the packaging.
To implement this:
* drop $HOME/.protip_shell.sh, whose usefulness is questionable
* relocate i3blocks blocklets to /usr/share, and the config file to /etc/xdg,
which is an i3blocks' standard search path (`man i3blocks`)
* move the i3 configuration file to /etc/xdg, from where it can be picked up
and included by the config file provided via postmarketos-ui-i3wm. Configs
from $HOME are still parsed, and will be honored by i3wm, subject to i3's
limitations in connection with including extra config files
* at i3 startup, with the help of an external script, ensure there is an i3
config file in $HOME, even if empty. This prevents i3-config-wizard from
running and mangling the config files
* convert xdefaults to Xresources and store in /usr/share/X11. Load it to on
the environment by calling `xrdb` during i3 startup