我目前正在使用Virtual Box 5.2运行TempleOS v5.03。我不相信声音在起作用。当我用SHIFT+ 播放上帝歌曲时F6,或在自动存储塔下播放歌曲时,似乎没有声音。我的虚拟盒子中必须具有什么配置才能使声音正常工作?我的笔记本电脑没有PC扬声器。
我目前正在使用Virtual Box 5.2运行TempleOS v5.03。我不相信声音在起作用。当我用SHIFT+ 播放上帝歌曲时F6,或在自动存储塔下播放歌曲时,似乎没有声音。我的虚拟盒子中必须具有什么配置才能使声音正常工作?我的笔记本电脑没有PC扬声器。
Answers:
这仅适用于Linux。我的声卡恰好是snd_hda_intel
,该驱动程序实际上可以使用以下beep_mode
参数模拟PC扬声器本身:
beep_mode
:选择HDA蜂鸣声注册模式(0
= off,1
= on)(默认=1
)。(布尔数组)
而且默认情况下它是打开的。
您必须设置一次权限-将您自己添加到适当的组中。没有这个,您将在您的系统中收到这样的错误VBox.log
确保pcspkr
模块已加载lsmod | grep pcspkr
,如果看不到,请加载
sudo modprobe pcspkr
这将公开设备文件 /dev/input/by-path/platform-pcspkr-event-spkr
确保您的组可以写入上面(ls -lah
)公开的设备文件。在Ubuntu上,它归拥有input
,为此,您必须运行类似
usermod -aG input "$USER"
现在,注销并重新登录
groups
来验证您属于该正确的组,它将告诉您用户所在的组从现在开始,您只需要执行以下操作,
modprobe pcspkr
,您每次都必须这样做或pcskr
从黑名单中删除,以便将其添加到引导中。我只是在运行虚拟盒子之前运行它。如果您听不到任何声音,请运行xkbbell
或运行xterm
(我不会使用gnome-terminal或xfce-terminal或konqueror,因为它们可能会吞下它),printf "\a"
然后运行以下命令并重试
xset b 100
# or whatever the source control is for the beeper
amixer sset Beep 100%
对于最后一步,您需要从VirtualBox Advanced FAQ中启用PC Speaker直通功能,您可以使用完成此操作VBoxManage
。GUI尚无方法可完成此操作。
VBoxManage setextradata "VM name" "VBoxInternal/Devices/i8254/0/Config/PassthroughSpeaker" 100
从现在开始,您只需要遵循以下条件,
而已。现在,只需启动Virtual box并启动TempleOS。您应该可以播放上帝之歌。您不需要重新安装TempleOS。
我相信这只能通过以下两种方式之一来实现
如果主机操作系统可以虚拟化Virtual Box可以通过的PC Speaker。我相信PC扬声器可以与Linux上的Virtual Box一起使用。我还没有找到可以在主机上模拟PC Speaker并可以使用类似功能的东西beep
。如果可以使其正常运行,则应该执行类似的操作。从VirtualBox 高级常见问题解答
VBoxManage setextradata "VM name" "VBoxInternal/Devices/i8254/0/Config/PassthroughSpeaker" 100
我在Unix.SE上问了一个问题,Pulse Audio可以模拟虚拟PC扬声器吗?
如果Virtual Box可以模拟当前无法执行的PC扬声器,请使用afaik。
我认为没有解决方案或对此没有太多关注,因为即使是在PC扬声器上使用PWM的旧DOS系统中,对Sound Blaster的支持也无处不在,Virtual Box可以模拟与声霸兼容的设备。