TransWikia.com

Sound on Dell XPS 9570 only works on headphones

Unix & Linux Asked by Josh Holbrook on November 21, 2021

I have a Dell XPS 15 9570 and it’s great, except that no sound comes out of the speakers. Weirdly enough it works just fine out of headphones! Just the built-in speakers are the problem.

Everything I can find reports all systems go. pavucontrol looks great:

All my apps report working sound in pavucontrol

The Output Devices panel in pavucontrol also shows sound working

pactl list sinks doesn’t show anything that stands out to me:

Sink #0
State: RUNNING
Name: alsa_output.pci-0000_00_1f.3.analog-stereo
Description: Built-in Audio Analog Stereo
Driver: module-alsa-card.c
Sample Specification: s16le 2ch 44100Hz
Channel Map: front-left,front-right
Owner Module: 6
Mute: no
Volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
        balance 0.00
Base Volume: 65536 / 100% / 0.00 dB
Monitor Source: alsa_output.pci-0000_00_1f.3.analog-stereo.monitor
Latency: 22200 usec, configured 25000 usec
Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY 
Properties:
    alsa.resolution_bits = "16"
    device.api = "alsa"
    device.class = "sound"
    alsa.class = "generic"
    alsa.subclass = "generic-mix"
    alsa.name = "ALC3266 Analog"
    alsa.id = "ALC3266 Analog"
    alsa.subdevice = "0"
    alsa.subdevice_name = "subdevice #0"
    alsa.device = "0"
    alsa.card = "0"
    alsa.card_name = "HDA Intel PCH"
    alsa.long_card_name = "HDA Intel PCH at 0xed618000 irq 146"
    alsa.driver_name = "snd_hda_intel"
    device.bus_path = "pci-0000:00:1f.3"
    sysfs.path = "/devices/pci0000:00/0000:00:1f.3/sound/card0"
    device.bus = "pci"
    device.vendor.id = "8086"
    device.vendor.name = "Intel Corporation"
    device.product.id = "a348"
    device.product.name = "Cannon Lake PCH cAVS"
    device.form_factor = "internal"
    device.string = "front:0"
    device.buffering.buffer_size = "352800"
    device.buffering.fragment_size = "176400"
    device.access_mode = "mmap+timer"
    device.profile.name = "analog-stereo"
    device.profile.description = "Analog Stereo"
    device.description = "Built-in Audio Analog Stereo"
    alsa.mixer_name = "Realtek ALC3266"
    alsa.components = "HDA:10ec0298,1028087c,00100103 HDA:8086280b,80860101,00100000"
    module-udev-detect.discovered = "1"
    device.icon_name = "audio-card-pci"
Ports:
    analog-output-speaker: Speakers (priority: 10000)
    analog-output-headphones: Headphones (priority: 9000, not available)
Active Port: analog-output-speaker
Formats:
    pcm

I also looked into a theory that the headphone jack wasn’t registering plugs/unplugs, but as far as I can tell that’s working just fine.

Anyway, I’m at a loss. Any ideas? I’m using Arch linux,and I’m using pulseaudio.

One Answer

So I think I have the closest thing this ticket can get to an answer, minus kernel upstream patches.

Sound on linux for sufficiently new machines operates through a kernel module called hd-audio. hd-audio uses various codecs to figure out how to actually play sound, which are listed here: https://www.kernel.org/doc/html/v4.20/sound/hd-audio/models.html The takeaway here is that bugs/issues with hd-audio tend to either be detection issues, actual bugs in the appropriate codec, or some combination thereof.

I did some research to figure out what device the Dell XPS 15 9570 has, and by going to Dell's drivers page I was able to find that it's an ALC3266 - which is listed in the information in pactl list sinks actually.

This leads to the important insight that this card has had slightly different issues in the past: Specifically, the 9550 and the 9570 would have an issue where the sound would stop working completely when headphones were plugged in and the sound card would report "dummy output" on reboot (link on stackexchange).

If you look closely at this issue, there are two things worth noting:

  1. One particular issue, probably the "dummy output" issue, was reportedly fixed in November, as can be seen in the stackexchange link as well as the patch linked therein.
  2. The kernel ticket is still open.

This leads me to the conclusion that the driver is still buggy, and that all I can really do (besides learning how to be a kernel hacker) is add my two cents to the issue and sit tight.

Answered by Josh Holbrook on November 21, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP