为什么Genymotion坚持支持OpenGL,而Virtual Box不支持,以及如何解决?



我知道Genymotion openGL错误堆栈溢出问题。

我正在尝试在Windows 10

系统上运行Genymotion,但图形适配器是Intel G45/G43 Express Chipset WDDM1.1,并且提供的驱动程序不支持OpenGL,英特尔似乎没有兴趣提供适用于Windows 10的驱动程序。我知道官方不支持这种组合。

但事情是这样的:我可以从Virtual Box启动一个Genymotion VM,据我所知,它似乎(几乎)完美地工作。当然,我认为图形没有任何问题。这必须使用OpenGL的一些(可能是Virtual Box提供的)软件实现。

但是,当我尝试从Genymotion控制台或Android Studio中的Genymotion按钮启动相同的手机虚拟机时,我在上面的链接问题中收到错误对话框。

我的问题是:为什么Genymotion坚持真正的物理显示驱动程序支持OpenGL?当然,如果只是出于质量原因(即:否则用户体验欠佳),有没有办法禁用此检查

这很重要的原因是Android Studio没有将Virtual Box启动的手机虚拟机列为可以运行应用程序的地方。我怀疑当Genymotion运行手机虚拟机时,他们设置了Android Studio集成需要的东西,而仅仅从Virtual Box运行并不能提供。

此外,我无法使用与Genymotion捆绑的gmtool device install file.apk命令部署到手机虚拟机来绕过Android Studio集成,因为这是一项付费许可证功能。您可以想象,当我知道我在不受支持的配置中运行时,我有点不愿意购买这样的许可证。

在短期内,购买新硬件对我来说也不是一个选择。

编辑:这个问题的理由已经消失了。虽然我无法使用 Android Studio 或 gmtool.exe 进行部署,但我设法通过使用手机网络浏览器获取.apk文件进行部署。这里的问题是 Web 服务器必须提供Content-Length标头,否则下载将失败。所以我现在有一个可行的解决方案。

{{

{ 安迪

我是Genymotion团队的一员。这是一个有趣的问题。答案是:是的,出于性能原因,我们要求OpenGL驱动程序。如果没有这个,整个Android渲染将由CPU处理(作为软渲染),这不够快,无法允许设备的实际使用,具有无缝的用户体验,特别是从4.3开始。如果您从 VirtualBox 运行 4.2.2 图像,您将在窗口中看到 UI,但渲染将非常滞后。

您可能已经注意到,从VirtualBox运行Genymotion设备仅适用于4.2.2(3年前发布)的映像。另一个图像将仅显示控制台窗口。老实说,您应该更多地将其视为副作用而不是实际功能。出于任何原因,此行为可能会在未来版本中消失。并且无法禁用此检查。正如你提到的,这种配置真的很奇怪和特殊。据我所知,我们不打算支持这种配置,也没有看到任何真正可行的解决方案来使其正常工作。

另外,解释您在Android Studio中遇到的问题。当 Genymotion 设备启动时,它会获得一个本地 IP。此 IP 可用于将其连接到 adb。然后可以像与任何其他Android设备一样与设备进行交互。这是您的IDE(以及(m)与Android设备通信的任何其他工具使用的工具。

通常,Genymotion 应用程序通过将新启动的设备连接到 adb 来为您执行此操作。但是您可以通过运行adb connect <DEVICE_IP>:5555来自己完成。请注意,此连接不是永久性的,在某些情况下,您应该定期运行此命令。

我希望这个答案会有所帮助。干杯。

最新更新