我有一块装有 Qualcomm Snapdragon 210 (MSM8909) 的主板。它运行带有 Debian Stretch sysroot的股票内核 ( https://github.com/android-linux-stable/msm-3.18 )。我以mixer_paths.xml 文件为例,让声音正常工作(通过将DAI 前端路由到正确的后端),但我在使用Alsa 和特定程序时遇到了一些奇怪的问题。
例如,如果我想使用 nrsc5 项目(它使用 libao 进行声音输出),我收到此错误消息并且根本没有声音:
[ 6285.810132] msm_pcm_playback_copy: wait_event_timeout failed
mpd
(使用带有默认 hw:0,0 的 alsa)也会发生同样的情况。
但是,如果我使用mplayer
,它可以工作(我得到一些与 ctrl not found 相关的错误,但没什么大不了的,我最终没有音量控制)。如果我将 aplay 与波形文件一起使用,则相同。
我尝试将pulseaudio
alsa 安装和配置为默认源,它“工作”,但它像疯了一样下降(而且它根本不使用 CPU)。Mplayer 这么说
"Audio device got stuck!"
我正在使用的内核应该有一个高通发布的关于处理超时错误的补丁(我检查了这个)。
关于我收到的关于找不到 ctrl 的错误的快速说明:似乎驱动程序没有公开“子流运行时”或类似的东西。但是,我可以使用一些 amixer 命令修改音量(类似于 DragonBoard410c 中使用的命令,但根据 Mixer_paths.xml 进行了相应调整)
我不知道还能做什么,因为我想运行的某些应用程序无法正常运行,但它们应该运行。
谢谢!