Linux 音频刺耳怎么解决?

我是题主,谢谢各位的回答。

现在问题已经解决了,想看解决方案的可以往下翻一下。

或者我过几天会出一篇文章,想看的可以先关注我,写完文章再取关也行。我不是为了骗关注

下面是原回答:

目前锁定了问题:笔记本是4个扬声器,分为两个高音扬声器和两个低音扬声器,问题在于低音扬声器不工作而导致的音频刺耳。这大概是因为机型比较新,而内核没有做适配导致的,而且联想官方也不会给 Linux 写驱动,得用户自己写。

我的声卡型号是 Realtek ALC 3306,但系统认成了 Realtek ALC 287,并且没有打这种机型的补丁。现在打算查查资料然后自己做适配,给内核打上补丁之后再试。

2月17日更新:

现在低音扬声器工作了,我的解决方案是这个链接,对你的设备可能有风险,提前自知。

注意:我安装了之后,音量为0听不到声音,音量为1声音就变成最大了,所以如果设置更高音量可能会损坏设备,建议提前了解风险。

如果有解决方案我会更新的。

2月18日更新:

音量设置为1就变成最大了可能是因为我没有看到 README 里的 Step 9 吧……(不过还没试)

2月19日更新:(显示20日是因为昨天打了草稿没发)

Step 9也做了,但是音量到7左右就是最大了。感觉应该是两个配置 文件的问题。另外虽然两个低音扬声器工作了,但效果仍然不是很好,跟老式收音机似的。

接下来打算自己提取固件,然后研究一下补丁代码自己写补丁。

2月21日更新:

使用补丁之后高音扬声器又不工作了,所以可能还得写一些驱动。接下来打算去kernel.org看看,如果有就跟进一下,没有就开一个,然后准备打补丁

2月24日更新:

在没怎么写驱动的情况下可以将就用,AI 告诉我这种2高音扬声器+2低音扬声器属于Hi-Fi,而不是模拟环绕。但目前来看只能使用模拟环绕4.0,因为如果选择Hi-Fi,不管打没打现有补丁,高音扬声器都不工作。

如果从模拟环绕4.0的角度看,硬件层面已经解决了,使用 mpv 独占音频播放没有问题了,但是软件层面可能还有一些问题。不过需要对现有补丁进行一下小更改

使用模拟环绕4.0的方法:

首先需要获取你 DMI 的 Product Name:

cat /sys/class/dmi/id/product_name

我的是83F4,笔记本厂商把扬声器左右顺序接反了,所以需要手动调整。patch里有作调整,不过你需要检查一下是否对应你的Product Name,把83F5改成你自己的或者在后面加一个或判断。不过如果你感觉没有接反,那么就不需要添加。

之后指定内核参数snd_intel_dspcfg.dsp_driver=1,强制使用传统模式

最后编译内核,安装。具体可以参考内核/传统编译 - Arch Linux 中文维基 。如果/boot分区空间不够,可以使用 Ubuntu ISO 里的 GParted 调整一下分区,一定不要删除原来的内核

之后在 Pulse Audio 音量控制里选择模拟环绕4.0,然后在 KDE 系统设置里听一下。最后配置一下 Pulse Audio 就行

不过我还没配置,过几天再说怎么配置

2月25日更新:

昨天已经配置好了,我的方案是再在 PipeWire 创建一个虚拟设备,创建 /etc/pipewire/11-virtual-device.conf

context.modules = [
    {
        name = libpipewire-module-loopback
        args = {
            audio.position = [ FL FR ]
            capture.props = {
                media.class = "Audio/Sink"
                node.name = "loopback-sink"
                node.description = "Loopback Virtual Sink"
                # Make it selectable in desktop audio controls
                device.description = "Loopback Virtual Sink"
                device.class = "sound"
                device.icon-name = "audio-card"
                node.virtual = false
            }
            playback.props = {
                # 你的节点名称,可以通过 pw-link -i 获取
                node.name = "alsa_output.pci-0000_80_1f.3.analog-surround-40"
                node.passive = true
                channelmix.upmix = true
                channelmix.upmix-method = "simple" # 也可以选 psd,具体去看文档
            }
        }
    }
]

这样就会把这个新的虚拟设备发出的声音串到物理设备上。这个虚拟设备输入是2声道,输出是4声道。

然后在KDE系统设置或者PulseAudio音量控制里把物理设备的音量调到100%,然后把默认设备选为虚拟设备就行了。效果和 Windows 已经没两样了。

参考链接:


Problems with audio driver ALC3306 in a Legion Pro 7 Gen 10 and other similar Lenovo laptops


记一次内核之旅--修复板载声卡前置放大器驱动

编辑于 2026-02-25 · 著作权归作者所有
相关文章
大家都在电脑上安装了openclaw了吗?求助ubuntu和windows11双系统为什么蓝屏?统信系统上可以兼容Windows系统的应用吗?为什么一些人连windows的原理和概念都不懂就生搬硬套手机平板的单可见分区方案,还认为这就是先进?CardputerZero:可以装在口袋里的树莓派 Linux 电脑!Zorin OS 18 突然爆火!最像 Windows 的轻量级 Linux 系统,流畅到惊讶!(3分钟上手) | 零度解说ROG Ally X 新手指南:BazziteOS 安装与优化旧笔记本想换linux系统,有推荐的版本吗?现在的操作系统已经由原来的32位主流变成了64位,那什么时候128位系统会成为主流?为了学习linux,我装了双系统,给了ubuntu 30G空间,为什么我一看是loop而不是sda?复刻 macOS 体验:用 TapCaps 让Windows CapsLock 一键切换输入语言长续航轻薄linux本选哪个?win11/ubuntu 22.04 双系统安装现在的操作系统已经由原来的32位主流变成了64位,那什么时候128位系统会成为主流?高中毕业要换新电脑了,装linux然后kvm跑windows虚拟机有没有搞头?听说linux对不同硬件的兼容性很强,那么怎么把linux安装到电风扇上?长续航轻薄linux本选哪个?现在的操作系统已经由原来的32位主流变成了64位,那什么时候128位系统会成为主流?有哪个Linux操作系统推荐?现在的操作系统已经由原来的32位主流变成了64位,那什么时候128位系统会成为主流?