Add XPS 13 Panther Lake speaker firmware aliases (#823)
Give the DX13260 aliases their own ownership paths so a stable refresh can retain them while Arch continues updating the stock firmware. Include every speaker ID and target in the boot image. Retain the package identity across channel transitions so pacman can restore the overlay on downgrades. Keep the existing shim for the staged consumer migration. Co-authored-by: Codex GPT-6.1-Sol XHigh <noreply@openai.com>
This commit is contained in:
1 parent
e3dfdd376c
commit
71154a8fdc
5 files changed
+129
No files matched your search
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"source": "local",
|
||||
"release_ring": "fast",
|
||||
"sync": false
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
# Maintainer: Spencer Bull <spencerbull2554@gmail.com>
|
||||
|
||||
pkgname=linux-firmware-cirrus-dx13260
|
||||
pkgver=20260810
|
||||
pkgrel=1
|
||||
pkgdesc="Cirrus speaker firmware aliases for Dell XPS 13 DX13260 Panther Lake"
|
||||
arch=('x86_64')
|
||||
url="https://gitlab.com/kernel-firmware/linux-firmware"
|
||||
license=('LicenseRef-cirrus')
|
||||
depends=('linux-firmware-cirrus>=20260810-2')
|
||||
options=('!strip' '!debug')
|
||||
_cirrus=linux-firmware-cirrus-20260910-2-any.pkg.tar.zst
|
||||
source=(
|
||||
"https://archive.archlinux.org/packages/l/linux-firmware-cirrus/${_cirrus}"
|
||||
"https://archive.archlinux.org/packages/l/linux-firmware-cirrus/${_cirrus}.sig"
|
||||
"dell-xps13-ptl-firmware.conf"
|
||||
)
|
||||
noextract=("${_cirrus}")
|
||||
sha256sums=('70100c551b079bd8abec3d9c96a16defd04766b2a4afc6d7be9128d37e9840f7'
|
||||
'SKIP'
|
||||
'760385ad796818f9d60af3bc62c9670882c32050063f1d6086fb12f8817ed3fc')
|
||||
validpgpkeys=('83BC8889351B5DEBBB68416EB8AC08600F108CDF')
|
||||
|
||||
package() {
|
||||
local firmware_dir="${pkgdir}/usr/lib/firmware/updates/cirrus"
|
||||
install -d "$firmware_dir"
|
||||
|
||||
# The updates directory avoids ownership conflicts with native Arch aliases.
|
||||
local speaker
|
||||
for speaker in 1 2 3; do
|
||||
ln -s ../../cirrus/cs35l56/CS35L56_Rev4.5.9.wmfw.zst \
|
||||
"$firmware_dir/cs35l56-b2-dsp1-misc-10280e54-spkid${speaker}.wmfw.zst"
|
||||
ln -s "../../cirrus/cs35l56-b2-dsp1-misc-10280e53-spkid${speaker}-ampl.bin.zst" \
|
||||
"$firmware_dir/cs35l56-b2-dsp1-misc-10280e54-spkid${speaker}-ampl.bin.zst"
|
||||
ln -s "../../cirrus/cs35l56-b2-dsp1-misc-10280e53-spkid${speaker}-ampr.bin.zst" \
|
||||
"$firmware_dir/cs35l56-b2-dsp1-misc-10280e54-spkid${speaker}-ampr.bin.zst"
|
||||
done
|
||||
|
||||
install -Dm644 dell-xps13-ptl-firmware.conf \
|
||||
"${pkgdir}/etc/mkinitcpio.conf.d/dell-xps13-ptl-firmware.conf"
|
||||
|
||||
install -d "${pkgdir}/usr/share/licenses/${pkgname}"
|
||||
bsdtar -xOf "${srcdir}/${_cirrus}" usr/share/licenses/linux-firmware-cirrus/LICENSE.cirrus \
|
||||
>"${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.cirrus"
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
This package supplies the nine Dell XPS 13 DX13260 Panther Lake `10280e54` firmware aliases, under `/usr/lib/firmware/updates/cirrus`. The kernel and mkinitcpio search this directory before the stock firmware directory. A package-owned mkinitcpio drop-in explicitly includes all nine links and their targets in the boot image, because module firmware globs alone do not include every speaker ID. Each link targets the exact existing Wildcat Lake tuning or Rev4.5.9 firmware target used by Arch’s native aliases. Stock `linux-firmware-cirrus` continues to own and update every firmware binary; this package neither provides nor conflicts with it.
|
||||
|
||||
Omarchy integration should install this package on every matching XPS 13 DX13260 Panther Lake machine, including machines currently using native firmware. Keeping its package identity installed lets a channel downgrade restore the overlay through pacman alone, even after migrations have completed. The initial links exactly match the current native aliases; a later native-firmware channel transition removes the overlay payload. Listing it in `omarchy-other.packages` makes it available offline without installing it on other hardware. It can coexist with both the old same-name Omarchy shim and native Arch firmware; a stable refresh may remove the old shim’s aliases without removing these separately owned links.
|
||||
|
||||
When a channel’s core snapshot supplies native aliases, publish a higher-version empty transitional package depending on `linux-firmware-cirrus>=20260910-2`, with no firmware links or mkinitcpio drop-in. The existing Omarchy firmware path hook rebuilds the UKIs when the links are removed; no new hook is needed. That transaction removes the overlay while upgrading stock firmware, so the native aliases take over. Publish the transition only after the channel supplies the required stock version, and retain it for late updaters. Keep the earlier overlay package in older channels: a downgrade from the native transition back to an older snapshot must downgrade both packages together and restore the links. Do not publish the higher native dependency to an older channel. Removing this recipe or its repository entry alone leaves installed overlays in place and could mask future native PTL tuning.
|
||||
|
||||
This package does not replace the separate Panther Lake display workaround.
|
||||
@@ -0,0 +1,12 @@
|
||||
# Include every speaker ID and amplifier alias before the encrypted root is available.
|
||||
FILES+=(
|
||||
/usr/lib/firmware/updates/cirrus/cs35l56-b2-dsp1-misc-10280e54-spkid1-ampl.bin.zst
|
||||
/usr/lib/firmware/updates/cirrus/cs35l56-b2-dsp1-misc-10280e54-spkid1-ampr.bin.zst
|
||||
/usr/lib/firmware/updates/cirrus/cs35l56-b2-dsp1-misc-10280e54-spkid1.wmfw.zst
|
||||
/usr/lib/firmware/updates/cirrus/cs35l56-b2-dsp1-misc-10280e54-spkid2-ampl.bin.zst
|
||||
/usr/lib/firmware/updates/cirrus/cs35l56-b2-dsp1-misc-10280e54-spkid2-ampr.bin.zst
|
||||
/usr/lib/firmware/updates/cirrus/cs35l56-b2-dsp1-misc-10280e54-spkid2.wmfw.zst
|
||||
/usr/lib/firmware/updates/cirrus/cs35l56-b2-dsp1-misc-10280e54-spkid3-ampl.bin.zst
|
||||
/usr/lib/firmware/updates/cirrus/cs35l56-b2-dsp1-misc-10280e54-spkid3-ampr.bin.zst
|
||||
/usr/lib/firmware/updates/cirrus/cs35l56-b2-dsp1-misc-10280e54-spkid3.wmfw.zst
|
||||
)
|
||||
+60
@@ -0,0 +1,60 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
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
|
||||
=OXp6
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
Reference in new issue
Block a user