我刚刚给自己组装了一台新电脑,配备了支持英特尔 Kaby Lake 处理器的全新主板。该主板有一个瑞昱 ALC1220 (S1220A)音频芯片组。安装 Linux Mint 18.1 后,我不幸地注意到声音不起作用。无论我尝试什么,根本没有检测到声卡。声音配置仅显示一个虚拟设备。
user@linux-mint ~ $ aplay -l
aplay: device_list:268: no soundcards found...
user@linux-mint ~ $ lspci -knn | grep -i -A4 Audio
00:1f.3 Audio device [0403]: Intel Corporation Device [8086:a2f0]
Subsystem: ASUSTeK Computer Inc. Device [1043:8723]
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
00:1f.4 SMBus [0c05]: Intel Corporation Device [8086:a2a3]
母板:华硕 ROG STRIX H270I 游戏
音频芯片组:ROG SupremeFX 8 通道高清音频编解码器 S1220A
Linux 发行版:Linux 薄荷 18.1
当前内核:4.11.6
我尝试了什么?
根据 https://bbs.archlinux.org/viewtopic.php?id=226579和Linux Mint 18.1 下的 Realtek S1220ALinux Kernel 4.11 中引入了对 S1220A 芯片组的支持。 Linux Mint 18.1 附带内核 4.4,但可以选择通过更新管理器升级到内核 4.9。然而,这样做并随后重新安装所有 ALSA 内容没有任何效果,仍然没有检测到音频设备。然后我决定使用 UKUU 安装内核 4.11.6。安装似乎已完成,没有错误,升级 GRUB 后,我的系统使用新内核启动 Mint:
user@linux-mint ~ $ uname -r
4.11.6-041106-generic
还有报道称有人让 ALC1220 音频芯片组在内核 4.9 上运行。
我还发现了一些提示,这可能与 UEFI 设置有关。作为这方面的非专家,我尝试在启动系统之前禁用 UEFI 和兼容性/遗留设置,但是这些似乎都没有任何效果。
有人知道如何使用该芯片组在 Linux Mint 上获得声音吗?
更新1:
dmesg | grep snd
返回以下内容:
[ 4.951807] snd_hda_intel 0000:00:1f.3: enabling device (0000 -> 0002)
[ 4.951966] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[ 5.079301] snd_hda_intel 0000:00:1f.3: CORB reset timeout#1, CORBRP = 0
[ 5.080811] snd_hda_intel 0000:00:1f.3: no codecs found!
更新2:
跟进 @dirkt 建议检查probe_mask
,我已经尝试过:
sudo modprobe -r snd_hda_intel
sudo modprobe snd_hda_intel probe_mask=0x1ff
然后检查dmesg
它看起来没有什么变化:
[ 374.653091] snd_hda_intel 0000:00:1f.3: codec_mask forced to 0xff
[ 374.653126] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[ 374.763149] snd_hda_intel 0000:00:1f.3: CORB reset timeout#1, CORBRP = 0
[ 374.764764] snd_hda_intel 0000:00:1f.3: no codecs found!
答案1
部分答案:
我看了看ALC 1220 补丁,它只是添加了与 ALC 882 相同的修复(很多编解码器都使用它)。
但你的问题似乎是与编解码器芯片的通信根本不起作用。这声卡驱动程序snd_hda_intel
加载,得到一个超时错误,但不是第二个,所以某物有效,但是找不到任何编解码器。因此它永远不会达到补丁相关的阶段。
想法:
1)查看BIOS中是否有声卡的设置。也许在这里改变一些东西将使编解码器通信正常工作。
2) 的高清音频.txt如果 BIOS 损坏,您可以强制探测:
在 BIOS 损坏的计算机上,有时您需要强制驱动程序探测硬件未报告使用的编解码器插槽。在这种情况下,请打开
probe_mask
选项的位 8 (0x100)。然后其余 8 位作为编解码器槽传递以无条件探测。例如,probe_mask=0x103
无论硬件报告什么,都将强制探测编解码器插槽 0 和 1。
所以尝试以root身份
modprobe -r snd_hda_intel
modprobe snd_hda_intel probe_mask=0x1ff
看看会发生什么dmesg
。
3) 如果没有任何帮助,请向 ALSA 开发人员提交错误,看看他们是否有任何想法。
答案2
我设法为我的设置解决了这个问题。
我有相同的芯片组,经过几个小时的绕圈(我应用了 Realtek 补丁,强制 alsa 驱动程序重新启动等,如其他地方提到的等等),我最终设法让我的声音正常工作。
我通过以下终端命令使用 alsamixer:
alsamixer
按 F6 选择“HD Audio Generic”(或与您的 Realtek 芯片对应的任何选项)。
在检查没有输入被静音(由 MM 指示并通过按“M”键进行调整)后,我最终使用向下箭头键将“自动静音”启用切换为禁用。突然,我的扬声器里响起了喷火战机的声音。