按照官方的yocto打包的rock 5b固件默认是没有声音的,需要进行如下几个方面配置才能有声音
1.alsa权限问题,rock 5b的wayland实现weston程序进程的用户是weston,而默认情况下weston用户是没有读取
/dev/snd/目录权限的,需要给响应权限,执行如下命令修改/dev/snd的用户组权限为weston
chown weston:weston /dev/snd/* -R #注意这种方式是由问题的,如果其他普通用户也想拥有权限,那么就冲突了,这里只是暂时的解决方案。
2.配置开发板默认声音设备
先获取声卡设备列表
weston@rockchip-rk3588-rock-5b:~$ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: rockchiphdmi0 [rockchip-hdmi0], device 0: rockchip-hdmi0 i2s-hifi-0 [rockchip-hdmi0 i2s-hifi-0] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: rockchiphdmi1 [rockchip-hdmi1], device 0: rockchip-hdmi1 i2s-hifi-0 [rockchip-hdmi1 i2s-hifi-0] Subdevices: 1/1 Subdevice #0: subdevice #0 card 2: rockchiphdmi2 [rockchip-hdmi2], device 0: rockchip-hdmi2 spdif-hifi-0 [rockchip-hdmi2 spdif-hifi-0] Subdevices: 1/1 Subdevice #0: subdevice #0 card 3: rockchipes8316 [rockchip-es8316], device 0: dailink-multicodecs es8316.7-0011-0 [dailink-multicodecs es8316.7-0011-0] Subdevices: 1/1 Subdevice #0: subdevice #0
指定麦克风rockchipes8316作为默认声卡设备
针对全局配置: 在/etc目录下创建文件asound.conf 针对指定用户配置: 在用户目录下创建文件.asoundrc
root@rockchip-rk3588-rock-5b:~# cat /etc/asound.conf pcm.!default { type hw card 3 } ctl.!default { type hw card 3 }
通过alsamixer设置系统默认的音量
打开图形界面之后,按下键盘上的方向键即可设置音量。