我有一台 Dell XPS 15 9570,它很棒,只是扬声器没有声音。奇怪的是,它在耳机中工作得很好!只是内置扬声器是问题所在。
我能找到的所有内容都报告了所有系统的运行情况。pavucontrol
看起来很棒:
pactl list sinks
没有显示任何对我来说很突出的东西:
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
我还研究了一个理论,即耳机插孔没有注册插头/拔出,但据我所知,它工作得很好。
无论如何,我很茫然。有任何想法吗?我正在使用Arch linux,并且我正在使用pulseaudio。
答案1
所以我思考我有这张票可以得到的最接近答案的东西,减去内核上游补丁。
对于足够新的机器来说,Linux 上的声音是通过一个名为 hd-audio 的内核模块运行的。高清音频使用各种编解码器来确定如何实际播放声音,如下所列:https://www.kernel.org/doc/html/v4.20/sound/hd-audio/models.html这里的要点是,高清音频的错误/问题往往是检测问题、适当编解码器中的实际错误或其某种组合。
我做了一些研究来找出戴尔 XPS 15 9570 拥有什么设备,通过访问戴尔的驱动程序页面,我发现它是 ALC3266 - 实际上已在信息中列出pactl list sinks
。
这导致了一个重要的见解,即该卡在过去存在略有不同的问题:具体来说,9550 和 9570 会存在一个问题,即插入耳机时声音会完全停止工作,并且声卡会报告“虚拟输出” “ 重新启动时(堆栈交换上的链接)。
如果仔细观察这个问题,有两点值得注意:
这让我得出这样的结论:驱动程序仍然有问题,而我真正能做的就是(除了学习如何成为一名内核黑客之外)在这个问题上添加我的两分钱并保持冷静。