Tested on Omarchy / Arch Linux, kernel 7.0.0+ mainline (the AMD ACP70 PX13 quirks landed in mainline 2026-03-16 and ship in 7.0).
This was the first publicly-confirmed working speaker setup for this laptop — kernel side worked out of the box on 7.0, but the TAS2783 SmartAmp speaker calibration blobs (1714-1-8.bin, 1714-1-B.bin) are not yet in linux-firmware. They ship in the official ASUS Windows driver. Below is a recipe to extract your own copy and install them.
If you're hitting slave-tas2783 ... Direct firmware load for 1714-1-8.bin failed with error -2 in dmesg and wpctl status shows only Dummy Output, this is for you.
- Linux 7.0 mainline (e.g. AUR
linux-mainlinepackage). Stocklinux 6.19.xdoes not have the ACP70 PX13 quirks; you'll see only anacp-pdm-machcapture-only card. - Set the right Strix Halo kernel cmdline (optional but recommended):
iommu=pt amdgpu.gttsize=126976 ttm.pages_limit=32505856(raises GTT to ~124 GiB for unified memory).
sudo pacman -S 7zip wine inotify-toolsp7zip from extra was renamed to 7zip in current Arch.
Save as extract-px13-tas2783-fw.sh:
#!/usr/bin/env bash
set -euo pipefail
# ASUS ProArt PX13 HN7306 TAS2783 firmware extraction
# Downloads official ASUS TI SmartAmp DCH driver, extracts the
# 1714-1-8.bin / 1714-1-B.bin blobs the kernel needs, installs them.
WORK=/tmp/px13-tas2783
URL="https://dlcdnets.asus.com/pub/ASUS/nb/Image/Driver/Audio/47519/SmartAMP_TI_DCH_TexasInstruments_Z_V6.3.1.15_47519.exe?model=HN7306EAC"
mkdir -p "$WORK"
cd "$WORK"
echo "==> Downloading ASUS TI SmartAmp driver (4.3 MB)..."
curl -fL -A "Mozilla/5.0" -o smartamp.exe "$URL"
echo "==> Initialising wine prefix..."
export WINEPREFIX="$WORK/wineprefix" WINEDEBUG=-all
wineboot -i >/dev/null 2>&1 || true
echo "==> Running installer; snapshotting temp files..."
rm -rf "$WORK/snapshot"
mkdir -p "$WORK/snapshot"
TEMP="$WINEPREFIX/drive_c/users/$USER/AppData/Local/Temp"
# Watch temp dir while installer runs and grab files before they get cleaned up.
(
while true; do
for d in "$TEMP"/is-*; do
[ -d "$d" ] && rsync -a "$d/" "$WORK/snapshot/" 2>/dev/null
done
sleep 0.2
done
) &
WATCHER=$!
trap 'kill $WATCHER 2>/dev/null || true' EXIT
wine "$WORK/smartamp.exe" /SP- /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /LOG=Z:\\tmp\\px13-tas2783\\install.log 2>/dev/null
sleep 5
kill $WATCHER 2>/dev/null || true
# Find the firmware blobs.
SRC=$(find "$WORK/snapshot" -name "1714-1-0x8.bin" | head -1)
[ -n "$SRC" ] || { echo "ERROR: Did not find 1714-1-0x8.bin. Snapshot:"; find "$WORK/snapshot" | head; exit 1; }
SRC_DIR=$(dirname "$SRC")
echo "==> Found firmware in $SRC_DIR"
echo "==> Installing to /lib/firmware/ (will prompt for sudo)..."
sudo install -m 644 "$SRC_DIR/1714-1-0x8.bin" /lib/firmware/1714-1-8.bin
sudo install -m 644 "$SRC_DIR/1714-1-0xB.bin" /lib/firmware/1714-1-B.bin
sudo install -d -m 755 /lib/firmware/ti/audio/tas2783
sudo install -m 644 "$SRC_DIR/1714-1-0x8.bin" /lib/firmware/ti/audio/tas2783/1714-1-8.bin
sudo install -m 644 "$SRC_DIR/1714-1-0xB.bin" /lib/firmware/ti/audio/tas2783/1714-1-B.bin
echo
echo "==> Done. Firmware installed."
echo " Reboot, then check: dmesg | grep tas2783"
echo " You should NOT see 'Direct firmware load for 1714-1-* failed'."Make it executable, run it:
chmod +x extract-px13-tas2783-fw.sh
./extract-px13-tas2783-fw.sh
sudo rebootThe kernel will now load the firmware, but PipeWire's auto-profile is off because UCM doesn't expose a "Speakers" port for this card. Force the pro-audio profile and pin the speaker sink as default.
Save ~/.config/wireplumber/wireplumber.conf.d/51-strix-halo-audio.conf:
monitor.alsa.rules = [
{
matches = [
{ device.name = "alsa_card.pci-0000_c4_00.5-platform-amd_sdw" }
]
actions = {
update-props = {
device.profile = "pro-audio"
}
}
}
{
matches = [
{ node.name = "alsa_output.pci-0000_c4_00.5-platform-amd_sdw.pro-output-2" }
]
actions = {
update-props = {
session.suspend-timeout-seconds = 0
node.description = "Internal Speakers (TAS2783)"
}
}
}
]
Restart WirePlumber:
systemctl --user restart wireplumber pipewire pipewire-pulse
pactl set-default-sink alsa_output.pci-0000_c4_00.5-platform-amd_sdw.pro-output-2Test:
pw-cat --target=alsa_output.pci-0000_c4_00.5-platform-amd_sdw.pro-output-2 \
--playback /usr/share/sounds/alsa/Front_Center.wavThe SoundWire bus sometimes loses sync after suspend or long idle. Quick fix without reboot:
pactl set-card-profile alsa_card.pci-0000_c4_00.5-platform-amd_sdw off
sleep 1
pactl set-card-profile alsa_card.pci-0000_c4_00.5-platform-amd_sdw pro-audioThe session.suspend-timeout-seconds = 0 rule above prevents most occurrences.
| Status | |
|---|---|
| Internal speakers (TAS2783) | ✅ Working |
| 3.5mm headphone jack (RT721 SDCA) | ✅ Working (separate sink, pro-output-0) |
| HDMI audio | ✅ Working |
| Bluetooth audio | ✅ Working |
| Headphone jack auto-switch on plug-in | ❌ Manual sink switch needed |
| Microphone (PDM array) |
- Linux's
slave-tas2783driver (sound/soc/codecs/tas2783-sdw.c) callsrequest_firmware_nowait()for files matching%04X-%1X-%1X.bin. With ASUS subsystem ID0x1714and SoundWire link 1, slave addresses 0x8 and 0xB, that resolves to1714-1-8.binand1714-1-B.bin. linux-firmwareships TAS2783 blobs only for HP/Dell systems (subsystem IDs0x8E86,0x8E87,0x8EF5,0x8EF6). No ASUS blobs upstream as of 2026-04-25.- The blobs are device-specific calibration/protection data programmed by ASUS at the factory. They're shipped in the Windows DCH driver under
Firmwares/<subsysID>-<link>-0x<addr>.bin.
- CachyOS issue documenting same hardware: CachyOS/linux-cachyos#737
- Mainline ACP70 PX13 patch series (Mark Brown, 2026-03-16): https://lkml.org/lkml/2026/3/16/1730
- Driver source: https://github.com/torvalds/linux/blob/master/sound/soc/codecs/tas2783-sdw.c
Contributed by a Linux user who got tired of using bluetooth headphones. If you have working firmware blobs for related ASUS models (subsystem IDs near 0x1714), please open an MR against linux-firmware.