OpenBSD 5.2 上的 Realtek 音频问题

512*_*512 7 audio openbsd

我在一台新机器上运行稳定的 OpenBSD/amd64 5.2,使用带有 realtek alc898 音频芯片组的技嘉主板。当我尝试播放任何音频(来源包括mpdaucatcat > /dev/audio)时,我总是以系统播放的声音结束,与白噪声不太一样。我已经能够让系统在其他操作系统下播放音频,所以硬件没有问题。

遵循常见问题解答,audioctl并且mixerctl不会静音并且音量合理。按照调试说明给出以下内容:

$ cat > /dev/audio < /dev/zero &
[1] 19598
$ audioctl play.{seek,samples,errors}
play.seek=48000
play.samples=3350400
play.errors=0
$ audioctl play.{seek,samples,errors} 
play.seek=48000
play.samples=3696000
play.errors=0
$ audioctl play.{seek,samples,errors} 
play.seek=48000
play.samples=3984000
play.errors=0
$ kill %1
$ fg %1   
cat > /dev/audio < /dev/zero 
Terminated
Run Code Online (Sandbox Code Playgroud)

这会产生相同的研磨噪音,即使常见问题解答指出这不应产生任何噪音。cat /dev/urandom > /dev/audio产生相同的结果。

在 中查找相关信息dmesg,我发现了以下内容:

$ dmesg | grep -i audio
azalia0 at pci0 dev 27 function 0 "Intel 7 Series HD Audio" rev 0x04: msi
audio0 at azalia0
azalia0 at pci0 dev 27 function 0 "Intel 7 Series HD Audio" rev 0x04: msi
audio0 at azalia0
$ dmesg | grep -i realtek
azalia0: codecs: Realtek/0x0899, Intel/0x2806, using Realtek/0x0899
azalia0: codecs: Realtek/0x0899, Intel/0x2806, using Realtek/0x0899
Run Code Online (Sandbox Code Playgroud)

是否可以将编解码器更改为Intel/0x2806?否则还有什么我可以尝试解决问题的吗?任何建议,将不胜感激。

这个芯片组在linux上似乎有问题,但是realtek升级驱动的解决方案对我没有帮助。

小智 1

azalia 驱动程序不支持 Realtek alc898。但据我所知,它的行为类似于 alc882,受支持。因此编写补丁应该很容易。