为什么 Genymotion 坚持 OpenGL 支持而 Virtual Box 不支持,以及如何解决?
Why does Genymotion insist upon OpenGL support when Virtual Box doesn't, and how to work around?
我知道 Genymotion openGL error 堆栈溢出问题。
我正尝试在 Windows 10 系统上 运行 Genymotion,但图形适配器是英特尔 G45/G43 Express 芯片组 WDDM1.1 并且提供的 driver不支持 OpenGL,Intel 似乎没有兴趣提供 Windows 10 的 driver。我知道正式 不支持 。
但事情是这样的:我可以从 Virtual Box 启动一个 Genymotion VM,据我所知,它似乎(几乎)完美地工作。
当然,我没有看到图形有任何问题。
这必须使用一些(可能是 Virtual Box 提供的)OpenGL 软件实现。
但是,当我尝试从 Genymotion 控制台或 Android Studio 中的 Genymotion 按钮启动相同的 phone VM 时,我在链接中收到错误 dialog-box上面的问题。
我的问题是:为什么 Genymotion 坚持真实物理显示器支持 OpenGL driver?当然,如果只是出于质量原因(即:sub-optimal 用户体验)有没有办法禁用此检查?
这很重要的原因是 Android Studio 没有将启动的 Virtual Box phone VM 列为应用程序可以 运行 的地方。我怀疑当 Genymotion 运行 是一个 phone VM 时,他们设置了 Android Studio 集成需要的东西,只是 运行ning 来自 Virtual Box 不提供。
此外,我无法通过使用与 Genymotion 捆绑的 gmtool device install file.apk
命令部署到 phone VM 来规避 Android Studio 集成,因为这是付费许可功能。正如您想象的那样,当我知道我 运行 正在使用不受支持的配置时,我有点不愿意购买这样的许可证。
购买新硬件在短期内也不适合我。
编辑:这个问题的理由已经消失了。尽管我无法使用 Android Studio 或 gmtool.exe
进行部署,但我已成功通过使用 phone 网络浏览器获取 .apk
文件进行了部署。这里的陷阱是 Web 服务器必须提供 Content-Length
header 否则下载将失败。所以我现在有了一个可行的解决方案。
{{{ 安迪
我是 Genymotion 团队的一员。这是一个有趣的问题。答案是:是的,出于性能原因,我们需要 OpenGL 驱动程序。如果没有这个,整个 Android 渲染将由 CPU 处理(作为软渲染),它的速度不够快,无法真正使用设备,具有无缝的用户体验,特别是自 4.3 以来。如果您 运行 来自 VirtualBox 的 4.2.2 图像,您会在 window 中看到 UI,但渲染会很慢。
您可能已经注意到,运行从 VirtualBox 使用 Genymotion 设备仅适用于 4.2.2(3 年前发布)以下的图像。另一张图片将只显示一个控制台 window。老实说,您应该更多地将其视为副作用而不是真正的功能。由于任何原因,此行为可能会在未来的版本中消失。并且没有办法禁用此检查。
正如你所提到的,这种配置真的很奇怪而且很特别。据我所知,我们不打算支持此类配置,而且我没有看到任何真正可行的解决方案来使其正常工作。
另外,解释一下您在使用 Android Studio 时遇到的问题。当 Genymotion 设备启动时,它会获得一个本地 IP。此 IP 可用于将其连接到 adb。然后可以像与任何其他 Android 设备一样与设备交互。这是您的 IDE(以及 (m) 与 Android 设备通信的任何其他工具所使用的工具。
通常,Genymotion 应用会通过将新启动的设备连接到 adb 来为您完成此操作。但是你可以自己做运行宁adb connect <DEVICE_IP>:5555
。请小心,因为此连接不可能是永久性的,在某些情况下您必须定期 运行 此命令。
希望这个回答对您有所帮助。
干杯。
我知道 Genymotion openGL error 堆栈溢出问题。
我正尝试在 Windows 10 系统上 运行 Genymotion,但图形适配器是英特尔 G45/G43 Express 芯片组 WDDM1.1 并且提供的 driver不支持 OpenGL,Intel 似乎没有兴趣提供 Windows 10 的 driver。我知道正式 不支持 。
但事情是这样的:我可以从 Virtual Box 启动一个 Genymotion VM,据我所知,它似乎(几乎)完美地工作。 当然,我没有看到图形有任何问题。 这必须使用一些(可能是 Virtual Box 提供的)OpenGL 软件实现。
但是,当我尝试从 Genymotion 控制台或 Android Studio 中的 Genymotion 按钮启动相同的 phone VM 时,我在链接中收到错误 dialog-box上面的问题。
我的问题是:为什么 Genymotion 坚持真实物理显示器支持 OpenGL driver?当然,如果只是出于质量原因(即:sub-optimal 用户体验)有没有办法禁用此检查?
这很重要的原因是 Android Studio 没有将启动的 Virtual Box phone VM 列为应用程序可以 运行 的地方。我怀疑当 Genymotion 运行 是一个 phone VM 时,他们设置了 Android Studio 集成需要的东西,只是 运行ning 来自 Virtual Box 不提供。
此外,我无法通过使用与 Genymotion 捆绑的 gmtool device install file.apk
命令部署到 phone VM 来规避 Android Studio 集成,因为这是付费许可功能。正如您想象的那样,当我知道我 运行 正在使用不受支持的配置时,我有点不愿意购买这样的许可证。
购买新硬件在短期内也不适合我。
编辑:这个问题的理由已经消失了。尽管我无法使用 Android Studio 或 gmtool.exe
进行部署,但我已成功通过使用 phone 网络浏览器获取 .apk
文件进行了部署。这里的陷阱是 Web 服务器必须提供 Content-Length
header 否则下载将失败。所以我现在有了一个可行的解决方案。
{{{ 安迪
我是 Genymotion 团队的一员。这是一个有趣的问题。答案是:是的,出于性能原因,我们需要 OpenGL 驱动程序。如果没有这个,整个 Android 渲染将由 CPU 处理(作为软渲染),它的速度不够快,无法真正使用设备,具有无缝的用户体验,特别是自 4.3 以来。如果您 运行 来自 VirtualBox 的 4.2.2 图像,您会在 window 中看到 UI,但渲染会很慢。
您可能已经注意到,运行从 VirtualBox 使用 Genymotion 设备仅适用于 4.2.2(3 年前发布)以下的图像。另一张图片将只显示一个控制台 window。老实说,您应该更多地将其视为副作用而不是真正的功能。由于任何原因,此行为可能会在未来的版本中消失。并且没有办法禁用此检查。 正如你所提到的,这种配置真的很奇怪而且很特别。据我所知,我们不打算支持此类配置,而且我没有看到任何真正可行的解决方案来使其正常工作。
另外,解释一下您在使用 Android Studio 时遇到的问题。当 Genymotion 设备启动时,它会获得一个本地 IP。此 IP 可用于将其连接到 adb。然后可以像与任何其他 Android 设备一样与设备交互。这是您的 IDE(以及 (m) 与 Android 设备通信的任何其他工具所使用的工具。
通常,Genymotion 应用会通过将新启动的设备连接到 adb 来为您完成此操作。但是你可以自己做运行宁adb connect <DEVICE_IP>:5555
。请小心,因为此连接不可能是永久性的,在某些情况下您必须定期 运行 此命令。
希望这个回答对您有所帮助。 干杯。