我在一台新机器上运行 OpenBSD/amd64 5.2 stable,使用千兆字节主板和 Realtek alc898 音频芯片组。当我尝试播放任何音频(源包括mpd
、aucat
和cat > /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
这会产生相同的研磨噪音,尽管常见问题解答指出这不应产生任何噪音。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
是否可以将编解码器更改为Intel/0x2806
?否则我还有什么可以尝试解决这个问题吗?任何建议,将不胜感激。
看来这个芯片组在linux上有问题,但是realtek升级驱动程序的解决方案对我没有帮助。
答案1
azalia 驱动程序不支持 Realtek alc898。但据我所知,它的行为类似于 alc882,受支持。因此编写补丁应该很容易。