[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID:
<CAGwozwEKzurj7qeAnzvWjJbf03da70ij5DtOJ7svZaoJ7vK=aA@mail.gmail.com>
Date: Tue, 28 Oct 2025 18:27:42 +0100
From: Antheas Kapenekakis <lkml@...heas.dev>
To: Matthew Schwartz <matthew.schwartz@...ux.dev>
Cc: Shenghao Ding <shenghao-ding@...com>, Baojun Xu <baojun.xu@...com>,
Takashi Iwai <tiwai@...e.com>, linux-sound@...r.kernel.org,
linux-kernel@...r.kernel.org,
stable@...r.kernel.org
Subject: Re: [PATCH v1 2/2] ALSA: hda/realtek: Add match for ASUS Xbox Ally
projects
On Mon, 27 Oct 2025 at 20:58, Matthew Schwartz
<matthew.schwartz@...ux.dev> wrote:
>
> On 10/27/25 1:23 AM, Antheas Kapenekakis wrote:
> > On Mon, 27 Oct 2025 at 07:02, Matthew Schwartz
> > <matthew.schwartz@...ux.dev> wrote:
> >>
> >>
> >>
> >>> On Oct 26, 2025, at 12:19 PM, Antheas Kapenekakis <lkml@...heas.dev> wrote:
> >>>
> >>> On Sun, 26 Oct 2025 at 20:16, Antheas Kapenekakis <lkml@...heas.dev> wrote:
> >>>>
> >>>> Bind the realtek codec to TAS2781 I2C audio amps on ASUS Xbox Ally
> >>>> projects. While these projects work without a quirk, adding it increases
> >>>> the output volume significantly.
> >>>
> >>> Also, if you can upstream the firmware files:
> >>> TAS2XXX13840.bin
> >>> TAS2XXX13841.bin
> >>> TAS2XXX13940.bin
> >>> TAS2XXX13941.bin
> >>
> >> This is the firmware at [1], correct? I’m testing the series with that firmware on my ROG Xbox Ally X, and I found something interesting.
> >>
> >> By default, with just your kernel patches and the firmware files hosted at [1], my unit is loading:
> >>
> >> tas2781-hda i2c-TXNW2781:00-tas2781-hda.0: Loaded FW: TAS2XXX13840.bin, sha256: 58cffa36ae23a2d9b2349ecb6c1d4e89627934cd79218f6ada06eaffe6688246
> >>
> >> However, with this firmware file, TAS2XXX13840.bin, there is significant audio clipping above 75% speaker level on my individual unit.
> >>
> >> Then, I tried renaming the other firmware file, TAS2XXX13841.bin, into TAS2XXX13840.bin. Now my unit is loading:
> >>
> >> tas2781-hda i2c-TXNW2781:00-tas2781-hda.0: Loaded FW: TAS2XXX13840.bin, sha256: 0fda76e7142cb455df1860cfdb19bb3cb6871128b385595fe06b296a070f4b8c
> >>
> >> With this firmware file, audio is perfect all the way to 100% speaker level.
> >>
> >> If I recall, there have been other ASUS products that required matching amplifier hardware with firmware correctly, right? It looks like this might be another case of since it seems my unit is loading the wrong firmware for its amplifiers.
> >
> > The original Ally X had a similar setup, yes.
> >
> > First patch might not be perfect and your speaker pin might be 1. My
> > Xbox Ally's pin is 1. It loads:
> > Loaded FW: TAS2XXX13941.bin, sha256:
> > 0fda76e7142cb455df1860cfdb19bb3cb6871128b385595fe06b296a070f4b8c
> >
> > And it sounds loud and crisp. So the pin is read.
> >
> > I had multiple users verify the X works, but perhaps it is not perfect
> > yet. Make sure you are not using a dsp that might be interfering
>
> Seems like there have been other reports similar to mine on Xbox Ally X, where flipping the firmware files by renaming them fixes sound issues for them.
>
> @TI, Maybe something is different with the conditional logic for the ROG Xbox Ally X? The current GPIO-detected speaker_id doesn't always correspond to the correct firmware choice on this model it seems.
Yeah, it seems that specifically on the Xbox Ally X, the firmwares are
swapped around? What could be the case for that?
I had three users with popping and dropped audio swap the firmware on
their X and they said the other one fixed it. And another two without
issues swapping the firmware and saying it does not make a
quantifiable change.
Antheas
Antheas
> >
> > Antheas
> >
> >> Matt
> >>
> >> [1]: https://github.com/hhd-dev/hwfirm
> >>
> >>>
> >>> That would be great :)
> >>>
> >>> Antheas
> >>>
> >>>> Cc: stable@...r.kernel.org # 6.17
> >>>> Signed-off-by: Antheas Kapenekakis <lkml@...heas.dev>
> >>>> ---
> >>>> sound/hda/codecs/realtek/alc269.c | 2 ++
> >>>> 1 file changed, 2 insertions(+)
> >>>>
> >>>> diff --git a/sound/hda/codecs/realtek/alc269.c b/sound/hda/codecs/realtek/alc269.c
> >>>> index 8ad5febd822a..d1ad84eee6d1 100644
> >>>> --- a/sound/hda/codecs/realtek/alc269.c
> >>>> +++ b/sound/hda/codecs/realtek/alc269.c
> >>>> @@ -6713,6 +6713,8 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
> >>>> SND_PCI_QUIRK(0x1043, 0x12f0, "ASUS X541UV", ALC256_FIXUP_ASUS_MIC_NO_PRESENCE),
> >>>> SND_PCI_QUIRK(0x1043, 0x1313, "Asus K42JZ", ALC269VB_FIXUP_ASUS_MIC_NO_PRESENCE),
> >>>> SND_PCI_QUIRK(0x1043, 0x1314, "ASUS GA605K", ALC285_FIXUP_ASUS_GA605K_HEADSET_MIC),
> >>>> + SND_PCI_QUIRK(0x1043, 0x1384, "ASUS RC73XA", ALC287_FIXUP_TXNW2781_I2C),
> >>>> + SND_PCI_QUIRK(0x1043, 0x1394, "ASUS RC73YA", ALC287_FIXUP_TXNW2781_I2C),
> >>>> SND_PCI_QUIRK(0x1043, 0x13b0, "ASUS Z550SA", ALC256_FIXUP_ASUS_MIC_NO_PRESENCE),
> >>>> SND_PCI_QUIRK(0x1043, 0x1427, "Asus Zenbook UX31E", ALC269VB_FIXUP_ASUS_ZENBOOK),
> >>>> SND_PCI_QUIRK(0x1043, 0x1433, "ASUS GX650PY/PZ/PV/PU/PYV/PZV/PIV/PVV", ALC285_FIXUP_ASUS_I2C_HEADSET_MIC),
> >>>> --
> >>>> 2.51.1
> >>>>
> >>>>
> >>>
> >>>
> >>
> >>
> >
>
>
Powered by blists - more mailing lists