2017年5月22日星期一

VMware+Ubuntu声卡失效事件

在公司和在家里,都用VMware各自安装了一台Ubuntu 14.04 LTS来玩。在家里的一台用得没有什么问题。在公司的那一台,周末打算加班的时候装个网易云音乐来听歌的时候,发现没有声音,才注意到VMware上有一条报错提示:
使用的设备标识号已超出本地系统范围。 声音将中断。
公司电脑上没有接音箱,所以以前曾经禁用过宿主机的Windows Audio服务。我以为是这个原因,去看了一下,Windows Audio服务现在是启用中。把宿主机重启过,故障依旧。于是循例开始Google。

Google上搜到的中文内容,主要分为两派。一派说把pulseaudio卸载了就好了。我半信半疑地apt-get remove pulseaudio之后,嘿,还真的可以播放出声音了。不过更大的问题来了:系统设置丢了好多图标。回想起apt-get提醒我说要卸载掉的东西有一大堆,看来依赖于pulseaudio的东西不少。这条路应该不是什么正路。真是还好VMware有快照。

另一派说把宿主机上的立体声混音设备启用,故障就解决了。附和的人不少,看来有不少人都是这种办法解决的。具体页面有很多,随随便便就能搜到,我就不给出了。然而当我按照附带截图的操作指南去做的时候,问题又来了:我根本没有立体声混音设备。

这是怎么回事?我这人也不习惯卖关子。要说还是英文信息有用。英文页面上也有少数几个人抱怨遇到与我同样的问题(中文页面上我没有看到过)。最后还是VMware官方社区给出了有用的解答

要简单解释一下的话,其实就是这么一回事:我这个宿主机上的Win7当初装起来之后,偷懒没有安装Realtek官方的声卡驱动程序,而是直接Windows Update安装了微软给出的驱动。估计微软的这个驱动是个阉割版,缺一些东西,装了之后虽然使用起来没什么问题,但像我这次遇到的什么立体声混音设备,大概就是被阉割掉的内容之一。所以VMware找不到指定的设备,于是就没法让Ubuntu中的声音设备正常工作了。

总之,按照VMware官方解答的指引,我去Realtek官网上下载并安装了声卡驱动,现在VMware里面的Ubuntu可以欢快地播放音乐了。