4

The audio quality on the XPS15 9530 is god awful. The speakers sound beautiful on windows, but absolute dog on Linux. People seem to be having this issue over multiple distros, I believe it is an ongoing issue.

The only bit of info I have that may be useful is that the XPS15 9530 uses the Realtek ALC3281 codec, however, there are multiple places in the kernel and throughout my system where the ALC298 is referenced, which is the chip that was used in the XPS15 9510 and 9520 (I think). THe ALC3281 does not seem to appear on any of my logs, but the ALC298 is everywhere. I hope that information is useful.

This might be useful: https://www.reddit.com/r/DellXPS/commen … io_issues/ This is a kernel patch I found for the 9530, but it doesn't seem to work:https://www.spinics.net/lists/alsa-devel/msg161419.html This is a bugzilla report of people having the same issue: https://bugzilla.kernel.org/show_bug.cgi?id=217906

Kernel: 6.5.7-arch1-1

If anyone has any information that might help, please share.

Please let me know if you want any more information.

4
  • so, what are you asking? ... if it's an ongoing issue, then people are already working on it
    – jsotola
    Commented Oct 13, 2023 at 2:37
  • @jsotola I'm asking if anyone with this laptop or similar has run into this issue and been able to fix it.
    – marc.soda
    Commented Oct 13, 2023 at 2:44
  • your post only describes the problem ... it does not ask any questions
    – jsotola
    Commented Oct 13, 2023 at 2:52
  • @jsotola How do I solve the problem that I described?
    – marc.soda
    Commented Oct 13, 2023 at 3:13

3 Answers 3

4

(I do not have enough reputation to comment, so writing here. Hope info is helpful, but it is not a solution, but rather my extensive investigation into the same issue)

Same problem here. I applied quirk patch, subwoofer did appear in alsa mixer, but still no sounds comes from subwoofers (down firing) but only from tweeters (up firing), while being total crap. Some more insights I managed to dig out:

  • It seems ALC298=ALC3281, since previous models' datasheets (9510, 9520, 9530)also specify ALC3281, even though its known fact its an ALC298.
  • Although codec is the same, 9530 got more powerful amplifier (10W/12W vs 8W/10W average/peak), specifically subwoofers amplifiers seems to be 3.5W vs 3W before. Not sure this should affect them working/not working, but ALC verbs will probably differ?
  • Here on bugzilla hypothesis (sort of proven?) is proposed that Dell applies high pass filter to 'protect the speakers' by default. If that's the case, only Windows Realtek driver knows how to 'bypass' it. That would explain why existing quirk indeed powers up woofers amps, and they get recognized, but no actual sounds comes from them.

To test some hypothesis wrt. to Dell potentially locking non Windows speakers support only to 'Ubuntu Certified' devices (aka Precision, the XPS sibling), I got in contact with Precision 5570 owner (shootout to answering my random email). Unfortunately, it seems that he experiences the same issue. For reference, he/she is running Arch with LTS 6.1 kernel, where 5570 has already patched quirk. This proves that 9530 is not the only model where quick does not do magic anymore. I finally also tried settings same ALC verbs on my machine (both via kernel patch and firmware loading), and even though settings were applied, nothing changed (unsurprisingly though, since it doesn't work on original machine either).

Some more things I tried, and did not work:

  • Applying patch to various kernel versions, from 6.2.X to 6.5.X. Result is same, woofer appears in alsa-mixer, but no sounds
  • Disabling Intel SDA driver - sounds card switched to analog in settings, but thats about it, no woofers.
  • Using same system that users on Reddit claimed to have success on - PopOS. Still nothing
  • That's interesting one - I got access to XPS 9510, which has quirk patched upstream, with multiple users (kernel merge, reddit etc) claiming it works - and...it does not. Running Ubuntu 22.04, Generic (i think 6.2?) kernel, subwoofer is visible in alsa-mixer as expected, but woofers are not working! => My only idea is that Dell indeed introduced above mentioned high pass to 'protect' speakers via BIOS update (since those set default ALC verbs), but this is just my (not fully educated) guess.

Some more things to try, which I couldn't just yet:

  • Install Dell's official Precision 5570 Ubuntu Image on XPS 9530 and/or on the actual Precision 5570. It runs OEM kernel which comes from Dell, and potentially they did their magic to make speakers actually work, since its certified with Ubuntu after all. Issue: just downloading Ubuntu image requires serial number of that machine purchased with that OS - If someone has 5570 with Ubuntu and could (privately) share Service Tag that would be a great start! Moreover, even if it does not work for XPS, does not mean it generally does not work, as Dell might've hard-coded system paths, which differ from one platform to another. Thus, ideally, need access to Precision 5570 (or 5560?) w/ Ubuntu user, who is willing to install OEM Ubuntu and screw around/let us screw around.
  • Get hands on Dell XPS 9510/9520/9530 that still has actually working subwoofers, and read out all alc verbs? If Dell indeed added 'protection' via BIOS update, on some early versions it should still work (as it did for all people who did kernel merges?).
  • Probably the most 'sure' way: as per this repo, idea is to run Windows in modified QEMU on Linux, while passing audio hardware completely to the VM (requires custom kernel patch). Realtek driver in Windows would then correctly handle the codec, and modified QEMU could intercept communication and create verb dumb. That could be then easily added to kernel patch, or just loaded as firmware overlay. Sadly, so far I have pretty hard time making it work (IOMMU group separation wont work even after kernel patch, couldn't find yet what I messed up). Moreover, its likely that this procedure would need to be done for each model, or at least for 9530/pre 9530 due to amplifier power difference.

To summarize, this is (fortunately) not only 9530 problem, and there are some hypothetical options to solve this, but unfortunately Dell didn't this one easy for us. I am passively working on last (QEMU based) option, and will update if I get any breakthrough.

EDIT: We made a breakthrough, speakers can now be fully fixed. There is still work required to make it upstream-worthy though. More info on github issue

2
  • 1
    Awesome, thanks so much for the info. It's very helpful. I would like to direct you to github.com/thesofproject/linux/issues/4624 I have access to a XPS15 9510 (where the subwoofers DO work) and an XPS15 9530 (where they don't work). They are both running the same kernel. I posted some dumps in the discussion that I linked which you may find valuable. Thanks again!
    – marc.soda
    Commented Oct 15, 2023 at 23:33
  • Thanks, thats very helpful. I will try some of the methods and update
    – alex.vin
    Commented Oct 17, 2023 at 8:36
2

There are some guys working on a solution for this. In fact currently you're able to make it work by patching your kernel. The changes are being worked to be proposed to mainline. You can follow the thread here:

https://github.com/thesofproject/linux/issues/4624

Also on discord:

https://discord.com/channels/1164868856012079126/1164872627236647003

For those in a hurry, here's a receipt to make it work:

# clone the firmware files
git clone --depth 1 https://github.com/alexVinarskis/dell-firmware.git
sudo cp -ri dell-firmware/cirrus/* /lib/firmware/cirrus/

# get patches
wget "https://github.com/thesofproject/linux/files/13613194/0001-ALSA-hda-cs35l41-Dell-Fiorano.txt"
wget "https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git/patch/?id=cd14dedf15be432066e63783c63d650f2800cd48" -O quirk.patch

# download kernel
wget "https://git.kernel.org/torvalds/t/linux-6.7-rc4.tar.gz"
tar zxf linux-6.7-rc4.tar.gz
cd linux-6.7-rc4/

# optionally copy your current kernel config
cp /boot/config-6.6.3 .config

# apply patches
git apply ../0001-ALSA-hda-cs35l41-Dell-Fiorano.txt
git apply ../quirk.patch

# optionally apply the patch suggested
# here: https://github.com/thesofproject/linux/issues/4624#issuecomment-1845026029
# until we find a better solution.

# configure kernel so that we update .config with new
# values eventually added upstream
make menuconfig
# choose Save -> confirm
# choose Exit

# compile kernel
make -j$(nproc)
# install everything
sudo make INSTALL_MOD_STRIP=1 modules_install -j$(nproc)
sudo make INSTALL_MOD_STRIP=1 install -j$(nproc)

6
  • It looks like the repo is no longer existent? github.com/alexVinarskis/dell-firmware.git
    – Ben Davis
    Commented Dec 23, 2023 at 17:27
  • 1
    According to this: discord.com/channels/1164868856012079126/1164872627236647003/… "Cirrus pushed firmware for 9530 🙂 github.com/CirrusLogic/linux-firmware/commit/…". So I think that git repo won't be necessary anymore, as long as you get an updated version of Linux firmware. Commented Dec 24, 2023 at 18:26
  • Hi, is this solution valid also for XPS 17 9730? I also noticed that sound is good on Windows but has no bass on Ubuntu Commented Feb 13 at 10:37
  • The issue you're having is probably related (unsupported hardware), but I'm not sure this exact patch will work for you. It depends on whether the hardware is the same or not. I'd give it a go into reading the discord.com thread to get some enlightenment. Commented Feb 21 at 17:54
  • @AlessandroRoaro Did you try the patch on the 9730? Would be curious to know if it worked, since I've also got an 9730 with the same issue. The audio controller on 9730 is ALC711-CG compared to ALC3281 on the 9530, so I'm not too sure if the patch would work.
    – vsimkus
    Commented Feb 24 at 17:58
0

Dell XPS 9530

Found a fix that worked amazing.

I have a Dell XPS 15 9530 like reported in this Dell forum post the subwoofers are not enabled on Linux because of a bug on Dell's side and result in weak sound and poor audio quality on the speakers.

OSS devs have worked on a fix that will correct the bug, the fix will be implemented in Linux kernel release 6.9,

UNTIL THEN : I had to this guide by alexVinarskis and create a custom Linux kernel. The guide provides different options for different versions of Linux, it worked for me using 6.8 sources.

DELL XPS 9520 & 9510

Those computers speakers should work with latest kernel release 6.8, so, try to update your distribution to the latest release.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .