[install][upgrade] Install Steam Deck firmware files
Closed this issue · 3 comments
LukeShortCloud commented
For Steam Deck OLED support. This is currently not packaged in Arch Linux or the AUR. SteamOS provides a linux-neptune-firmware
package but it conflicts with linux-firmware
and lacks firmware outside of what is needed for the Steam Deck itself.
Related: #809
LukeShortCloud commented
Bazzite manually downloads and extracts the firmware: https://github.com/ublue-os/bazzite/blob/v2.4.0/Containerfile#L637
LukeShortCloud commented
Using the firmware files and linux-fsync-nobara-bin
results in Wi-Fi working on the Steam Deck OLED! Audio is still not working. It probably needs a special configuration file.
mkdir -p /tmp/linux-firmware-neptune && \
curl -Lo /tmp/linux-firmware-neptune/cs35l41-dsp1-spk-cali.bin https://gitlab.com/evlaV/linux-firmware-neptune/-/raw/jupiter-20231113.1/cs35l41-dsp1-spk-cali.bin && \
curl -Lo /tmp/linux-firmware-neptune/cs35l41-dsp1-spk-cali.wmfw https://gitlab.com/evlaV/linux-firmware-neptune/-/raw/jupiter-20231113.1/cs35l41-dsp1-spk-cali.wmfw && \
curl -Lo /tmp/linux-firmware-neptune/cs35l41-dsp1-spk-prot.bin https://gitlab.com/evlaV/linux-firmware-neptune/-/raw/jupiter-20231113.1/cs35l41-dsp1-spk-prot.bin && \
curl -Lo /tmp/linux-firmware-neptune/cs35l41-dsp1-spk-prot.wmfw https://gitlab.com/evlaV/linux-firmware-neptune/-/raw/jupiter-20231113.1/cs35l41-dsp1-spk-prot.wmfw && \
xz --check=crc32 /tmp/linux-firmware-neptune/cs35l41-dsp1-spk-{cali.bin,cali.wmfw,prot.bin,prot.wmfw} && \
mv -vf /tmp/linux-firmware-neptune/* /usr/lib/firmware/cirrus/ && \
rm -rf /tmp/linux-firmware-neptune && \
mkdir -p /tmp/linux-firmware-galileo && \
curl https://gitlab.com/evlaV/linux-firmware-neptune/-/archive/jupiter-20231113.1/linux-firmware-neptune-jupiter-20231113.1.tar.gz?path=ath11k/QCA206X -o /tmp/linux-firmware-galileo/ath11k.tar.gz && \
tar --strip-components 1 --no-same-owner --no-same-permissions --no-overwrite-dir -xvf /tmp/linux-firmware-galileo/ath11k.tar.gz -C /tmp/linux-firmware-galileo && \
xz --check=crc32 /tmp/linux-firmware-galileo/ath11k/QCA206X/hw2.1/* && \
mv -vf /tmp/linux-firmware-galileo/ath11k/QCA206X /usr/lib/firmware/ath11k/QCA206X && \
rm -rf /tmp/linux-firmware-galileo/ath11k && \
rm -rf /tmp/linux-firmware-galileo/ath11k.tar.gz && \
curl -Lo /tmp/linux-firmware-galileo/hpbtfw21.tlv https://gitlab.com/evlaV/linux-firmware-neptune/-/raw/jupiter-20231113.1/qca/hpbtfw21.tlv && \
curl -Lo /tmp/linux-firmware-galileo/hpnv21.309 https://gitlab.com/evlaV/linux-firmware-neptune/-/raw/jupiter-20231113.1/qca/hpnv21.309 && \
curl -Lo /tmp/linux-firmware-galileo/hpnv21.bin https://gitlab.com/evlaV/linux-firmware-neptune/-/raw/jupiter-20231113.1/qca/hpnv21.bin && \
curl -Lo /tmp/linux-firmware-galileo/hpnv21g.309 https://gitlab.com/evlaV/linux-firmware-neptune/-/raw/jupiter-20231113.1/qca/hpnv21g.309 && \
curl -Lo /tmp/linux-firmware-galileo/hpnv21g.bin https://gitlab.com/evlaV/linux-firmware-neptune/-/raw/jupiter-20231113.1/qca/hpnv21g.bin && \
xz --check=crc32 /tmp/linux-firmware-galileo/* && \
mv -vf /tmp/linux-firmware-galileo/* /usr/lib/firmware/qca/ && \
rm -rf /tmp/linux-firmware-galileo && \
rm -rf /usr/share/alsa/ucm2/conf.d/acp5x/Valve-Jupiter-1.conf
https://github.com/ublue-os/bazzite/blob/v3.0.0/Containerfile#L70
LukeShortCloud commented
I have created a PKGBUILD for linux-firmware-valve
and submitted it to the AUR.