华为KLVL-WXXW-PCB笔记本Ubuntu系统内置扬声器及耳机插孔无声音但HDMI输出正常的问题求助
大家好,我有一台华为KLVL-WXXW-PCB笔记本,装了Ubuntu 22.04.3 LTS和Windows双系统。最近遇到个棘手的问题:在Ubuntu环境下,内置扬声器和耳机插孔都完全没声音,调音量的时候只能看到Dummy Output(虚拟输出)选项,但用HDMI外接显示器的时候,声音输出是正常的。
因为Windows系统下内置扬声器工作完全正常,所以我肯定硬件本身没问题,应该是Linux内核里的snd_hda_intel驱动需要调整才能适配我的设备。
我已经提交了bug报告,但不想就这么干等,想自己尝试修复这个问题。我的情况和之前看到的一个案例类似,需要用到内核补丁,但我完全不知道怎么写出合适的补丁文件。
下面是我排查时得到的一些系统信息:
查看已识别的声卡:
$ cat /proc/asound/cards 0 [Generic ]: HDA-Intel - HD-Audio Generic HD-Audio Generic at 0xd03c0000 irq 64 1 [acp ]: acp - acp HUAWEI-KLVL_WXXW-M1010-KLVL_WXXW_PCB
从输出能看到笔记本有两个音频控制器(声卡)。只有声卡0检测到了HDA codec,也就是负责HDMI输出的那个,这也和我外接显示器时声音正常的情况对应。
分别查看两个声卡的目录内容:
$ ls /proc/asound/card0 codec#0 eld#0.0 eld#0.1 id pcm3p pcm7p
$ ls /proc/asound/card1 id pcm0c
我现在有点疑惑:会不会内置扬声器其实是连接在声卡1上的?
之前试过某个解决方案,但对我没用:把snd_acp3x_rn模块加入黑名单后,声卡1从/proc/asound/cards里消失了,但取消黑名单设置后它又回来了,而且声音问题还是没解决。
当前系统加载的音频模块:
$ cat /proc/asound/modules 0 snd_hda_intel 1 snd_acp3x_rn
另外补充一下,Windows系统自动把BIOS升级到了1.09版本(发布日期2023年6月20日),应该是目前最新的版本了。想问下有没有朋友试过在Linux上安装AMD的官方驱动来解决这类音频问题?
备注:内容来源于stack exchange,提问作者Jacek Blocki

